From owner-svn-src-all@freebsd.org Sun Aug 16 02:04:36 2020 Return-Path: Delivered-To: svn-src-all@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 60A603ADDC9; Sun, 16 Aug 2020 02:04:36 +0000 (UTC) (envelope-from eugen@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 4BTgTw1wqZz3Vx0; Sun, 16 Aug 2020 02:04:36 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2580A8AE2; Sun, 16 Aug 2020 02:04:36 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07G24aDw067580; Sun, 16 Aug 2020 02:04:36 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07G24axg067579; Sun, 16 Aug 2020 02:04:36 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <202008160204.07G24axg067579@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Sun, 16 Aug 2020 02:04:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364265 - stable/12/sbin/ifconfig X-SVN-Group: stable-12 X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: stable/12/sbin/ifconfig X-SVN-Commit-Revision: 364265 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 02:04:36 -0000 Author: eugen Date: Sun Aug 16 02:04:35 2020 New Revision: 364265 URL: https://svnweb.freebsd.org/changeset/base/364265 Log: MFC r364186: ifconfig(8): plug memory leak Modified: stable/12/sbin/ifconfig/ifconfig.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/ifconfig/ifconfig.c ============================================================================== --- stable/12/sbin/ifconfig/ifconfig.c Sat Aug 15 22:59:44 2020 (r364264) +++ stable/12/sbin/ifconfig/ifconfig.c Sun Aug 16 02:04:35 2020 (r364265) @@ -748,6 +748,7 @@ group_member(const char *ifname, const char *match, co if (nomatch) nomatched &= fnmatch(nomatch, ifg->ifgrq_group, 0); } + free(ifgr.ifgr_groups); if (match && !nomatch) return (matched); From owner-svn-src-all@freebsd.org Sun Aug 16 02:05:19 2020 Return-Path: Delivered-To: svn-src-all@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 774953ADE64; Sun, 16 Aug 2020 02:05:19 +0000 (UTC) (envelope-from eugen@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 4BTgVl2Z2Wz3WBJ; Sun, 16 Aug 2020 02:05:19 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3B5EC89FD; Sun, 16 Aug 2020 02:05:19 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07G25Jsj067671; Sun, 16 Aug 2020 02:05:19 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07G25J3P067670; Sun, 16 Aug 2020 02:05:19 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <202008160205.07G25J3P067670@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Sun, 16 Aug 2020 02:05:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r364266 - stable/11/sbin/ifconfig X-SVN-Group: stable-11 X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: stable/11/sbin/ifconfig X-SVN-Commit-Revision: 364266 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 02:05:19 -0000 Author: eugen Date: Sun Aug 16 02:05:18 2020 New Revision: 364266 URL: https://svnweb.freebsd.org/changeset/base/364266 Log: MFC r364186: ifconfig(8): plug memory leak Modified: stable/11/sbin/ifconfig/ifconfig.c Modified: stable/11/sbin/ifconfig/ifconfig.c ============================================================================== --- stable/11/sbin/ifconfig/ifconfig.c Sun Aug 16 02:04:35 2020 (r364265) +++ stable/11/sbin/ifconfig/ifconfig.c Sun Aug 16 02:05:18 2020 (r364266) @@ -714,6 +714,7 @@ group_member(const char *ifname, const char *match, co if (nomatch) nomatched &= fnmatch(nomatch, ifg->ifgrq_group, 0); } + free(ifgr.ifgr_groups); if (match && !nomatch) return (matched); From owner-svn-src-all@freebsd.org Sun Aug 16 11:37:29 2020 Return-Path: Delivered-To: svn-src-all@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 8034A3B8BFF; Sun, 16 Aug 2020 11:37:29 +0000 (UTC) (envelope-from eugen@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 4BTwBx2xLyz4FS4; Sun, 16 Aug 2020 11:37:29 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 487D6F816; Sun, 16 Aug 2020 11:37:29 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GBbTPr019412; Sun, 16 Aug 2020 11:37:29 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GBbTOu019411; Sun, 16 Aug 2020 11:37:29 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <202008161137.07GBbTOu019411@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Sun, 16 Aug 2020 11:37:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364267 - head/sys/modules/nvd X-SVN-Group: head X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: head/sys/modules/nvd X-SVN-Commit-Revision: 364267 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 11:37:29 -0000 Author: eugen Date: Sun Aug 16 11:37:28 2020 New Revision: 364267 URL: https://svnweb.freebsd.org/changeset/base/364267 Log: Unbreak nvd(8) build as module outside of kernel build environment. Modified: head/sys/modules/nvd/Makefile Modified: head/sys/modules/nvd/Makefile ============================================================================== --- head/sys/modules/nvd/Makefile Sun Aug 16 02:05:18 2020 (r364266) +++ head/sys/modules/nvd/Makefile Sun Aug 16 11:37:28 2020 (r364267) @@ -3,6 +3,6 @@ .PATH: ${SRCTOP}/sys/dev/nvd KMOD= nvd -SRCS= nvd.c opt_geom.h device_if.h bus_if.h +SRCS= nvd.c opt_geom.h device_if.h bus_if.h pci_if.h .include From owner-svn-src-all@freebsd.org Sun Aug 16 11:50:39 2020 Return-Path: Delivered-To: svn-src-all@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 153403B9056; Sun, 16 Aug 2020 11:50:39 +0000 (UTC) (envelope-from tuexen@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 4BTwV66sz9z4Fwx; Sun, 16 Aug 2020 11:50:38 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D0ACDF47F; Sun, 16 Aug 2020 11:50:38 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GBocFo025895; Sun, 16 Aug 2020 11:50:38 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GBob8r025885; Sun, 16 Aug 2020 11:50:37 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202008161150.07GBob8r025885@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sun, 16 Aug 2020 11:50:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364268 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 364268 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 11:50:39 -0000 Author: tuexen Date: Sun Aug 16 11:50:37 2020 New Revision: 364268 URL: https://svnweb.freebsd.org/changeset/base/364268 Log: Improve the handling of concurrent send() calls for SCTP sockets, especially when having the explicit EOR mode enabled. Reported by: Megan2013678@protonmail.com Reported by: syzbot+bc02585076c3cc977f9b@syzkaller.appspotmail.com MFC after: 3 days Modified: head/sys/netinet/sctp_input.c head/sys/netinet/sctp_output.c head/sys/netinet/sctp_pcb.c head/sys/netinet/sctp_structs.h head/sys/netinet/sctp_usrreq.c head/sys/netinet/sctputil.c head/sys/netinet/sctputil.h Modified: head/sys/netinet/sctp_input.c ============================================================================== --- head/sys/netinet/sctp_input.c Sun Aug 16 11:37:28 2020 (r364267) +++ head/sys/netinet/sctp_input.c Sun Aug 16 11:50:37 2020 (r364268) @@ -829,7 +829,6 @@ sctp_handle_abort(struct sctp_abort_chunk *abort, #ifdef SCTP_ASOCLOG_OF_TSNS sctp_print_out_track_log(stcb); #endif - SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED); (void)sctp_free_assoc(stcb->sctp_ep, stcb, SCTP_NORMAL_PROC, SCTP_FROM_SCTP_INPUT + SCTP_LOC_8); SCTPDBG(SCTP_DEBUG_INPUT2, "sctp_handle_abort: finished\n"); @@ -1866,7 +1865,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphle /* send up all the data */ SCTP_TCB_SEND_LOCK(stcb); - sctp_report_all_outbound(stcb, 0, 1, SCTP_SO_LOCKED); + sctp_report_all_outbound(stcb, 0, SCTP_SO_LOCKED); for (i = 0; i < stcb->asoc.streamoutcnt; i++) { stcb->asoc.strmout[i].chunks_on_queues = 0; #if defined(SCTP_DETAILED_STR_STATS) Modified: head/sys/netinet/sctp_output.c ============================================================================== --- head/sys/netinet/sctp_output.c Sun Aug 16 11:37:28 2020 (r364267) +++ head/sys/netinet/sctp_output.c Sun Aug 16 11:50:37 2020 (r364268) @@ -13148,12 +13148,21 @@ skip_preblock: if (sinfo_flags & SCTP_UNORDERED) { SCTP_STAT_INCR(sctps_sends_with_unord); } + sp->processing = 1; TAILQ_INSERT_TAIL(&strm->outqueue, sp, next); stcb->asoc.ss_functions.sctp_ss_add_to_stream(stcb, asoc, strm, sp, 1); SCTP_TCB_SEND_UNLOCK(stcb); } else { SCTP_TCB_SEND_LOCK(stcb); sp = TAILQ_LAST(&strm->outqueue, sctp_streamhead); + if (sp->processing) { + SCTP_TCB_SEND_UNLOCK(stcb); + SCTP_LTRACE_ERR_RET(inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EINVAL); + error = EINVAL; + goto out; + } else { + sp->processing = 1; + } SCTP_TCB_SEND_UNLOCK(stcb); if (sp == NULL) { /* ???? Huh ??? last msg is gone */ @@ -13195,13 +13204,14 @@ skip_preblock: } /* Update the mbuf and count */ SCTP_TCB_SEND_LOCK(stcb); - if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) { + if ((stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) || + (stcb->asoc.state & SCTP_STATE_WAS_ABORTED)) { /* * we need to get out. Peer probably * aborted. */ sctp_m_freem(mm); - if (stcb->asoc.state & SCTP_PCB_FLAGS_WAS_ABORTED) { + if (stcb->asoc.state & SCTP_STATE_WAS_ABORTED) { SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ECONNRESET); error = ECONNRESET; } @@ -13405,7 +13415,8 @@ skip_preblock: } } SCTP_TCB_SEND_LOCK(stcb); - if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) { + if ((stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) || + (stcb->asoc.state & SCTP_STATE_WAS_ABORTED)) { SCTP_TCB_SEND_UNLOCK(stcb); goto out_unlocked; } @@ -13421,6 +13432,7 @@ skip_preblock: strm->last_msg_incomplete = 0; asoc->stream_locked = 0; } + sp->processing = 0; } else { SCTP_PRINTF("Huh no sp TSNH?\n"); strm->last_msg_incomplete = 0; Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Sun Aug 16 11:37:28 2020 (r364267) +++ head/sys/netinet/sctp_pcb.c Sun Aug 16 11:50:37 2020 (r364268) @@ -4733,6 +4733,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc /* there is no asoc, really TSNH :-0 */ return (1); } + SCTP_TCB_SEND_LOCK(stcb); if (stcb->asoc.alternate) { sctp_free_remote_addr(stcb->asoc.alternate); stcb->asoc.alternate = NULL; @@ -4767,6 +4768,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc /* nope, reader or writer in the way */ sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL); /* no asoc destroyed */ + SCTP_TCB_SEND_UNLOCK(stcb); SCTP_TCB_UNLOCK(stcb); #ifdef SCTP_LOG_CLOSING sctp_log_closing(inp, stcb, 8); @@ -4835,6 +4837,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc SCTP_CLEAR_SUBSTATE(stcb, SCTP_STATE_IN_ACCEPT_QUEUE); sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL); } + SCTP_TCB_SEND_UNLOCK(stcb); SCTP_TCB_UNLOCK(stcb); if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE)) @@ -4868,10 +4871,12 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc if (from_inpcbfree == SCTP_NORMAL_PROC) { atomic_add_int(&stcb->asoc.refcnt, 1); + SCTP_TCB_SEND_UNLOCK(stcb); SCTP_TCB_UNLOCK(stcb); SCTP_INP_INFO_WLOCK(); SCTP_INP_WLOCK(inp); SCTP_TCB_LOCK(stcb); + SCTP_TCB_SEND_LOCK(stcb); } /* Double check the GONE flag */ if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || @@ -4919,6 +4924,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc SCTP_INP_INFO_WUNLOCK(); SCTP_INP_WUNLOCK(inp); } + SCTP_TCB_SEND_UNLOCK(stcb); SCTP_TCB_UNLOCK(stcb); return (0); } @@ -4950,7 +4956,6 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc * in case. */ /* anything on the wheel needs to be removed */ - SCTP_TCB_SEND_LOCK(stcb); for (i = 0; i < asoc->streamoutcnt; i++) { struct sctp_stream_out *outs; @@ -4981,7 +4986,6 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc sctp_free_a_strmoq(stcb, sp, SCTP_SO_LOCKED); } } - SCTP_TCB_SEND_UNLOCK(stcb); /* sa_ignore FREED_MEMORY */ TAILQ_FOREACH_SAFE(strrst, &asoc->resetHead, next_resp, nstrrst) { TAILQ_REMOVE(&asoc->resetHead, strrst, next_resp); @@ -5183,6 +5187,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc /* Insert new items here :> */ /* Get rid of LOCK */ + SCTP_TCB_SEND_UNLOCK(stcb); SCTP_TCB_UNLOCK(stcb); SCTP_TCB_LOCK_DESTROY(stcb); SCTP_TCB_SEND_LOCK_DESTROY(stcb); Modified: head/sys/netinet/sctp_structs.h ============================================================================== --- head/sys/netinet/sctp_structs.h Sun Aug 16 11:37:28 2020 (r364267) +++ head/sys/netinet/sctp_structs.h Sun Aug 16 11:50:37 2020 (r364268) @@ -534,6 +534,7 @@ struct sctp_stream_queue_pending { uint8_t sender_all_done; uint8_t put_last_out; uint8_t discard_rest; + uint8_t processing; }; /* Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Sun Aug 16 11:37:28 2020 (r364267) +++ head/sys/netinet/sctp_usrreq.c Sun Aug 16 11:50:37 2020 (r364268) @@ -190,6 +190,7 @@ sctp_notify(struct sctp_inpcb *inp, } else if ((icmp_code == ICMP_UNREACH_PROTOCOL) || (icmp_code == ICMP_UNREACH_PORT)) { /* Treat it like an ABORT. */ + SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED); sctp_abort_notification(stcb, 1, 0, NULL, SCTP_SO_NOT_LOCKED); (void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC, SCTP_FROM_SCTP_USRREQ + SCTP_LOC_2); Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Sun Aug 16 11:37:28 2020 (r364267) +++ head/sys/netinet/sctputil.c Sun Aug 16 11:50:37 2020 (r364268) @@ -4239,7 +4239,7 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb } void -sctp_report_all_outbound(struct sctp_tcb *stcb, uint16_t error, int holds_lock, int so_locked) +sctp_report_all_outbound(struct sctp_tcb *stcb, uint16_t error, int so_locked) { struct sctp_association *asoc; struct sctp_stream_out *outs; @@ -4261,9 +4261,6 @@ sctp_report_all_outbound(struct sctp_tcb *stcb, uint16 return; } /* now through all the gunk freeing chunks */ - if (holds_lock == 0) { - SCTP_TCB_SEND_LOCK(stcb); - } /* sent queue SHOULD be empty */ TAILQ_FOREACH_SAFE(chk, &asoc->sent_queue, sctp_next, nchk) { TAILQ_REMOVE(&asoc->sent_queue, chk, sctp_next); @@ -4340,10 +4337,6 @@ sctp_report_all_outbound(struct sctp_tcb *stcb, uint16 /* sa_ignore FREED_MEMORY */ } } - - if (holds_lock == 0) { - SCTP_TCB_SEND_UNLOCK(stcb); - } } void @@ -4363,8 +4356,11 @@ sctp_abort_notification(struct sctp_tcb *stcb, uint8_t (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) { return; } + SCTP_TCB_SEND_LOCK(stcb); + SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED); /* Tell them we lost the asoc */ - sctp_report_all_outbound(stcb, error, 0, so_locked); + sctp_report_all_outbound(stcb, error, so_locked); + SCTP_TCB_SEND_UNLOCK(stcb); if (from_peer) { sctp_ulp_notify(SCTP_NOTIFY_ASSOC_REM_ABORTED, stcb, error, abort, so_locked); } else { @@ -4393,7 +4389,6 @@ sctp_abort_association(struct sctp_inpcb *inp, struct if (stcb != NULL) { /* We have a TCB to abort, send notification too */ sctp_abort_notification(stcb, 0, 0, NULL, SCTP_SO_NOT_LOCKED); - SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED); /* Ok, now lets free it */ SCTP_STAT_INCR_COUNTER32(sctps_aborted); if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) || @@ -4482,8 +4477,6 @@ sctp_abort_an_association(struct sctp_inpcb *inp, stru } } return; - } else { - SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED); } /* notify the peer */ sctp_send_abort_tcb(stcb, op_err, so_locked); Modified: head/sys/netinet/sctputil.h ============================================================================== --- head/sys/netinet/sctputil.h Sun Aug 16 11:37:28 2020 (r364267) +++ head/sys/netinet/sctputil.h Sun Aug 16 11:50:37 2020 (r364268) @@ -164,7 +164,7 @@ void sctp_stop_timers_for_shutdown(struct sctp_tcb *); /* Stop all timers for association and remote addresses. */ void sctp_stop_association_timers(struct sctp_tcb *, bool); -void sctp_report_all_outbound(struct sctp_tcb *, uint16_t, int, int); +void sctp_report_all_outbound(struct sctp_tcb *, uint16_t, int); int sctp_expand_mapping_array(struct sctp_association *, uint32_t); From owner-svn-src-all@freebsd.org Sun Aug 16 12:59:44 2020 Return-Path: Delivered-To: svn-src-all@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 74B3E3BAFFD; Sun, 16 Aug 2020 12:59:44 +0000 (UTC) (envelope-from eugen@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 4BTy1r2Wt1z4KZD; Sun, 16 Aug 2020 12:59:44 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 35B48105DA; Sun, 16 Aug 2020 12:59:44 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GCxiT3072073; Sun, 16 Aug 2020 12:59:44 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GCxih6072072; Sun, 16 Aug 2020 12:59:44 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <202008161259.07GCxih6072072@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Sun, 16 Aug 2020 12:59:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364269 - head/sys/modules/usb/cp2112 X-SVN-Group: head X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: head/sys/modules/usb/cp2112 X-SVN-Commit-Revision: 364269 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 12:59:44 -0000 Author: eugen Date: Sun Aug 16 12:59:43 2020 New Revision: 364269 URL: https://svnweb.freebsd.org/changeset/base/364269 Log: Unbreak building cp2112(8) as a module outside of kernel build environment. Modified: head/sys/modules/usb/cp2112/Makefile Modified: head/sys/modules/usb/cp2112/Makefile ============================================================================== --- head/sys/modules/usb/cp2112/Makefile Sun Aug 16 11:50:37 2020 (r364268) +++ head/sys/modules/usb/cp2112/Makefile Sun Aug 16 12:59:43 2020 (r364269) @@ -31,7 +31,7 @@ S= ${SRCTOP}/sys KMOD= cp2112 SRCS= cp2112.c -SRCS+= opt_bus.h opt_usb.h +SRCS+= opt_bus.h opt_platform.h opt_usb.h SRCS+= device_if.h bus_if.h gpio_if.h iicbus_if.h usb_if.h usbdevs.h .include From owner-svn-src-all@freebsd.org Sun Aug 16 13:31:15 2020 Return-Path: Delivered-To: svn-src-all@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 111013BC056; Sun, 16 Aug 2020 13:31:15 +0000 (UTC) (envelope-from tuexen@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 4BTykB6l2lz4MtQ; Sun, 16 Aug 2020 13:31:14 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CAC9110875; Sun, 16 Aug 2020 13:31:14 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GDVEgJ096299; Sun, 16 Aug 2020 13:31:14 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GDVE6S096298; Sun, 16 Aug 2020 13:31:14 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202008161331.07GDVE6S096298@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sun, 16 Aug 2020 13:31:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364270 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 364270 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 13:31:15 -0000 Author: tuexen Date: Sun Aug 16 13:31:14 2020 New Revision: 364270 URL: https://svnweb.freebsd.org/changeset/base/364270 Log: Remove a line which is needed and was added in https://svnweb.freebsd.org/changeset/base/364268 MFC after: 3 days Modified: head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Sun Aug 16 12:59:43 2020 (r364269) +++ head/sys/netinet/sctp_usrreq.c Sun Aug 16 13:31:14 2020 (r364270) @@ -190,7 +190,6 @@ sctp_notify(struct sctp_inpcb *inp, } else if ((icmp_code == ICMP_UNREACH_PROTOCOL) || (icmp_code == ICMP_UNREACH_PORT)) { /* Treat it like an ABORT. */ - SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED); sctp_abort_notification(stcb, 1, 0, NULL, SCTP_SO_NOT_LOCKED); (void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC, SCTP_FROM_SCTP_USRREQ + SCTP_LOC_2); From owner-svn-src-all@freebsd.org Sun Aug 16 17:19:00 2020 Return-Path: Delivered-To: svn-src-all@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 8554D3C1A77; Sun, 16 Aug 2020 17:19:00 +0000 (UTC) (envelope-from mjg@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 4BV3n03HQ5z4ZY2; Sun, 16 Aug 2020 17:19:00 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 53E241372E; Sun, 16 Aug 2020 17:19:00 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GHJ0eS035001; Sun, 16 Aug 2020 17:19:00 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GHItsW034971; Sun, 16 Aug 2020 17:18:55 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161718.07GHItsW034971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 17:18:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364271 - in head/sys: compat/linuxkpi/common/include/linux fs/autofs fs/ext2fs fs/fdescfs fs/fuse fs/msdosfs fs/nfsclient fs/nullfs fs/pseudofs fs/smbfs fs/tmpfs kern sys ufs/ffs ufs/u... X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: compat/linuxkpi/common/include/linux fs/autofs fs/ext2fs fs/fdescfs fs/fuse fs/msdosfs fs/nfsclient fs/nullfs fs/pseudofs fs/smbfs fs/tmpfs kern sys ufs/ffs ufs/ufs vm X-SVN-Commit-Revision: 364271 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 17:19:00 -0000 Author: mjg Date: Sun Aug 16 17:18:54 2020 New Revision: 364271 URL: https://svnweb.freebsd.org/changeset/base/364271 Log: vfs: remove the thread argument from vget It was already asserted to be curthread. Semantic patch: @@ expression arg1, arg2, arg3; @@ - vget(arg1, arg2, arg3) + vget(arg1, arg2) Modified: head/sys/compat/linuxkpi/common/include/linux/fs.h head/sys/fs/autofs/autofs_vnops.c head/sys/fs/ext2fs/ext2_vfsops.c head/sys/fs/fdescfs/fdesc_vfsops.c head/sys/fs/fdescfs/fdesc_vnops.c head/sys/fs/fuse/fuse_vfsops.c head/sys/fs/msdosfs/msdosfs_vfsops.c head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/fs/nullfs/null_vfsops.c head/sys/fs/pseudofs/pseudofs_vncache.c head/sys/fs/smbfs/smbfs_node.c head/sys/fs/smbfs/smbfs_vfsops.c head/sys/fs/tmpfs/tmpfs_subr.c head/sys/fs/tmpfs/tmpfs_vfsops.c head/sys/kern/uipc_mqueue.c head/sys/kern/vfs_default.c head/sys/kern/vfs_subr.c head/sys/sys/vnode.h head/sys/ufs/ffs/ffs_alloc.c head/sys/ufs/ffs/ffs_softdep.c head/sys/ufs/ffs/ffs_vfsops.c head/sys/ufs/ufs/ufs_quota.c head/sys/vm/vm_fault.c head/sys/vm/vm_mmap.c head/sys/vm/vm_pageout.c Modified: head/sys/compat/linuxkpi/common/include/linux/fs.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/fs.h Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/compat/linuxkpi/common/include/linux/fs.h Sun Aug 16 17:18:54 2020 (r364271) @@ -260,7 +260,7 @@ igrab(struct inode *inode) { int error; - error = vget(inode, 0, curthread); + error = vget(inode, 0); if (error) return (NULL); Modified: head/sys/fs/autofs/autofs_vnops.c ============================================================================== --- head/sys/fs/autofs/autofs_vnops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/autofs/autofs_vnops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -656,7 +656,7 @@ autofs_node_vn(struct autofs_node *anp, struct mount * vp = anp->an_vnode; if (vp != NULL) { - error = vget(vp, flags | LK_RETRY, curthread); + error = vget(vp, flags | LK_RETRY); if (error != 0) { AUTOFS_WARN("vget failed with error %d", error); sx_xunlock(&anp->an_vnode_lock); Modified: head/sys/fs/ext2fs/ext2_vfsops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/ext2fs/ext2_vfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -799,7 +799,7 @@ loop: /* * Step 4: invalidate all cached file data. */ - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } @@ -1158,7 +1158,7 @@ loop: VI_UNLOCK(vp); continue; } - error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, td); + error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK); if (error) { if (error == ENOENT) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); Modified: head/sys/fs/fdescfs/fdesc_vfsops.c ============================================================================== --- head/sys/fs/fdescfs/fdesc_vfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/fdescfs/fdesc_vfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -163,7 +163,7 @@ fdesc_root(struct mount *mp, int flags, struct vnode * * Return locked reference to root. */ vp = VFSTOFDESC(mp)->f_root; - vget(vp, LK_EXCLUSIVE | LK_RETRY, curthread); + vget(vp, LK_EXCLUSIVE | LK_RETRY); *vpp = vp; return (0); } Modified: head/sys/fs/fdescfs/fdesc_vnops.c ============================================================================== --- head/sys/fs/fdescfs/fdesc_vnops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/fdescfs/fdesc_vnops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -182,7 +182,7 @@ loop: vp = fd->fd_vnode; VI_LOCK(vp); mtx_unlock(&fdesc_hashmtx); - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) goto loop; *vpp = vp; return (0); @@ -232,7 +232,7 @@ loop: vp2 = fd2->fd_vnode; VI_LOCK(vp2); mtx_unlock(&fdesc_hashmtx); - error = vget(vp2, LK_EXCLUSIVE | LK_INTERLOCK, td); + error = vget(vp2, LK_EXCLUSIVE | LK_INTERLOCK); /* Someone beat us, dec use count and wait for reclaim */ vgone(vp); vput(vp); Modified: head/sys/fs/fuse/fuse_vfsops.c ============================================================================== --- head/sys/fs/fuse/fuse_vfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/fuse/fuse_vfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -610,7 +610,7 @@ fuse_vfsop_root(struct mount *mp, int lkflags, struct int err = 0; if (data->vroot != NULL) { - err = vget(data->vroot, lkflags, curthread); + err = vget(data->vroot, lkflags); if (err == 0) *vpp = data->vroot; } else { Modified: head/sys/fs/msdosfs/msdosfs_vfsops.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_vfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/msdosfs/msdosfs_vfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -921,7 +921,7 @@ loop: VI_UNLOCK(vp); continue; } - error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, td); + error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK); if (error) { if (error == ENOENT) { MNT_VNODE_FOREACH_ALL_ABORT(mp, nvp); Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -1828,7 +1828,7 @@ loop: VI_UNLOCK(vp); continue; } - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } Modified: head/sys/fs/nullfs/null_vfsops.c ============================================================================== --- head/sys/fs/nullfs/null_vfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/nullfs/null_vfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -281,7 +281,7 @@ nullfs_root(mp, flags, vpp) NULLFSDEBUG("nullfs_root(mp = %p, vp = %p)\n", mp, mntdata->nullm_lowerrootvp); - error = vget(mntdata->nullm_lowerrootvp, flags, curthread); + error = vget(mntdata->nullm_lowerrootvp, flags); if (error == 0) { error = null_nodeget(mp, mntdata->nullm_lowerrootvp, &vp); if (error == 0) { Modified: head/sys/fs/pseudofs/pseudofs_vncache.c ============================================================================== --- head/sys/fs/pseudofs/pseudofs_vncache.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/pseudofs/pseudofs_vncache.c Sun Aug 16 17:18:54 2020 (r364271) @@ -136,7 +136,7 @@ retry: vp = pvd->pvd_vnode; VI_LOCK(vp); mtx_unlock(&pfs_vncache_mutex); - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, curthread) == 0) { + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK) == 0) { ++pfs_vncache_hits; *vpp = vp; /* @@ -218,7 +218,7 @@ retry2: vp = pvd2->pvd_vnode; VI_LOCK(vp); mtx_unlock(&pfs_vncache_mutex); - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, curthread) == 0) { + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK) == 0) { ++pfs_vncache_hits; vgone(*vpp); vput(*vpp); Modified: head/sys/fs/smbfs/smbfs_node.c ============================================================================== --- head/sys/fs/smbfs/smbfs_node.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/smbfs/smbfs_node.c Sun Aug 16 17:18:54 2020 (r364271) @@ -124,7 +124,7 @@ smbfs_node_alloc(struct mount *mp, struct vnode *dvp, if (dvp == NULL) return EINVAL; vp = VTOSMB(VTOSMB(dvp)->n_parent)->n_vnode; - error = vget(vp, LK_EXCLUSIVE, td); + error = vget(vp, LK_EXCLUSIVE); if (error == 0) *vpp = vp; return error; Modified: head/sys/fs/smbfs/smbfs_vfsops.c ============================================================================== --- head/sys/fs/smbfs/smbfs_vfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/smbfs/smbfs_vfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -329,7 +329,7 @@ smbfs_root(struct mount *mp, int flags, struct vnode * if (smp->sm_root) { *vpp = SMBTOV(smp->sm_root); - return vget(*vpp, LK_EXCLUSIVE | LK_RETRY, td); + return vget(*vpp, LK_EXCLUSIVE | LK_RETRY); } scred = smbfs_malloc_scred(); smb_makescred(scred, td, cred); Modified: head/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- head/sys/fs/tmpfs/tmpfs_subr.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/tmpfs/tmpfs_subr.c Sun Aug 16 17:18:54 2020 (r364271) @@ -620,7 +620,7 @@ loop: goto loop; } TMPFS_NODE_UNLOCK(node); - error = vget(vp, lkflag | LK_INTERLOCK, curthread); + error = vget(vp, lkflag | LK_INTERLOCK); if (error == ENOENT) { TMPFS_NODE_LOCK(node); goto loop; Modified: head/sys/fs/tmpfs/tmpfs_vfsops.c ============================================================================== --- head/sys/fs/tmpfs/tmpfs_vfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/fs/tmpfs/tmpfs_vfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -130,8 +130,7 @@ tmpfs_update_mtime(struct mount *mp, bool lazy) * metadata changes now. */ if (!lazy || obj->generation != obj->cleangeneration) { - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, - curthread) != 0) + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK) != 0) continue; tmpfs_check_mtime(vp); if (!lazy) Modified: head/sys/kern/uipc_mqueue.c ============================================================================== --- head/sys/kern/uipc_mqueue.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/kern/uipc_mqueue.c Sun Aug 16 17:18:54 2020 (r364271) @@ -754,7 +754,7 @@ mqfs_allocv(struct mount *mp, struct vnode **vpp, stru found: *vpp = vd->mv_vnode; sx_xunlock(&mqfs->mi_lock); - error = vget(*vpp, LK_RETRY | LK_EXCLUSIVE, curthread); + error = vget(*vpp, LK_RETRY | LK_EXCLUSIVE); vdrop(*vpp); return (error); } Modified: head/sys/kern/vfs_default.c ============================================================================== --- head/sys/kern/vfs_default.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/kern/vfs_default.c Sun Aug 16 17:18:54 2020 (r364271) @@ -1348,7 +1348,7 @@ loop: VI_UNLOCK(vp); continue; } - if ((error = vget(vp, lockreq, td)) != 0) { + if ((error = vget(vp, lockreq)) != 0) { if (error == ENOENT) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/kern/vfs_subr.c Sun Aug 16 17:18:54 2020 (r364271) @@ -2856,12 +2856,10 @@ vget_abort(struct vnode *vp, enum vgetstate vs) } int -vget(struct vnode *vp, int flags, struct thread *td) +vget(struct vnode *vp, int flags) { enum vgetstate vs; - MPASS(td == curthread); - vs = vget_prep(vp); return (vget_finish(vp, flags, vs)); } @@ -4684,7 +4682,7 @@ vfs_periodic_msync_inactive(struct mount *mp, int flag VI_UNLOCK(vp); continue; } - if (vget(vp, lkflags, td) == 0) { + if (vget(vp, lkflags) == 0) { obj = vp->v_object; if (obj != NULL && (vp->v_vflag & VV_NOSYNC) == 0) { VM_OBJECT_WLOCK(obj); Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/sys/vnode.h Sun Aug 16 17:18:54 2020 (r364271) @@ -680,7 +680,7 @@ void vlazy(struct vnode *); void vdrop(struct vnode *); void vdropl(struct vnode *); int vflush(struct mount *mp, int rootrefs, int flags, struct thread *td); -int vget(struct vnode *vp, int flags, struct thread *td); +int vget(struct vnode *vp, int flags); enum vgetstate vget_prep_smr(struct vnode *vp); enum vgetstate vget_prep(struct vnode *vp); int vget_finish(struct vnode *vp, int flags, enum vgetstate vs); Modified: head/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_alloc.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/ufs/ffs/ffs_alloc.c Sun Aug 16 17:18:54 2020 (r364271) @@ -3463,7 +3463,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) */ pwd = pwd_hold(td); dvp = pwd->pwd_cdir; - if ((error = vget(dvp, LK_EXCLUSIVE, td)) != 0) { + if ((error = vget(dvp, LK_EXCLUSIVE)) != 0) { vput(fdvp); pwd_drop(pwd); break; Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/ufs/ffs/ffs_softdep.c Sun Aug 16 17:18:54 2020 (r364271) @@ -13624,8 +13624,7 @@ softdep_request_cleanup_flush(mp, ump) VI_UNLOCK(lvp); continue; } - if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT, - td) != 0) { + if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT) != 0) { failed_vnode = 1; continue; } Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/ufs/ffs/ffs_vfsops.c Sun Aug 16 17:18:54 2020 (r364271) @@ -974,7 +974,7 @@ loop: /* * Step 4: invalidate all cached file data. */ - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } @@ -1758,8 +1758,7 @@ ffs_sync_lazy(mp) VI_UNLOCK(vp); continue; } - if ((error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, - td)) != 0) + if ((error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK)) != 0) continue; #ifdef QUOTA qsyncvp(vp); @@ -1856,7 +1855,7 @@ loop: VI_UNLOCK(vp); continue; } - if ((error = vget(vp, lockreq, td)) != 0) { + if ((error = vget(vp, lockreq)) != 0) { if (error == ENOENT || error == ENOLCK) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; Modified: head/sys/ufs/ufs/ufs_quota.c ============================================================================== --- head/sys/ufs/ufs/ufs_quota.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/ufs/ufs/ufs_quota.c Sun Aug 16 17:18:54 2020 (r364271) @@ -613,7 +613,7 @@ quotaon(struct thread *td, struct mount *mp, int type, */ again: MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto again; } @@ -680,7 +680,7 @@ again: VI_UNLOCK(vp); continue; } - if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { + if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto again; } @@ -1064,7 +1064,6 @@ int qsync(struct mount *mp) { struct ufsmount *ump = VFSTOUFS(mp); - struct thread *td = curthread; /* XXX */ struct vnode *vp, *mvp; struct dquot *dq; int i, error; @@ -1088,7 +1087,7 @@ again: VI_UNLOCK(vp); continue; } - error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td); + error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK); if (error) { if (error == ENOENT) { MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); Modified: head/sys/vm/vm_fault.c ============================================================================== --- head/sys/vm/vm_fault.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/vm/vm_fault.c Sun Aug 16 17:18:54 2020 (r364271) @@ -673,7 +673,7 @@ vm_fault_lock_vnode(struct faultstate *fs, bool objloc * paging-in-progress count incremented. Otherwise, we could * deadlock. */ - error = vget(vp, locked | LK_CANRECURSE | LK_NOWAIT, curthread); + error = vget(vp, locked | LK_CANRECURSE | LK_NOWAIT); if (error == 0) { fs->vp = vp; return (KERN_SUCCESS); @@ -684,7 +684,7 @@ vm_fault_lock_vnode(struct faultstate *fs, bool objloc unlock_and_deallocate(fs); else fault_deallocate(fs); - error = vget(vp, locked | LK_RETRY | LK_CANRECURSE, curthread); + error = vget(vp, locked | LK_RETRY | LK_CANRECURSE); vdrop(vp); fs->vp = vp; KASSERT(error == 0, ("vm_fault: vget failed %d", error)); Modified: head/sys/vm/vm_mmap.c ============================================================================== --- head/sys/vm/vm_mmap.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/vm/vm_mmap.c Sun Aug 16 17:18:54 2020 (r364271) @@ -1284,7 +1284,7 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize, cred = td->td_ucred; writex = (*maxprotp & VM_PROT_WRITE) != 0 && (*flagsp & MAP_SHARED) != 0; - if ((error = vget(vp, LK_SHARED, td)) != 0) + if ((error = vget(vp, LK_SHARED)) != 0) return (error); AUDIT_ARG_VNODE1(vp); foff = *foffp; @@ -1305,7 +1305,7 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize, * Bypass filesystems obey the mpsafety of the * underlying fs. Tmpfs never bypasses. */ - error = vget(vp, LK_SHARED, td); + error = vget(vp, LK_SHARED); if (error != 0) return (error); } Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Sun Aug 16 13:31:14 2020 (r364270) +++ head/sys/vm/vm_pageout.c Sun Aug 16 17:18:54 2020 (r364271) @@ -643,7 +643,7 @@ vm_pageout_clean(vm_page_t m, int *numpagedout) VM_OBJECT_WUNLOCK(object); lockmode = MNT_SHARED_WRITES(vp->v_mount) ? LK_SHARED : LK_EXCLUSIVE; - if (vget(vp, lockmode | LK_TIMELOCK, curthread)) { + if (vget(vp, lockmode | LK_TIMELOCK)) { vp = NULL; error = EDEADLK; goto unlock_mp; From owner-svn-src-all@freebsd.org Sun Aug 16 17:19:24 2020 Return-Path: Delivered-To: svn-src-all@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 A3B4E3C1761; Sun, 16 Aug 2020 17:19:24 +0000 (UTC) (envelope-from mjg@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 4BV3nS3rM6z4ZdB; Sun, 16 Aug 2020 17:19:24 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6790D1387E; Sun, 16 Aug 2020 17:19:24 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GHJOq7035068; Sun, 16 Aug 2020 17:19:24 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GHJOTZ035067; Sun, 16 Aug 2020 17:19:24 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161719.07GHJOTZ035067@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 17:19:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364272 - head/sys/fs/tmpfs X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/fs/tmpfs X-SVN-Commit-Revision: 364272 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 17:19:24 -0000 Author: mjg Date: Sun Aug 16 17:19:23 2020 New Revision: 364272 URL: https://svnweb.freebsd.org/changeset/base/364272 Log: tmpfs: use vget_prep/vget_finish instead of vget + vnode Modified: head/sys/fs/tmpfs/tmpfs_subr.c Modified: head/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- head/sys/fs/tmpfs/tmpfs_subr.c Sun Aug 16 17:18:54 2020 (r364271) +++ head/sys/fs/tmpfs/tmpfs_subr.c Sun Aug 16 17:19:23 2020 (r364272) @@ -588,6 +588,7 @@ tmpfs_alloc_vp(struct mount *mp, struct tmpfs_node *no struct vnode **vpp) { struct vnode *vp; + enum vgetstate vs; struct tmpfs_mount *tm; vm_object_t object; int error; @@ -600,18 +601,15 @@ loop: TMPFS_NODE_ASSERT_LOCKED(node); if ((vp = node->tn_vnode) != NULL) { MPASS((node->tn_vpstate & TMPFS_VNODE_DOOMED) == 0); - VI_LOCK(vp); if ((node->tn_type == VDIR && node->tn_dir.tn_parent == NULL) || (VN_IS_DOOMED(vp) && (lkflag & LK_NOWAIT) != 0)) { - VI_UNLOCK(vp); TMPFS_NODE_UNLOCK(node); error = ENOENT; vp = NULL; goto out; } if (VN_IS_DOOMED(vp)) { - VI_UNLOCK(vp); node->tn_vpstate |= TMPFS_VNODE_WRECLAIM; while ((node->tn_vpstate & TMPFS_VNODE_WRECLAIM) != 0) { msleep(&node->tn_vnode, TMPFS_NODE_MTX(node), @@ -619,8 +617,9 @@ loop: } goto loop; } + vs = vget_prep(vp); TMPFS_NODE_UNLOCK(node); - error = vget(vp, lkflag | LK_INTERLOCK); + error = vget_finish(vp, lkflag, vs); if (error == ENOENT) { TMPFS_NODE_LOCK(node); goto loop; From owner-svn-src-all@freebsd.org Sun Aug 16 17:55:21 2020 Return-Path: Delivered-To: svn-src-all@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 04B143C2514; Sun, 16 Aug 2020 17:55:21 +0000 (UTC) (envelope-from mjg@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 4BV4Zw6Ljwz4c7B; Sun, 16 Aug 2020 17:55:20 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BD3A513ACE; Sun, 16 Aug 2020 17:55:20 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GHtK0P059400; Sun, 16 Aug 2020 17:55:20 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GHtK6j059398; Sun, 16 Aug 2020 17:55:20 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161755.07GHtK6j059398@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 17:55:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364273 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 364273 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 17:55:21 -0000 Author: mjg Date: Sun Aug 16 17:55:20 2020 New Revision: 364273 URL: https://svnweb.freebsd.org/changeset/base/364273 Log: vfs: mark HASBUF as an internal flag There is no setter for cn_pnbuf. Modified: head/sys/kern/vfs_lookup.c head/sys/sys/namei.h Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sun Aug 16 17:19:23 2020 (r364272) +++ head/sys/kern/vfs_lookup.c Sun Aug 16 17:55:20 2020 (r364273) @@ -504,8 +504,7 @@ namei(struct nameidata *ndp) * Get a buffer for the name to be translated, and copy the * name into the buffer. */ - if ((cnp->cn_flags & HASBUF) == 0) - cnp->cn_pnbuf = uma_zalloc(namei_zone, M_WAITOK); + cnp->cn_pnbuf = uma_zalloc(namei_zone, M_WAITOK); if (ndp->ni_segflg == UIO_SYSSPACE) error = copystr(ndp->ni_dirp, cnp->cn_pnbuf, MAXPATHLEN, &ndp->ni_pathlen); Modified: head/sys/sys/namei.h ============================================================================== --- head/sys/sys/namei.h Sun Aug 16 17:19:23 2020 (r364272) +++ head/sys/sys/namei.h Sun Aug 16 17:55:20 2020 (r364273) @@ -149,21 +149,21 @@ int cache_fplookup(struct nameidata *ndp, enum cache_f * buffer and for vrele'ing ni_startdir. */ #define RDONLY 0x00000200 /* lookup with read-only semantics */ -#define HASBUF 0x00000400 /* has allocated pathname buffer */ -#define SAVENAME 0x00000800 /* save pathname buffer */ -#define SAVESTART 0x00001000 /* save starting directory */ -#define ISWHITEOUT 0x00002000 /* found whiteout */ -#define DOWHITEOUT 0x00004000 /* do whiteouts */ -#define WILLBEDIR 0x00008000 /* new files will be dirs; allow trailing / */ -#define ISOPEN 0x00010000 /* caller is opening; return a real vnode. */ -#define NOCROSSMOUNT 0x00020000 /* do not cross mount points */ -#define NOMACCHECK 0x00040000 /* do not perform MAC checks */ -#define AUDITVNODE1 0x00080000 /* audit the looked up vnode information */ -#define AUDITVNODE2 0x00100000 /* audit the looked up vnode information */ -#define NOCAPCHECK 0x00200000 /* do not perform capability checks */ +#define SAVENAME 0x00000400 /* save pathname buffer */ +#define SAVESTART 0x00000800 /* save starting directory */ +#define ISWHITEOUT 0x00001000 /* found whiteout */ +#define DOWHITEOUT 0x00002000 /* do whiteouts */ +#define WILLBEDIR 0x00004000 /* new files will be dirs; allow trailing / */ +#define ISOPEN 0x00008000 /* caller is opening; return a real vnode. */ +#define NOCROSSMOUNT 0x00010000 /* do not cross mount points */ +#define NOMACCHECK 0x00020000 /* do not perform MAC checks */ +#define AUDITVNODE1 0x00040000 /* audit the looked up vnode information */ +#define AUDITVNODE2 0x00080000 /* audit the looked up vnode information */ +#define NOCAPCHECK 0x00100000 /* do not perform capability checks */ /* UNUSED 0x00400000 */ +/* UNUSED 0x00200000 */ /* UNUSED 0x00800000 */ -/* UNUSED 0x01000000 */ +#define HASBUF 0x01000000 /* has allocated pathname buffer */ #define NOEXECCHECK 0x02000000 /* do not perform exec check on dir */ #define MAKEENTRY 0x04000000 /* entry is to be added to name cache */ #define ISSYMLINK 0x08000000 /* symlink needs interpretation */ @@ -176,7 +176,8 @@ int cache_fplookup(struct nameidata *ndp, enum cache_f * Flags which must not be passed in by callers. */ #define NAMEI_INTERNAL_FLAGS \ - (NOEXECCHECK | MAKEENTRY | ISSYMLINK | ISLASTCN | ISDOTDOT | TRAILINGSLASH) + (HASBUF | NOEXECCHECK | MAKEENTRY | ISSYMLINK | ISLASTCN | ISDOTDOT | \ + TRAILINGSLASH) /* * Namei results flags From owner-svn-src-all@freebsd.org Sun Aug 16 17:56:31 2020 Return-Path: Delivered-To: svn-src-all@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 5A7D83C2497; Sun, 16 Aug 2020 17:56:31 +0000 (UTC) (envelope-from mjg@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 4BV4cH1khpz4cQ1; Sun, 16 Aug 2020 17:56:31 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1F3C913E21; Sun, 16 Aug 2020 17:56:31 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GHuUIo059509; Sun, 16 Aug 2020 17:56:30 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GHuUhM059508; Sun, 16 Aug 2020 17:56:30 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161756.07GHuUhM059508@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 17:56:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364274 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 364274 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 17:56:31 -0000 Author: mjg Date: Sun Aug 16 17:56:30 2020 New Revision: 364274 URL: https://svnweb.freebsd.org/changeset/base/364274 Log: Bump __FreeBSD_version after vget() and HASBUF change Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Sun Aug 16 17:55:20 2020 (r364273) +++ head/sys/sys/param.h Sun Aug 16 17:56:30 2020 (r364274) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300108 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300109 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Sun Aug 16 18:12:23 2020 Return-Path: Delivered-To: svn-src-all@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 401453C2958; Sun, 16 Aug 2020 18:12:23 +0000 (UTC) (envelope-from oshogbo@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 4BV4yb19HXz4dJQ; Sun, 16 Aug 2020 18:12:23 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 06EF8141CA; Sun, 16 Aug 2020 18:12:23 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GICN4D071798; Sun, 16 Aug 2020 18:12:23 GMT (envelope-from oshogbo@FreeBSD.org) Received: (from oshogbo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GICLWY071791; Sun, 16 Aug 2020 18:12:21 GMT (envelope-from oshogbo@FreeBSD.org) Message-Id: <202008161812.07GICLWY071791@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: oshogbo set sender to oshogbo@FreeBSD.org using -f From: Mariusz Zaborski Date: Sun, 16 Aug 2020 18:12:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364276 - in head: lib/libcasper/services lib/libcasper/services/cap_dns lib/libcasper/services/cap_net lib/libcasper/services/cap_net/tests share/mk X-SVN-Group: head X-SVN-Commit-Author: oshogbo X-SVN-Commit-Paths: in head: lib/libcasper/services lib/libcasper/services/cap_dns lib/libcasper/services/cap_net lib/libcasper/services/cap_net/tests share/mk X-SVN-Commit-Revision: 364276 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 18:12:23 -0000 Author: oshogbo Date: Sun Aug 16 18:12:21 2020 New Revision: 364276 URL: https://svnweb.freebsd.org/changeset/base/364276 Log: libcasper: Introduce cap_net a network service for Casper. Reviewed by: emaste, markj (previous version), bcr (man page) Differential Revision: https://reviews.freebsd.org/D24688 Added: head/lib/libcasper/services/cap_net/ head/lib/libcasper/services/cap_net/Makefile (contents, props changed) head/lib/libcasper/services/cap_net/cap_net.3 (contents, props changed) head/lib/libcasper/services/cap_net/cap_net.c (contents, props changed) head/lib/libcasper/services/cap_net/cap_net.h (contents, props changed) head/lib/libcasper/services/cap_net/tests/ head/lib/libcasper/services/cap_net/tests/Makefile (contents, props changed) head/lib/libcasper/services/cap_net/tests/net_test.c (contents, props changed) Modified: head/lib/libcasper/services/Makefile head/lib/libcasper/services/cap_dns/Makefile head/lib/libcasper/services/cap_dns/cap_dns.3 head/share/mk/src.libnames.mk Modified: head/lib/libcasper/services/Makefile ============================================================================== --- head/lib/libcasper/services/Makefile Sun Aug 16 18:10:15 2020 (r364275) +++ head/lib/libcasper/services/Makefile Sun Aug 16 18:12:21 2020 (r364276) @@ -5,6 +5,7 @@ SUBDIR= cap_dns SUBDIR+= cap_fileargs SUBDIR+= cap_grp +SUBDIR+= cap_net SUBDIR+= cap_pwd SUBDIR+= cap_sysctl SUBDIR+= cap_syslog Modified: head/lib/libcasper/services/cap_dns/Makefile ============================================================================== --- head/lib/libcasper/services/cap_dns/Makefile Sun Aug 16 18:10:15 2020 (r364275) +++ head/lib/libcasper/services/cap_dns/Makefile Sun Aug 16 18:12:21 2020 (r364276) @@ -27,11 +27,6 @@ SUBDIR.${MK_TESTS}+= tests MAN+= cap_dns.3 MLINKS+=cap_dns.3 libcap_dns.3 -MLINKS+=cap_dns.3 cap_gethostbyname.3 -MLINKS+=cap_dns.3 cap_gethostbyname2.3 -MLINKS+=cap_dns.3 cap_gethostbyaddr.3 -MLINKS+=cap_dns.3 cap_getaddrinfo.3 -MLINKS+=cap_dns.3 cap_getnameinfo.3 MLINKS+=cap_dns.3 cap_dns_type_limit.3 MLINKS+=cap_dns.3 cap_dns_family_limit.3 Modified: head/lib/libcasper/services/cap_dns/cap_dns.3 ============================================================================== --- head/lib/libcasper/services/cap_dns/cap_dns.3 Sun Aug 16 18:10:15 2020 (r364275) +++ head/lib/libcasper/services/cap_dns/cap_dns.3 Sun Aug 16 18:12:21 2020 (r364276) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 5, 2020 +.Dd August 15, 2020 .Dt CAP_DNS 3 .Os .Sh NAME @@ -58,6 +58,9 @@ .Fn cap_dns_family_limit "const cap_channel_t *chan" "const int *families" "size_t nfamilies" .Sh DESCRIPTION .Bf -symbolic +This service is obsolete and +.Xr cap_net 3 +should be used instead. The .Fn cap_getaddrinfo , and Added: head/lib/libcasper/services/cap_net/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libcasper/services/cap_net/Makefile Sun Aug 16 18:12:21 2020 (r364276) @@ -0,0 +1,48 @@ +# $FreeBSD$ + +SHLIBDIR?= /lib/casper + +.include + +PACKAGE=libcasper + +SHLIB_MAJOR= 1 +INCSDIR?= ${INCLUDEDIR}/casper + +.if ${MK_CASPER} != "no" +SHLIB= cap_net + +SRCS= cap_net.c +.endif + +INCS= cap_net.h + +LIBADD= nv + +CFLAGS+=-I${.CURDIR} +CFLAGS+=-DWITH_CASPER + +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + +MAN+= cap_net.3 + +MLINKS+=cap_net.3 libcap_net.3 +MLINKS+=cap_net.3 cap_bind.3 +MLINKS+=cap_net.3 cap_connect.3 +MLINKS+=cap_net.3 cap_net_free.3 +MLINKS+=cap_net.3 cap_net_limit.3 +MLINKS+=cap_net.3 cap_net_limit_addr2name.3 +MLINKS+=cap_net.3 cap_net_limit_addr2name_family.3 +MLINKS+=cap_net.3 cap_net_limit_bind.3 +MLINKS+=cap_net.3 cap_net_limit_connect.3 +MLINKS+=cap_net.3 cap_net_limit_init.3 +MLINKS+=cap_net.3 cap_net_limit_name2addr.3 +MLINKS+=cap_net.3 cap_net_limit_name2addr_family.3 +MLINKS+=cap_net.3 cap_getaddrinfo.3 +MLINKS+=cap_net.3 cap_gethostbyaddr.3 +MLINKS+=cap_net.3 cap_gethostbyname.3 +MLINKS+=cap_net.3 cap_gethostbyname2.3 +MLINKS+=cap_net.3 cap_getnameinfo.3 + +.include Added: head/lib/libcasper/services/cap_net/cap_net.3 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libcasper/services/cap_net/cap_net.3 Sun Aug 16 18:12:21 2020 (r364276) @@ -0,0 +1,287 @@ +.\" Copyright (c) 2020 Mariusz Zaborski +.\" +.\" 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 AUTHORS 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 AUTHORS 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. +.\" +.\" $FreeBSD$ +.\" +.Dd August 15, 2020 +.Dt CAP_NET 3 +.Os +.Sh NAME +.Nm cap_bind , +.Nm cap_connect , +.Nm cap_getaddrinfo , +.Nm cap_gethostbyaddr , +.Nm cap_gethostbyname , +.Nm cap_gethostbyname2 , +.Nm cap_getnameinfo , +.Nm cap_net_free , +.Nm cap_net_limit , +.Nm cap_net_limit_addr2name , +.Nm cap_net_limit_addr2name_family , +.Nm cap_net_limit_bind , +.Nm cap_net_limit_connect , +.Nm cap_net_limit_init , +.Nm cap_net_limit_name2addr , +.Nm cap_net_limit_name2addr_family , +.Nd "library for networking in capability mode" +.Sh LIBRARY +.Lb libcap_net +.Sh SYNOPSIS +.In sys/nv.h +.In libcasper.h +.In casper/cap_net.h +.Ft int +.Fn cap_bind "cap_channel_t *chan" "int s" "const struct sockaddr *addr" "socklen_t addrlen" +.Ft int +.Fn cap_connect "cap_channel_t *chan" "int s" "const struct sockaddr *name" "socklen_t namelen" +.Ft int +.Fn cap_getaddrinfo "cap_channel_t *chan" "const char *hostname" "const char *servname" "const struct addrinfo *hints" "struct addrinfo **res" +.Ft int +.Fn cap_getnameinfo "cap_channel_t *chan" "const struct sockaddr *sa" "socklen_t salen" "char *host" "size_t hostlen" "char *serv" "size_t servlen" "int flags" +.Ft "struct hostent *" +.Fn cap_gethostbyname "const cap_channel_t *chan" "const char *name" +.Ft "struct hostent *" +.Fn cap_gethostbyname2 "const cap_channel_t *chan" "const char *name" "int af" +.Ft "struct hostent *" +.Fn cap_gethostbyaddr "const cap_channel_t *chan" "const void *addr" "socklen_t len" "int af" +.Ft "cap_net_limit_t *" +.Fn cap_net_limit_init "cap_channel_t *chan" "uint64_t mode" +.Ft int +.Fn cap_net_limit "cap_net_limit_t *limit" +.Ft void +.Fn cap_net_free "cap_net_limit_t *limit" +.Ft "cap_net_limit_t *" +.Fn cap_net_limit_addr2name_family "cap_net_limit_t *limit" "int *family" "size_t size" +.Ft "cap_net_limit_t *" +.Fn cap_net_limit_addr2name "cap_net_limit_t *limit" "const struct sockaddr *sa" "socklen_t salen" +.Ft "cap_net_limit_t *" +.Fn cap_net_limit_name2addr_family "cap_net_limit_t *limit" "int *family" "size_t size" +.Ft "cap_net_limit_t *" +.Fn cap_net_limit_name2addr "cap_net_limit_t *limit" "const char *name" "const char *serv" +.Ft "cap_net_limit_t *" +.Fn cap_net_limit_connect "cap_net_limit_t *limit" "const struct sockaddr *sa" "socklen_t salen" +.Ft "cap_net_limit_t *" +.Fn cap_net_limit_bind "cap_net_limit_t *limit" "const struct sockaddr *sa" "socklen_t salen" +.Sh DESCRIPTION +.Pp +The functions +.Fn cap_bind, +.Fn cap_connect, +.Fn cap_gethostbyname , +.Fn cap_gethostbyname2 , +.Fn cap_gethostbyaddr +and +.Fn cap_getnameinfo +are respectively equivalent to +.Xr bind 2 , +.Xr connect 2 , +.Xr gethostbyname 3 , +.Xr gethostbyname2 3 , +.Xr gethostbyaddr 3 +and +.Xr getnameinfo 3 +except that the connection to the +.Nm system.net +service needs to be provided. +.Sh LIMITS +By default, the cap_net capability provides unrestricted access to the network +namespace. +Applications typically only require access to a small portion of the network +namespace: +.Fn cap_net_limit +interface can be used to restrict access to the network. +.Fn cap_net_limit_init +returns an opaque limit handle used to store a list of capabilities. +The +.Fv mode +restricts the functionality of the service. +Modes are encoded using the following flags: +.Pp +.Bd -literal -offset indent -compact +CAPNET_ADDR2NAME reverse DNS lookups are allowed with + cap_getnameinfo +CAPNET_NAME2ADDR name resolution is allowed with + cap_getaddrinfo +CAPNET_DEPRECATED_ADDR2NAME reverse DNS lookups are allowed with + cap_gethostbyaddr +CAPNET_DEPRECATED_NAME2ADDR name resolution is allowed with + cap_gethostbyname and cap_gethostbyname2 +CAPNET_BIND bind syscall is allowed +CAPNET_CONNECT connect syscall is allowed +CAPNET_CONNECTDNS connect syscall is allowed to the values + returned from privies call to + the cap_getaddrinfo or cap_gethostbyname +.Ed +.Pp +.Fn cap_net_limit_addr2name_family +limits the +.Fn cap_getnameinfo +and +.Fn cap_gethostbyaddr +to do reverse DNS lookups to specific family (AF_INET, AF_INET6, etc.) +.Pp +.Fn cap_net_limit_addr2name +limits the +.Fn cap_getnameinfo +and +.Fn cap_gethostbyaddr +to do reverse DNS lookups only on those specific structures. +.Pp +.Fn cap_net_limit_name2addr_family +limits the +.Fn cap_getaddrinfo , +.Fn cap_gethostbyname +and +.Fn cap_gethostbyname2 +to do the name resolution on specific family (AF_INET, AF_INET6, etc.) +.Pp +.Fn cap_net_limit_addr2name +restricts +.Fn cap_getaddrinfo , +.Fn cap_gethostbyname +and +.Fn cap_gethostbyname2 +to a set of domains. +.Pp +.Fn cap_net_limit_bind +limits +.Fn cap_bind +to bind only on those specific structures. +.Pp +.Fn cap_net_limit_connect +limits +.Fn cap_connect +to connect only on those specific structures. +If the CAPNET_CONNECTDNS is set the limits are extended to the values returned +by +.Fn cap_getaddrinfo , +.Fn cap_gethostbyname +and +.Fn cap_gethostbyname2 +In case of the +.Fn cap_getaddrinfo +the restriction is strict. +In case of the +.Fn cap_gethostbyname +and +.Fn cap_gethostbyname2 +any port will be accepted in the +.Fn cap_connect +function. +.Pp +.Fn cap_net_limit +applies a set of sysctl limits to the capability, denying access to sysctl +variables not belonging to the set. +.Pp +Once a set of limits is applied, subsequent calls to +.Fn cap_net_limit +will fail unless the new set is a subset of the current set. +.Pp +The +.Fn cap_net_limit +will consume the limits. +If the +.Fn cap_net_limit +was not called the rights may be freed using +.Fn cap_net_free . +Multiple calls to +.Fn cap_net_limit_addr2name_family , +.Fn cap_net_limit_addr2name , +.Fn cap_net_limit_name2addr_family , +.Fn cap_net_limit_name2addr , +.Fn cap_net_limit_connect , +and +.Fn cap_net_limit_bind +is supported, each call is extending preview capabilities. +.Sh EXAMPLES +The following example first opens a capability to casper and then uses this +capability to create the +.Nm system.net +casper service and uses it to resolve a host and connect to it. +.Bd -literal +cap_channel_t *capcas, *capnet; +cap_net_limit_t *limit; +int familylimit, error, s; +const char *host = "example.com"; +struct addrinfo hints, *res; + +/* Open capability to Casper. */ +capcas = cap_init(); +if (capcas == NULL) + err(1, "Unable to contact Casper"); + +/* Cache NLA for gai_strerror. */ +caph_cache_catpages(); + +/* Enter capability mode sandbox. */ +if (caph_enter_casper() < 0) + err(1, "Unable to enter capability mode"); + +/* Use Casper capability to create capability to the system.net service. */ +capnet = cap_service_open(capcas, "system.net"); +if (capnet == NULL) + err(1, "Unable to open system.net service"); + +/* Close Casper capability. */ +cap_close(capcas); + +/* Limit system.net to reserve IPv4 addresses, to host example.com . */ +limit = cap_net_limit_init(capnet, CAPNET_NAME2ADDR | CAPNET_CONNECTDNS); +if (limit == NULL) + err(1, "Unable to create limits."); +cap_net_limit_name2addr(limit, host, "80"); +familylimit = AF_INET; +cap_net_limit_name2addr_family(limit, &familylimit, 1); +if (cap_net_limit(limit) < 0) + err(1, "Unable to apply limits."); + +/* Find IP addresses for the given host. */ +memset(&hints, 0, sizeof(hints)); +hints.ai_family = AF_INET; +hints.ai_socktype = SOCK_STREAM; + +error = cap_getaddrinfo(capnet, host, "80", &hints, &res); +if (error != 0) + errx(1, "cap_getaddrinfo(): %s: %s", host, gai_strerror(error)); + +s = socket(res->ai_family, res->ai_socktype, res->ai_protocol); +if (s < 0) + err(1, "Unable to create socket"); + +if (cap_connect(capnet, s, res->ai_addr, res->ai_addrlen) < 0) + err(1, "Unable to connect to host"); +.Ed +.Sh SEE ALSO +.Xr bind 2 , +.Xr cap_enter 2 , +.Xr connect 2 , +.Xr caph_enter 3 , +.Xr err 3 , +.Xr gethostbyaddr 3 , +.Xr gethostbyname 3 , +.Xr gethostbyname2 3 , +.Xr getnameinfo 3 , +.Xr capsicum 4 , +.Xr nv 9 +.Sh AUTHORS +.An Mariusz Zaborski Aq Mt oshogbo@FreeBSD.org Added: head/lib/libcasper/services/cap_net/cap_net.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libcasper/services/cap_net/cap_net.c Sun Aug 16 18:12:21 2020 (r364276) @@ -0,0 +1,1385 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Mariusz Zaborski + * + * 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 AUTHORS 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 AUTHORS 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 +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "cap_net.h" + +#define CAPNET_MASK (CAPNET_ADDR2NAME | CAPNET_NAME2ADDR \ + CAPNET_DEPRECATED_ADDR2NAME | CAPNET_DEPRECATED_NAME2ADDR | \ + CAPNET_CONNECT | CAPNET_BIND | CAPNET_CONNECTDNS) + +/* + * Defines for the names of the limits. + * XXX: we should convert all string constats to this to avoid typos. + */ +#define LIMIT_NV_BIND "bind" +#define LIMIT_NV_CONNECT "connect" +#define LIMIT_NV_ADDR2NAME "addr2name" +#define LIMIT_NV_NAME2ADDR "name2addr" + +struct cap_net_limit { + cap_channel_t *cnl_chan; + uint64_t cnl_mode; + nvlist_t *cnl_addr2name; + nvlist_t *cnl_name2addr; + nvlist_t *cnl_connect; + nvlist_t *cnl_bind; +}; + +static struct hostent hent; + +static void +hostent_free(struct hostent *hp) +{ + unsigned int ii; + + free(hp->h_name); + hp->h_name = NULL; + if (hp->h_aliases != NULL) { + for (ii = 0; hp->h_aliases[ii] != NULL; ii++) + free(hp->h_aliases[ii]); + free(hp->h_aliases); + hp->h_aliases = NULL; + } + if (hp->h_addr_list != NULL) { + for (ii = 0; hp->h_addr_list[ii] != NULL; ii++) + free(hp->h_addr_list[ii]); + free(hp->h_addr_list); + hp->h_addr_list = NULL; + } +} + +static struct hostent * +hostent_unpack(const nvlist_t *nvl, struct hostent *hp) +{ + unsigned int ii, nitems; + char nvlname[64]; + int n; + + hostent_free(hp); + + hp->h_name = strdup(nvlist_get_string(nvl, "name")); + if (hp->h_name == NULL) + goto fail; + hp->h_addrtype = (int)nvlist_get_number(nvl, "addrtype"); + hp->h_length = (int)nvlist_get_number(nvl, "length"); + + nitems = (unsigned int)nvlist_get_number(nvl, "naliases"); + hp->h_aliases = calloc(sizeof(hp->h_aliases[0]), nitems + 1); + if (hp->h_aliases == NULL) + goto fail; + for (ii = 0; ii < nitems; ii++) { + n = snprintf(nvlname, sizeof(nvlname), "alias%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + hp->h_aliases[ii] = + strdup(nvlist_get_string(nvl, nvlname)); + if (hp->h_aliases[ii] == NULL) + goto fail; + } + hp->h_aliases[ii] = NULL; + + nitems = (unsigned int)nvlist_get_number(nvl, "naddrs"); + hp->h_addr_list = calloc(sizeof(hp->h_addr_list[0]), nitems + 1); + if (hp->h_addr_list == NULL) + goto fail; + for (ii = 0; ii < nitems; ii++) { + hp->h_addr_list[ii] = malloc(hp->h_length); + if (hp->h_addr_list[ii] == NULL) + goto fail; + n = snprintf(nvlname, sizeof(nvlname), "addr%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + bcopy(nvlist_get_binary(nvl, nvlname, NULL), + hp->h_addr_list[ii], hp->h_length); + } + hp->h_addr_list[ii] = NULL; + + return (hp); +fail: + hostent_free(hp); + h_errno = NO_RECOVERY; + return (NULL); +} + +static int +request_cb(cap_channel_t *chan, const char *name, int s, + const struct sockaddr *saddr, socklen_t len) +{ + nvlist_t *nvl; + int serrno; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", name); + nvlist_add_descriptor(nvl, "s", s); + nvlist_add_binary(nvl, "saddr", saddr, len); + + nvl = cap_xfer_nvlist(chan, nvl); + if (nvl == NULL) + return (-1); + + if (nvlist_get_number(nvl, "error") != 0) { + serrno = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + errno = serrno; + return (-1); + } + + s = dup2(s, nvlist_get_descriptor(nvl, "s")); + nvlist_destroy(nvl); + + return (s == -1 ? -1 : 0); +} + +int +cap_bind(cap_channel_t *chan, int s, const struct sockaddr *addr, + socklen_t addrlen) +{ + + return (request_cb(chan, LIMIT_NV_BIND, s, addr, addrlen)); +} + +int +cap_connect(cap_channel_t *chan, int s, const struct sockaddr *name, + socklen_t namelen) +{ + + return (request_cb(chan, LIMIT_NV_CONNECT, s, name, namelen)); +} + + +struct hostent * +cap_gethostbyname(cap_channel_t *chan, const char *name) +{ + + return (cap_gethostbyname2(chan, name, AF_INET)); +} + +struct hostent * +cap_gethostbyname2(cap_channel_t *chan, const char *name, int af) +{ + struct hostent *hp; + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "gethostbyname"); + nvlist_add_number(nvl, "family", (uint64_t)af); + nvlist_add_string(nvl, "name", name); + nvl = cap_xfer_nvlist(chan, nvl); + if (nvl == NULL) { + h_errno = NO_RECOVERY; + return (NULL); + } + if (nvlist_get_number(nvl, "error") != 0) { + h_errno = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (NULL); + } + + hp = hostent_unpack(nvl, &hent); + nvlist_destroy(nvl); + return (hp); +} + +struct hostent * +cap_gethostbyaddr(cap_channel_t *chan, const void *addr, socklen_t len, + int af) +{ + struct hostent *hp; + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "gethostbyaddr"); + nvlist_add_binary(nvl, "addr", addr, (size_t)len); + nvlist_add_number(nvl, "family", (uint64_t)af); + nvl = cap_xfer_nvlist(chan, nvl); + if (nvl == NULL) { + h_errno = NO_RECOVERY; + return (NULL); + } + if (nvlist_get_number(nvl, "error") != 0) { + h_errno = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (NULL); + } + hp = hostent_unpack(nvl, &hent); + nvlist_destroy(nvl); + return (hp); +} + +static struct addrinfo * +addrinfo_unpack(const nvlist_t *nvl) +{ + struct addrinfo *ai; + const void *addr; + size_t addrlen; + const char *canonname; + + addr = nvlist_get_binary(nvl, "ai_addr", &addrlen); + ai = malloc(sizeof(*ai) + addrlen); + if (ai == NULL) + return (NULL); + ai->ai_flags = (int)nvlist_get_number(nvl, "ai_flags"); + ai->ai_family = (int)nvlist_get_number(nvl, "ai_family"); + ai->ai_socktype = (int)nvlist_get_number(nvl, "ai_socktype"); + ai->ai_protocol = (int)nvlist_get_number(nvl, "ai_protocol"); + ai->ai_addrlen = (socklen_t)addrlen; + canonname = dnvlist_get_string(nvl, "ai_canonname", NULL); + if (canonname != NULL) { + ai->ai_canonname = strdup(canonname); + if (ai->ai_canonname == NULL) { + free(ai); + return (NULL); + } + } else { + ai->ai_canonname = NULL; + } + ai->ai_addr = (void *)(ai + 1); + bcopy(addr, ai->ai_addr, addrlen); + ai->ai_next = NULL; + + return (ai); +} + +int +cap_getaddrinfo(cap_channel_t *chan, const char *hostname, const char *servname, + const struct addrinfo *hints, struct addrinfo **res) +{ + struct addrinfo *firstai, *prevai, *curai; + unsigned int ii; + const nvlist_t *nvlai; + char nvlname[64]; + nvlist_t *nvl; + int error, n; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "getaddrinfo"); + if (hostname != NULL) + nvlist_add_string(nvl, "hostname", hostname); + if (servname != NULL) + nvlist_add_string(nvl, "servname", servname); + if (hints != NULL) { + nvlist_add_number(nvl, "hints.ai_flags", + (uint64_t)hints->ai_flags); + nvlist_add_number(nvl, "hints.ai_family", + (uint64_t)hints->ai_family); + nvlist_add_number(nvl, "hints.ai_socktype", + (uint64_t)hints->ai_socktype); + nvlist_add_number(nvl, "hints.ai_protocol", + (uint64_t)hints->ai_protocol); + } + nvl = cap_xfer_nvlist(chan, nvl); + if (nvl == NULL) + return (EAI_MEMORY); + if (nvlist_get_number(nvl, "error") != 0) { + error = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (error); + } + + nvlai = NULL; + firstai = prevai = curai = NULL; + for (ii = 0; ; ii++) { + n = snprintf(nvlname, sizeof(nvlname), "res%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + if (!nvlist_exists_nvlist(nvl, nvlname)) + break; + nvlai = nvlist_get_nvlist(nvl, nvlname); + curai = addrinfo_unpack(nvlai); + if (curai == NULL) + return (EAI_MEMORY); + if (prevai != NULL) + prevai->ai_next = curai; + else + firstai = curai; + prevai = curai; + } + nvlist_destroy(nvl); + if (curai == NULL && nvlai != NULL) { + if (firstai == NULL) + freeaddrinfo(firstai); + return (EAI_MEMORY); + } + + *res = firstai; + return (0); +} + +int +cap_getnameinfo(cap_channel_t *chan, const struct sockaddr *sa, socklen_t salen, + char *host, size_t hostlen, char *serv, size_t servlen, int flags) +{ + nvlist_t *nvl; + int error; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "getnameinfo"); + nvlist_add_number(nvl, "hostlen", (uint64_t)hostlen); + nvlist_add_number(nvl, "servlen", (uint64_t)servlen); + nvlist_add_binary(nvl, "sa", sa, (size_t)salen); + nvlist_add_number(nvl, "flags", (uint64_t)flags); + nvl = cap_xfer_nvlist(chan, nvl); + if (nvl == NULL) + return (EAI_MEMORY); + if (nvlist_get_number(nvl, "error") != 0) { + error = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (error); + } + + if (host != NULL && nvlist_exists_string(nvl, "host")) + strlcpy(host, nvlist_get_string(nvl, "host"), hostlen + 1); + if (serv != NULL && nvlist_exists_string(nvl, "serv")) + strlcpy(serv, nvlist_get_string(nvl, "serv"), servlen + 1); + nvlist_destroy(nvl); + return (0); +} + +cap_net_limit_t * +cap_net_limit_init(cap_channel_t *chan, uint64_t mode) +{ + cap_net_limit_t *limit; + + limit = calloc(1, sizeof(*limit)); + if (limit != NULL) { + limit->cnl_mode = mode; + limit->cnl_chan = chan; + limit->cnl_addr2name = nvlist_create(0); + limit->cnl_name2addr = nvlist_create(0); + limit->cnl_connect = nvlist_create(0); + limit->cnl_bind = nvlist_create(0); + } + + return (limit); +} + +static void +pack_limit(nvlist_t *lnvl, const char *name, nvlist_t *limit) +{ + + if (!nvlist_empty(limit)) { + nvlist_move_nvlist(lnvl, name, limit); + } else { + nvlist_destroy(limit); + } +} + +int +cap_net_limit(cap_net_limit_t *limit) +{ + nvlist_t *lnvl; + cap_channel_t *chan; + + lnvl = nvlist_create(0); + nvlist_add_number(lnvl, "mode", limit->cnl_mode); + + pack_limit(lnvl, LIMIT_NV_ADDR2NAME, limit->cnl_addr2name); + pack_limit(lnvl, LIMIT_NV_NAME2ADDR, limit->cnl_name2addr); + pack_limit(lnvl, LIMIT_NV_CONNECT, limit->cnl_connect); + pack_limit(lnvl, LIMIT_NV_BIND, limit->cnl_bind); + + chan = limit->cnl_chan; + free(limit); + + return (cap_limit_set(chan, lnvl)); +} + +void +cap_net_free(cap_net_limit_t *limit) +{ + + if (limit == NULL) + return; + + nvlist_destroy(limit->cnl_addr2name); + nvlist_destroy(limit->cnl_name2addr); + nvlist_destroy(limit->cnl_connect); + nvlist_destroy(limit->cnl_bind); + + free(limit); +} + +static void +pack_family(nvlist_t *nvl, int *family, size_t size) +{ + size_t i; + + i = 0; + if (!nvlist_exists_number_array(nvl, "family")) { + uint64_t val; + + val = family[0]; + nvlist_add_number_array(nvl, "family", &val, 1); + i += 1; + } + + for (; i < size; i++) { + nvlist_append_number_array(nvl, "family", family[i]); + } +} + +static void +pack_sockaddr(nvlist_t *res, const struct sockaddr *sa, socklen_t salen) +{ + nvlist_t *nvl; + + if (!nvlist_exists_nvlist(res, "sockaddr")) { + nvl = nvlist_create(NV_FLAG_NO_UNIQUE); + } else { + nvl = nvlist_take_nvlist(res, "sockaddr"); + } + + nvlist_add_binary(nvl, "", sa, salen); + nvlist_move_nvlist(res, "sockaddr", nvl); +} + +cap_net_limit_t * +cap_net_limit_addr2name_family(cap_net_limit_t *limit, int *family, size_t size) +{ + + pack_family(limit->cnl_addr2name, family, size); + return (limit); +} + +cap_net_limit_t * +cap_net_limit_name2addr_family(cap_net_limit_t *limit, int *family, size_t size) +{ + + pack_family(limit->cnl_name2addr, family, size); + return (limit); +} + +cap_net_limit_t * +cap_net_limit_name2addr(cap_net_limit_t *limit, const char *host, + const char *serv) +{ + nvlist_t *nvl; + + if (!nvlist_exists_nvlist(limit->cnl_name2addr, "hosts")) { + nvl = nvlist_create(NV_FLAG_NO_UNIQUE); + } else { + nvl = nvlist_take_nvlist(limit->cnl_name2addr, "hosts"); + } + + nvlist_add_string(nvl, + host != NULL ? host : "", + serv != NULL ? serv : ""); + + nvlist_move_nvlist(limit->cnl_name2addr, "hosts", nvl); + return (limit); +} + +cap_net_limit_t * +cap_net_limit_addr2name(cap_net_limit_t *limit, const struct sockaddr *sa, + socklen_t salen) +{ + + pack_sockaddr(limit->cnl_addr2name, sa, salen); + return (limit); +} + + +cap_net_limit_t * +cap_net_limit_connect(cap_net_limit_t *limit, const struct sockaddr *sa, + socklen_t salen) +{ + + pack_sockaddr(limit->cnl_connect, sa, salen); + return (limit); +} + +cap_net_limit_t * +cap_net_limit_bind(cap_net_limit_t *limit, const struct sockaddr *sa, + socklen_t salen) +{ + + pack_sockaddr(limit->cnl_bind, sa, salen); + return (limit); +} + +/* + * Service functions. + */ + +static nvlist_t *capdnscache; + +static void +net_add_sockaddr_to_cache(struct sockaddr *sa, socklen_t salen, bool deprecated) +{ + void *cookie; + + if (capdnscache == NULL) { + capdnscache = nvlist_create(NV_FLAG_NO_UNIQUE); + } else { + /* Lets keep it clean. Look for dups. */ + cookie = NULL; + while (nvlist_next(capdnscache, NULL, &cookie) != NULL) { + const void *data; + size_t size; + + assert(cnvlist_type(cookie) == NV_TYPE_BINARY); + + data = cnvlist_get_binary(cookie, &size); + if (salen != size) + continue; + if (memcmp(data, sa, size) == 0) + return; + } + } + + nvlist_add_binary(capdnscache, deprecated ? "d" : "", sa, salen); +} + +static void +net_add_hostent_to_cache(const char *address, size_t asize, int family) +{ + + if (family != AF_INET && family != AF_INET6) + return; + + if (family == AF_INET6) { + struct sockaddr_in6 connaddr; + + memset(&connaddr, 0, sizeof(connaddr)); + connaddr.sin6_family = AF_INET6; + memcpy((char *)&connaddr.sin6_addr, address, asize); + connaddr.sin6_port = 0; + + net_add_sockaddr_to_cache((struct sockaddr *)&connaddr, + sizeof(connaddr), true); + } else { + struct sockaddr_in connaddr; + + memset(&connaddr, 0, sizeof(connaddr)); + connaddr.sin_family = AF_INET; + memcpy((char *)&connaddr.sin_addr.s_addr, address, asize); + connaddr.sin_port = 0; + + net_add_sockaddr_to_cache((struct sockaddr *)&connaddr, + sizeof(connaddr), true); + } +} + +static bool +net_allowed_mode(const nvlist_t *limits, uint64_t mode) +{ + + if (limits == NULL) + return (true); + + return ((nvlist_get_number(limits, "mode") & mode) == mode); +} *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Aug 16 18:21:22 2020 Return-Path: Delivered-To: svn-src-all@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 03A4E3C2C58; Sun, 16 Aug 2020 18:21:22 +0000 (UTC) (envelope-from mjg@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 4BV58x6QZRz4dps; Sun, 16 Aug 2020 18:21:21 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C15AD143C7; Sun, 16 Aug 2020 18:21:21 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GILLaL075426; Sun, 16 Aug 2020 18:21:21 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GILLBt075425; Sun, 16 Aug 2020 18:21:21 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161821.07GILLBt075425@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 18:21:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364277 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364277 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 18:21:22 -0000 Author: mjg Date: Sun Aug 16 18:21:21 2020 New Revision: 364277 URL: https://svnweb.freebsd.org/changeset/base/364277 Log: vfs: use namei_zone for getcwd allocations instead of malloc. Note that this should probably be wrapped with a dedicated API and other vn_getcwd callers did not get converted. Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Sun Aug 16 18:12:21 2020 (r364276) +++ head/sys/kern/vfs_cache.c Sun Aug 16 18:21:21 2020 (r364277) @@ -2427,11 +2427,11 @@ sys___getcwd(struct thread *td, struct __getcwd_args * if (buflen > MAXPATHLEN) buflen = MAXPATHLEN; - buf = malloc(buflen, M_TEMP, M_WAITOK); + buf = uma_zalloc(namei_zone, M_WAITOK); error = vn_getcwd(td, buf, &retbuf, &buflen); if (error == 0) error = copyout(retbuf, uap->buf, buflen); - free(buf, M_TEMP); + uma_zfree(namei_zone, buf); return (error); } @@ -2982,8 +2982,6 @@ DB_SHOW_COMMAND(vpath, db_show_vpath) } #endif - -extern uma_zone_t namei_zone; static bool __read_frequently cache_fast_lookup = true; SYSCTL_BOOL(_vfs, OID_AUTO, cache_fast_lookup, CTLFLAG_RW, From owner-svn-src-all@freebsd.org Sun Aug 16 18:27:43 2020 Return-Path: Delivered-To: svn-src-all@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 0AE443C3076; Sun, 16 Aug 2020 18:27:43 +0000 (UTC) (envelope-from mjg@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 4BV5JG6K8Xz4dvr; Sun, 16 Aug 2020 18:27:42 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B7DB2141E2; Sun, 16 Aug 2020 18:27:42 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GIRghE078365; Sun, 16 Aug 2020 18:27:42 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GIRgAf078364; Sun, 16 Aug 2020 18:27:42 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161827.07GIRgAf078364@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 18:27:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364280 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 364280 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 18:27:43 -0000 Author: mjg Date: Sun Aug 16 18:27:42 2020 New Revision: 364280 URL: https://svnweb.freebsd.org/changeset/base/364280 Log: vfs: restore sorted order of unused nameidata flags Modified: head/sys/sys/namei.h Modified: head/sys/sys/namei.h ============================================================================== --- head/sys/sys/namei.h Sun Aug 16 18:24:48 2020 (r364279) +++ head/sys/sys/namei.h Sun Aug 16 18:27:42 2020 (r364280) @@ -160,8 +160,8 @@ int cache_fplookup(struct nameidata *ndp, enum cache_f #define AUDITVNODE1 0x00040000 /* audit the looked up vnode information */ #define AUDITVNODE2 0x00080000 /* audit the looked up vnode information */ #define NOCAPCHECK 0x00100000 /* do not perform capability checks */ -/* UNUSED 0x00400000 */ /* UNUSED 0x00200000 */ +/* UNUSED 0x00400000 */ /* UNUSED 0x00800000 */ #define HASBUF 0x01000000 /* has allocated pathname buffer */ #define NOEXECCHECK 0x02000000 /* do not perform exec check on dir */ From owner-svn-src-all@freebsd.org Sun Aug 16 18:33:25 2020 Return-Path: Delivered-To: svn-src-all@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 681E03C33A9; Sun, 16 Aug 2020 18:33:25 +0000 (UTC) (envelope-from mjg@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 4BV5Qs2685z4fjJ; Sun, 16 Aug 2020 18:33:25 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2BCE414357; Sun, 16 Aug 2020 18:33:25 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GIXPLg084049; Sun, 16 Aug 2020 18:33:25 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GIXPQE084048; Sun, 16 Aug 2020 18:33:25 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161833.07GIXPQE084048@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 18:33:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364281 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364281 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 18:33:25 -0000 Author: mjg Date: Sun Aug 16 18:33:24 2020 New Revision: 364281 URL: https://svnweb.freebsd.org/changeset/base/364281 Log: cache: add NOCAPCHECK to the list of supported flags for lockless lookup It is de facto supported in that lockless lookup does not do any capability checks. Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Sun Aug 16 18:27:42 2020 (r364280) +++ head/sys/kern/vfs_cache.c Sun Aug 16 18:33:24 2020 (r364281) @@ -3144,7 +3144,7 @@ cache_fpl_handled_impl(struct cache_fpl *fpl, int erro #define CACHE_FPL_SUPPORTED_CN_FLAGS \ (LOCKLEAF | LOCKPARENT | WANTPARENT | NOCACHE | FOLLOW | LOCKSHARED | SAVENAME | \ - SAVESTART | WILLBEDIR | ISOPEN | NOMACCHECK | AUDITVNODE1 | AUDITVNODE2) + SAVESTART | WILLBEDIR | ISOPEN | NOMACCHECK | AUDITVNODE1 | AUDITVNODE2 | NOCAPCHECK) #define CACHE_FPL_INTERNAL_CN_FLAGS \ (ISDOTDOT | MAKEENTRY | ISLASTCN) From owner-svn-src-all@freebsd.org Sun Aug 16 18:45:31 2020 Return-Path: Delivered-To: svn-src-all@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 D63BF3C35AA; Sun, 16 Aug 2020 18:45:31 +0000 (UTC) (envelope-from mjg@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 4BV5hq5N1bz4gFk; Sun, 16 Aug 2020 18:45:31 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9BD4914725; Sun, 16 Aug 2020 18:45:31 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GIjVUe090348; Sun, 16 Aug 2020 18:45:31 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GIjVBm090347; Sun, 16 Aug 2020 18:45:31 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161845.07GIjVBm090347@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 18:45:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364282 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364282 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 18:45:31 -0000 Author: mjg Date: Sun Aug 16 18:45:31 2020 New Revision: 364282 URL: https://svnweb.freebsd.org/changeset/base/364282 Log: vfs: assert that VI_TEXT_REF is not already set Modified: head/sys/kern/vfs_default.c Modified: head/sys/kern/vfs_default.c ============================================================================== --- head/sys/kern/vfs_default.c Sun Aug 16 18:33:24 2020 (r364281) +++ head/sys/kern/vfs_default.c Sun Aug 16 18:45:31 2020 (r364282) @@ -1186,6 +1186,7 @@ vop_stdset_text(struct vop_set_text_args *ap) mp = vp->v_mount; if (mp != NULL && (mp->mnt_kern_flag & MNTK_TEXT_REFS) != 0 && vp->v_writecount == 0) { + VNPASS((vp->v_iflag & VI_TEXT_REF) == 0, vp); vp->v_iflag |= VI_TEXT_REF; vrefl(vp); } From owner-svn-src-all@freebsd.org Sun Aug 16 18:51:13 2020 Return-Path: Delivered-To: svn-src-all@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 97B913C3B86; Sun, 16 Aug 2020 18:51:13 +0000 (UTC) (envelope-from mjg@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 4BV5qP3XGQz3RZm; Sun, 16 Aug 2020 18:51:13 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5DDD214737; Sun, 16 Aug 2020 18:51:13 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GIpDPS091576; Sun, 16 Aug 2020 18:51:13 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GIpDD2091574; Sun, 16 Aug 2020 18:51:13 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008161851.07GIpDD2091574@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 16 Aug 2020 18:51:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364283 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 364283 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 18:51:13 -0000 Author: mjg Date: Sun Aug 16 18:51:12 2020 New Revision: 364283 URL: https://svnweb.freebsd.org/changeset/base/364283 Log: vfs: retire vrefl as a symbol vrefl calls vref and there is only one in-tree consumer. Keep it as a macro for assertion purposes. Modified: head/sys/kern/vfs_subr.c head/sys/sys/vnode.h Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Sun Aug 16 18:45:31 2020 (r364282) +++ head/sys/kern/vfs_subr.c Sun Aug 16 18:51:12 2020 (r364283) @@ -2929,15 +2929,6 @@ vref(struct vnode *vp) } void -vrefl(struct vnode *vp) -{ - - ASSERT_VI_LOCKED(vp, __func__); - CTR2(KTR_VFS, "%s: vp %p", __func__, vp); - vref(vp); -} - -void vrefact(struct vnode *vp) { Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Sun Aug 16 18:45:31 2020 (r364282) +++ head/sys/sys/vnode.h Sun Aug 16 18:51:12 2020 (r364283) @@ -965,7 +965,6 @@ do { \ void vput(struct vnode *vp); void vrele(struct vnode *vp); void vref(struct vnode *vp); -void vrefl(struct vnode *vp); void vrefact(struct vnode *vp); void v_addpollinfo(struct vnode *vp); static __inline int @@ -974,6 +973,11 @@ vrefcnt(struct vnode *vp) return (vp->v_usecount); } + +#define vrefl(vp) do { \ + ASSERT_VI_LOCKED(vp, __func__); \ + vref(vp); \ +} while (0) int vnode_create_vobject(struct vnode *vp, off_t size, struct thread *td); void vnode_destroy_vobject(struct vnode *vp); From owner-svn-src-all@freebsd.org Sun Aug 16 19:14:11 2020 Return-Path: Delivered-To: svn-src-all@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 5414E3C41D7; Sun, 16 Aug 2020 19:14:11 +0000 (UTC) (envelope-from dim@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 4BV6Kv0Xscz3T0b; Sun, 16 Aug 2020 19:14:11 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E6E821487B; Sun, 16 Aug 2020 19:14:10 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GJEABX008977; Sun, 16 Aug 2020 19:14:10 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GJE9Z1008970; Sun, 16 Aug 2020 19:14:09 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008161914.07GJE9Z1008970@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 16 Aug 2020 19:14:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364284 - in head: . contrib/llvm-project contrib/llvm-project/clang/include/clang contrib/llvm-project/clang/include/clang-c contrib/llvm-project/clang/include/clang/AST contrib/llvm-p... X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in head: . contrib/llvm-project contrib/llvm-project/clang/include/clang contrib/llvm-project/clang/include/clang-c contrib/llvm-project/clang/include/clang/AST contrib/llvm-project/clang/include/clan... X-SVN-Commit-Revision: 364284 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 19:14:11 -0000 Author: dim Date: Sun Aug 16 19:14:04 2020 New Revision: 364284 URL: https://svnweb.freebsd.org/changeset/base/364284 Log: Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp release/11.x llvmorg-11.0.0-rc1-47-gff47911ddfc. MFC after: 6 weeks Added: head/contrib/llvm-project/clang/include/clang/AST/ComputeDependence.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/AST/ComputeDependence.h head/contrib/llvm-project/clang/include/clang/AST/DeclObjCCommon.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/AST/DeclObjCCommon.h head/contrib/llvm-project/clang/include/clang/AST/DependenceFlags.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/AST/DependenceFlags.h head/contrib/llvm-project/clang/include/clang/AST/ParentMapContext.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/AST/ParentMapContext.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/GtestMatchers.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/ASTMatchers/GtestMatchers.h head/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowWorklist.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowWorklist.h head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsHexagonDep.def - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsHexagonDep.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsHexagonMapCustomDep.def - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsHexagonMapCustomDep.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsSVE.def - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsSVE.def head/contrib/llvm-project/clang/include/clang/Basic/FPOptions.def - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Basic/FPOptions.def head/contrib/llvm-project/clang/include/clang/Basic/arm_bf16.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Basic/arm_bf16.td head/contrib/llvm-project/clang/include/clang/Basic/arm_cde.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Basic/arm_cde.td head/contrib/llvm-project/clang/include/clang/Basic/arm_sve.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Basic/arm_sve.td head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/CheckerRegistryData.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/CheckerRegistryData.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicSize.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicSize.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Frontend/AnalyzerHelpFlags.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Frontend/AnalyzerHelpFlags.h head/contrib/llvm-project/clang/include/clang/Testing/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Testing/ head/contrib/llvm-project/clang/include/clang/Tooling/Transformer/Parsing.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/include/clang/Tooling/Transformer/Parsing.h head/contrib/llvm-project/clang/lib/AST/ComputeDependence.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/AST/ComputeDependence.cpp head/contrib/llvm-project/clang/lib/AST/Interp/InterpBlock.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/AST/Interp/InterpBlock.cpp head/contrib/llvm-project/clang/lib/AST/Interp/InterpBlock.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/AST/Interp/InterpBlock.h head/contrib/llvm-project/clang/lib/AST/ParentMapContext.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/AST/ParentMapContext.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Marshallers.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Marshallers.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/GtestMatchers.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/ASTMatchers/GtestMatchers.cpp head/contrib/llvm-project/clang/lib/Basic/ExpressionTraits.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Basic/ExpressionTraits.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/VE.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Basic/Targets/VE.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/VE.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Basic/Targets/VE.h head/contrib/llvm-project/clang/lib/Basic/TypeTraits.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Basic/TypeTraits.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/VE.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/VE.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/VE.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/VE.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/ROCm.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/ROCm.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/VEToolchain.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/VEToolchain.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/VEToolchain.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/VEToolchain.h head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_math.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_math.h head/contrib/llvm-project/clang/lib/Headers/__clang_hip_libdevice_declares.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/__clang_hip_libdevice_declares.h head/contrib/llvm-project/clang/lib/Headers/__clang_hip_math.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/__clang_hip_math.h head/contrib/llvm-project/clang/lib/Headers/__clang_hip_runtime_wrapper.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/__clang_hip_runtime_wrapper.h head/contrib/llvm-project/clang/lib/Headers/amxintrin.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/amxintrin.h head/contrib/llvm-project/clang/lib/Headers/cet.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/cet.h head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/complex - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/complex head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/complex.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/complex.h head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/new - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/new head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/time.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/time.h head/contrib/llvm-project/clang/lib/Headers/serializeintrin.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/serializeintrin.h head/contrib/llvm-project/clang/lib/Headers/tsxldtrkintrin.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/tsxldtrkintrin.h head/contrib/llvm-project/clang/lib/Headers/wasm_simd128.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Headers/wasm_simd128.h head/contrib/llvm-project/clang/lib/Sema/SemaAvailability.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Sema/SemaAvailability.cpp head/contrib/llvm-project/clang/lib/Sema/SemaSYCL.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Sema/SemaSYCL.cpp head/contrib/llvm-project/clang/lib/Sema/UsedDeclVisitor.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Sema/UsedDeclVisitor.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/SmartPtr.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/SmartPtr.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/WebKit/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/WebKit/ head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/cert/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/cert/ head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CheckerRegistryData.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CheckerRegistryData.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/DynamicSize.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/DynamicSize.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp head/contrib/llvm-project/clang/lib/Testing/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Testing/ head/contrib/llvm-project/clang/lib/Tooling/Transformer/Parsing.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/lib/Tooling/Transformer/Parsing.cpp head/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp head/contrib/llvm-project/compiler-rt/lib/builtins/int_div_impl.inc - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/builtins/int_div_impl.inc head/contrib/llvm-project/compiler-rt/lib/builtins/ve/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/builtins/ve/ head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerPlatform.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerPlatform.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/common.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/common.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/common.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/common.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/crash_handler.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/crash_handler.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/crash_handler.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/crash_handler.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/segv_handler.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/segv_handler.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/segv_handler_posix.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/segv_handler_posix.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/platform_specific/common_posix.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/platform_specific/common_posix.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/platform_specific/utilities_posix.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/platform_specific/utilities_posix.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/utilities.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/utilities.h head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_globals.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_globals.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_globals.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_globals.h head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_fuchsia.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_fuchsia.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_fuchsia.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_fuchsia.h head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_posix.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_posix.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_posix.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_posix.h head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingBiasVar.c - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingBiasVar.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingInternal.c - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingInternal.c head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_fuchsia.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_ptrauth.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_ptrauth.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/fuzz/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/fuzz/ head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/include/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/include/ head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/memtag.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/memtag.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/release.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/release.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/stack_depot.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/stack_depot.h head/contrib/llvm-project/libcxx/include/barrier - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libcxx/include/barrier head/contrib/llvm-project/libcxx/include/concepts - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libcxx/include/concepts head/contrib/llvm-project/libcxx/include/latch - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libcxx/include/latch head/contrib/llvm-project/libcxx/include/numbers - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libcxx/include/numbers head/contrib/llvm-project/libcxx/include/semaphore - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libcxx/include/semaphore head/contrib/llvm-project/libcxx/src/atomic.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libcxx/src/atomic.cpp head/contrib/llvm-project/libcxx/src/barrier.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libcxx/src/barrier.cpp head/contrib/llvm-project/libcxx/src/random_shuffle.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libcxx/src/random_shuffle.cpp head/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp head/contrib/llvm-project/lld/.clang-tidy - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lld/.clang-tidy head/contrib/llvm-project/lld/COFF/LLDMapFile.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lld/COFF/LLDMapFile.cpp head/contrib/llvm-project/lld/COFF/LLDMapFile.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lld/COFF/LLDMapFile.h head/contrib/llvm-project/lld/MachO/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lld/MachO/ head/contrib/llvm-project/lld/docs/ELF/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lld/docs/ELF/ head/contrib/llvm-project/lldb/bindings/interface/SBCommandInterpreterRunOptions.i - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/bindings/interface/SBCommandInterpreterRunOptions.i head/contrib/llvm-project/lldb/bindings/interface/SBEnvironment.i - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/bindings/interface/SBEnvironment.i head/contrib/llvm-project/lldb/bindings/interface/SBReproducer.i - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/bindings/interface/SBReproducer.i head/contrib/llvm-project/lldb/include/lldb/API/SBCommandInterpreterRunOptions.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/include/lldb/API/SBCommandInterpreterRunOptions.h head/contrib/llvm-project/lldb/include/lldb/API/SBEnvironment.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/include/lldb/API/SBEnvironment.h head/contrib/llvm-project/lldb/include/lldb/Target/AssertFrameRecognizer.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/include/lldb/Target/AssertFrameRecognizer.h head/contrib/llvm-project/lldb/include/lldb/Target/RegisterContextUnwind.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/include/lldb/Target/RegisterContextUnwind.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStack.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStack.h head/contrib/llvm-project/lldb/include/lldb/Target/UnwindLLDB.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/include/lldb/Target/UnwindLLDB.h head/contrib/llvm-project/lldb/include/lldb/Utility/XcodeSDK.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/include/lldb/Utility/XcodeSDK.h head/contrib/llvm-project/lldb/source/API/SBCommandInterpreterRunOptions.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/API/SBCommandInterpreterRunOptions.cpp head/contrib/llvm-project/lldb/source/API/SBEnvironment.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/API/SBEnvironment.cpp head/contrib/llvm-project/lldb/source/Host/netbsd/HostNetBSD.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Host/netbsd/HostNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/AArch64/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ABI/AArch64/ head/contrib/llvm-project/lldb/source/Plugins/ABI/ARC/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ABI/ARC/ head/contrib/llvm-project/lldb/source/Plugins/ABI/ARM/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ABI/ARM/ head/contrib/llvm-project/lldb/source/Plugins/ABI/Hexagon/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ABI/Hexagon/ head/contrib/llvm-project/lldb/source/Plugins/ABI/Mips/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ABI/Mips/ head/contrib/llvm-project/lldb/source/Plugins/ABI/PowerPC/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ABI/PowerPC/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SystemZ/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ABI/SystemZ/ head/contrib/llvm-project/lldb/source/Plugins/ABI/X86/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ABI/X86/ head/contrib/llvm-project/lldb/source/Plugins/Disassembler/LLVMC/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/Disassembler/LLVMC/ head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/wasm-DYLD/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/wasm-DYLD/ head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtil.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtil.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtil.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtil.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/ASan/InstrumentationRuntimeASan.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/ASan/InstrumentationRuntimeASan.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/ASan/InstrumentationRuntimeASan.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/ASan/InstrumentationRuntimeASan.h head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.h head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.h head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CFBasicHash.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CFBasicHash.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CFBasicHash.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CFBasicHash.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/wasm/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/ObjectFile/wasm/ head/contrib/llvm-project/lldb/source/Plugins/Plugins.def.in - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/Plugins.def.in head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoAndSetInterface.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoAndSetInterface.h head/contrib/llvm-project/lldb/source/Plugins/SymbolVendor/wasm/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/SymbolVendor/wasm/ head/contrib/llvm-project/lldb/source/Plugins/TypeSystem/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Plugins/TypeSystem/ head/contrib/llvm-project/lldb/source/Target/AssertFrameRecognizer.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Target/AssertFrameRecognizer.cpp head/contrib/llvm-project/lldb/source/Target/RegisterContextUnwind.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Target/RegisterContextUnwind.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStack.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Target/ThreadPlanStack.cpp head/contrib/llvm-project/lldb/source/Target/UnwindLLDB.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Target/UnwindLLDB.cpp head/contrib/llvm-project/lldb/source/Utility/XcodeSDK.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/lldb/source/Utility/XcodeSDK.cpp head/contrib/llvm-project/llvm/include/llvm-c/Orc.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm-c/Orc.h head/contrib/llvm-project/llvm/include/llvm/ADT/Bitfields.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ADT/Bitfields.h head/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h head/contrib/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h head/contrib/llvm-project/llvm/include/llvm/ADT/Waymarking.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ADT/Waymarking.h head/contrib/llvm-project/llvm/include/llvm/Analysis/AssumeBundleQueries.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/AssumeBundleQueries.h head/contrib/llvm-project/llvm/include/llvm/Analysis/HeatUtils.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/HeatUtils.h head/contrib/llvm-project/llvm/include/llvm/Analysis/InlineAdvisor.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/InlineAdvisor.h head/contrib/llvm-project/llvm/include/llvm/Analysis/InlineFeaturesAnalysis.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/InlineFeaturesAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/InlineModelFeatureMaps.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/InlineModelFeatureMaps.h head/contrib/llvm-project/llvm/include/llvm/Analysis/InlineSizeEstimatorAnalysis.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/InlineSizeEstimatorAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopNestAnalysis.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/LoopNestAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MLInlineAdvisor.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/MLInlineAdvisor.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MLModelRunner.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/MLModelRunner.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ScalarEvolutionDivision.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/ScalarEvolutionDivision.h head/contrib/llvm-project/llvm/include/llvm/Analysis/StackLifetime.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/StackLifetime.h head/contrib/llvm-project/llvm/include/llvm/Analysis/Utils/TFUtils.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Analysis/Utils/TFUtils.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/VE.def - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/VE.def head/contrib/llvm-project/llvm/include/llvm/CodeGen/AntiDepBreaker.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/CodeGen/AntiDepBreaker.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/CommandFlags.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/CodeGen/CommandFlags.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/LostDebugLocObserver.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/LostDebugLocObserver.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/IndirectThunks.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/CodeGen/IndirectThunks.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveIntervalCalc.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveIntervalCalc.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MBFIWrapper.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/CodeGen/MBFIWrapper.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/Spiller.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/CodeGen/Spiller.h head/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFStreamer.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFStreamer.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumLineNumbers.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumLineNumbers.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeFunctionSymbol.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeFunctionSymbol.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeLineNumber.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeLineNumber.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativePublicSymbol.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativePublicSymbol.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeSourceFile.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeSourceFile.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/ELF.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/ELF.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/ELF_x86_64.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/ELF_x86_64.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Mangling.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Mangling.h head/contrib/llvm-project/llvm/include/llvm/Frontend/Directive/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Frontend/Directive/ head/contrib/llvm-project/llvm/include/llvm/Frontend/OpenACC/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Frontend/OpenACC/ head/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMP.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMP.td head/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMPContext.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMPContext.h head/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMPGridValues.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMPGridValues.h head/contrib/llvm-project/llvm/include/llvm/IR/AbstractCallSite.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/IR/AbstractCallSite.h head/contrib/llvm-project/llvm/include/llvm/IR/IRBuilderFolder.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/IR/IRBuilderFolder.h head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsHexagonDep.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsHexagonDep.td head/contrib/llvm-project/llvm/include/llvm/IR/LLVMRemarkStreamer.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/IR/LLVMRemarkStreamer.h head/contrib/llvm-project/llvm/include/llvm/IR/MatrixBuilder.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/IR/MatrixBuilder.h head/contrib/llvm-project/llvm/include/llvm/IR/PassManagerImpl.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/IR/PassManagerImpl.h head/contrib/llvm-project/llvm/include/llvm/IR/VPIntrinsics.def - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/IR/VPIntrinsics.def head/contrib/llvm-project/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h head/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkStreamer.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkStreamer.h head/contrib/llvm-project/llvm/include/llvm/Support/AllocatorBase.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/AllocatorBase.h head/contrib/llvm-project/llvm/include/llvm/Support/Base64.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/Base64.h head/contrib/llvm-project/llvm/include/llvm/Support/CFGDiff.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/CFGDiff.h head/contrib/llvm-project/llvm/include/llvm/Support/ELFAttributeParser.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/ELFAttributeParser.h head/contrib/llvm-project/llvm/include/llvm/Support/ELFAttributes.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/ELFAttributes.h head/contrib/llvm-project/llvm/include/llvm/Support/ExtensibleRTTI.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/ExtensibleRTTI.h head/contrib/llvm-project/llvm/include/llvm/Support/OptimizedStructLayout.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/OptimizedStructLayout.h head/contrib/llvm-project/llvm/include/llvm/Support/RISCVAttributeParser.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/RISCVAttributeParser.h head/contrib/llvm-project/llvm/include/llvm/Support/RISCVAttributes.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/RISCVAttributes.h head/contrib/llvm-project/llvm/include/llvm/Support/RISCVTargetParser.def - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/RISCVTargetParser.def head/contrib/llvm-project/llvm/include/llvm/Support/SuffixTree.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/SuffixTree.h head/contrib/llvm-project/llvm/include/llvm/Support/X86TargetParser.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Support/X86TargetParser.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Coroutines/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Coroutines/ head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/OpenMPOpt.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/OpenMPOpt.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/AssumeBundleBuilder.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/AssumeBundleBuilder.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CallGraphUpdater.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CallGraphUpdater.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CanonicalizeFreezeInLoops.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CanonicalizeFreezeInLoops.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/UniqueInternalLinkageNames.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/UniqueInternalLinkageNames.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/VectorCombine.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/VectorCombine.h head/contrib/llvm-project/llvm/lib/Analysis/AssumeBundleQueries.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/AssumeBundleQueries.cpp head/contrib/llvm-project/llvm/lib/Analysis/HeatUtils.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/HeatUtils.cpp head/contrib/llvm-project/llvm/lib/Analysis/InlineAdvisor.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/InlineAdvisor.cpp head/contrib/llvm-project/llvm/lib/Analysis/InlineFeaturesAnalysis.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/InlineFeaturesAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/InlineSizeEstimatorAnalysis.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/InlineSizeEstimatorAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopNestAnalysis.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/LoopNestAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/MLInlineAdvisor.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/MLInlineAdvisor.cpp head/contrib/llvm-project/llvm/lib/Analysis/ReleaseModeModelRunner.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/ReleaseModeModelRunner.cpp head/contrib/llvm-project/llvm/lib/Analysis/ScalarEvolutionDivision.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/ScalarEvolutionDivision.cpp head/contrib/llvm-project/llvm/lib/Analysis/StackLifetime.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/StackLifetime.cpp head/contrib/llvm-project/llvm/lib/Analysis/TFUtils.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/TFUtils.cpp head/contrib/llvm-project/llvm/lib/Analysis/models/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Analysis/models/ head/contrib/llvm-project/llvm/lib/BinaryFormat/MachO.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/BinaryFormat/MachO.cpp head/contrib/llvm-project/llvm/lib/CodeGen/BBSectionsPrepare.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/BBSectionsPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CommandFlags.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/CommandFlags.cpp head/contrib/llvm-project/llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/LostDebugLocObserver.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/LostDebugLocObserver.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveIntervalCalc.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/LiveIntervalCalc.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MBFIWrapper.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/MBFIWrapper.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineDebugify.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/MachineDebugify.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineStripDebug.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/CodeGen/MachineStripDebug.cpp head/contrib/llvm-project/llvm/lib/DWARFLinker/DWARFStreamer.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/DWARFLinker/DWARFStreamer.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeEnumLineNumbers.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeEnumLineNumbers.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeLineNumber.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeLineNumber.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativePublicSymbol.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativePublicSymbol.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeSourceFile.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeSourceFile.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Mangling.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Mangling.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp head/contrib/llvm-project/llvm/lib/Frontend/OpenACC/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Frontend/OpenACC/ head/contrib/llvm-project/llvm/lib/Frontend/OpenMP/OMPContext.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Frontend/OpenMP/OMPContext.cpp head/contrib/llvm-project/llvm/lib/IR/LLVMRemarkStreamer.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/IR/LLVMRemarkStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCInstrInfo.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/MC/MCInstrInfo.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/COFFMasmParser.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/MC/MCParser/COFFMasmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/MasmParser.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/MC/MCParser/MasmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCSymbolXCOFF.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/MC/MCSymbolXCOFF.cpp head/contrib/llvm-project/llvm/lib/MC/MCTargetOptionsCommandFlags.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/MC/MCTargetOptionsCommandFlags.cpp head/contrib/llvm-project/llvm/lib/Remarks/RemarkStreamer.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Remarks/RemarkStreamer.cpp head/contrib/llvm-project/llvm/lib/Support/ELFAttributeParser.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/ELFAttributeParser.cpp head/contrib/llvm-project/llvm/lib/Support/ELFAttributes.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/ELFAttributes.cpp head/contrib/llvm-project/llvm/lib/Support/ExtensibleRTTI.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/ExtensibleRTTI.cpp head/contrib/llvm-project/llvm/lib/Support/MemAlloc.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/MemAlloc.cpp head/contrib/llvm-project/llvm/lib/Support/OptimizedStructLayout.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/OptimizedStructLayout.cpp head/contrib/llvm-project/llvm/lib/Support/RISCVAttributeParser.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/RISCVAttributeParser.cpp head/contrib/llvm-project/llvm/lib/Support/RISCVAttributes.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/RISCVAttributes.cpp head/contrib/llvm-project/llvm/lib/Support/SuffixTree.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/SuffixTree.cpp head/contrib/llvm-project/llvm/lib/Support/X86TargetParser.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Support/X86TargetParser.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrGISel.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrGISel.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SLSHardening.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SLSHardening.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ head/contrib/llvm-project/llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCombine.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCombine.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUExportClustering.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUExportClustering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUExportClustering.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUExportClustering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRemoveShortExecBranches.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRemoveShortExecBranches.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrCDE.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrCDE.td head/contrib/llvm-project/llvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFPreserveDIType.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/BPF/BPFPreserveDIType.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonArch.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonArch.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepMask.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepMask.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonScheduleV67.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonScheduleV67.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonScheduleV67T.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonScheduleV67T.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrPrefix.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrPrefix.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMacroFusion.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMacroFusion.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMacroFusion.def - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMacroFusion.def head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMacroFusion.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMacroFusion.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrFormatsV.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrFormatsV.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoB.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoB.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoV.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoV.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp head/contrib/llvm-project/llvm/lib/Target/VE/AsmParser/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/AsmParser/ head/contrib/llvm-project/llvm/lib/Target/VE/Disassembler/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/Disassembler/ head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEFixupKinds.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEFixupKinds.h head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h head/contrib/llvm-project/llvm/lib/Target/VE/TargetInfo/VETargetInfo.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/TargetInfo/VETargetInfo.h head/contrib/llvm-project/llvm/lib/Target/VE/VEMachineFunctionInfo.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/VEMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VEMachineFunctionInfo.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/VE/VEMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyDebugFixup.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyDebugFixup.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.h head/contrib/llvm-project/llvm/lib/Target/X86/X86InsertWait.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/X86/X86InsertWait.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrAMX.td - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/X86/X86InstrAMX.td head/contrib/llvm-project/llvm/lib/Target/X86/X86PartialReduction.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/X86/X86PartialReduction.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/AttributorAttributes.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/IPO/AttributorAttributes.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/OpenMPOpt.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/IPO/OpenMPOpt.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CallGraphUpdater.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Utils/CallGraphUpdater.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/FixIrreducible.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Utils/FixIrreducible.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/UnifyLoopExits.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Utils/UnifyLoopExits.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/UniqueInternalLinkageNames.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Utils/UniqueInternalLinkageNames.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VectorCombine.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VectorCombine.cpp head/contrib/llvm-project/llvm/tools/llvm-dwarfdump/SectionSizes.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-dwarfdump/SectionSizes.cpp head/contrib/llvm-project/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/wasm/ - copied from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-objcopy/wasm/ head/contrib/llvm-project/llvm/tools/llvm-objdump/COFFDump.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-objdump/COFFDump.h head/contrib/llvm-project/llvm/tools/llvm-objdump/ELFDump.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-objdump/ELFDump.h head/contrib/llvm-project/llvm/tools/llvm-objdump/MachODump.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-objdump/MachODump.h head/contrib/llvm-project/llvm/tools/llvm-objdump/WasmDump.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-objdump/WasmDump.h head/contrib/llvm-project/llvm/tools/llvm-objdump/XCOFFDump.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-objdump/XCOFFDump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/XCOFFDump.h - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/tools/llvm-objdump/XCOFFDump.h head/contrib/llvm-project/llvm/utils/TableGen/DirectiveEmitter.cpp - copied unchanged from r364279, projects/clang1100-import/contrib/llvm-project/llvm/utils/TableGen/DirectiveEmitter.cpp head/lib/clang/include/Plugins/ - copied from r364279, projects/clang1100-import/lib/clang/include/Plugins/ Deleted: head/contrib/llvm-project/clang/include/clang/Driver/CC1Options.td head/contrib/llvm-project/clang/include/clang/Driver/CLCompatOptions.td head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h head/contrib/llvm-project/clang/lib/AST/Interp/Block.cpp head/contrib/llvm-project/clang/lib/AST/Interp/Block.h head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/__clang_openmp_math.h head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/__clang_openmp_math_declares.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SubEngine.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp head/contrib/llvm-project/compiler-rt/lib/builtins/hexagon/fabs_opt.S head/contrib/llvm-project/compiler-rt/lib/builtins/hexagon/fma_opt.S head/contrib/llvm-project/compiler-rt/lib/builtins/hexagon/fmax_opt.S head/contrib/llvm-project/compiler-rt/lib/builtins/hexagon/fmin_opt.S head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/interface.h head/contrib/llvm-project/lld/.arcconfig head/contrib/llvm-project/lld/Common/Threads.cpp head/contrib/llvm-project/lld/include/lld/Common/Threads.h head/contrib/llvm-project/lldb/include/lldb/Core/ClangForward.h head/contrib/llvm-project/lldb/include/lldb/Host/TaskPool.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangASTContext.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangASTImporter.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangASTMetadata.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangUtil.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CxxModuleHandler.h head/contrib/llvm-project/lldb/include/lldb/Utility/SharingPtr.h head/contrib/llvm-project/lldb/source/Host/common/TaskPool.cpp head/contrib/llvm-project/lldb/source/Host/netbsd/Host.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-arm/ head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-arm64/ head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-i386/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arc/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arm/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arm64/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-hexagon/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-i386/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-mips/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-mips64/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-ppc/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-ppc64/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-s390x/ head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-x86_64/ head/contrib/llvm-project/lldb/source/Plugins/ABI/Windows-x86_64/ head/contrib/llvm-project/lldb/source/Plugins/Disassembler/llvm/ head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.h head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.h head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.h head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.h head/contrib/llvm-project/lldb/source/Plugins/Process/Darwin/ head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/UnwindLLDB.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwoDwp.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwoDwp.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwp.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwp.h head/contrib/llvm-project/lldb/source/Symbol/ClangASTContext.cpp head/contrib/llvm-project/lldb/source/Symbol/ClangASTImporter.cpp head/contrib/llvm-project/lldb/source/Symbol/ClangASTMetadata.cpp head/contrib/llvm-project/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp head/contrib/llvm-project/lldb/source/Symbol/ClangUtil.cpp head/contrib/llvm-project/lldb/source/Symbol/CxxModuleHandler.cpp head/contrib/llvm-project/lldb/source/Utility/SharingPtr.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/ head/contrib/llvm-project/llvm/include/llvm/Analysis/OrderedBasicBlock.h head/contrib/llvm-project/llvm/include/llvm/Analysis/OrderedInstructions.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/CommandFlags.inc head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/Types.h head/contrib/llvm-project/llvm/include/llvm/IR/CFGDiff.h head/contrib/llvm-project/llvm/include/llvm/IR/CallSite.h head/contrib/llvm-project/llvm/include/llvm/IR/RemarkStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.inc head/contrib/llvm-project/llvm/include/llvm/Support/StringPool.h head/contrib/llvm-project/llvm/lib/Analysis/OrderedBasicBlock.cpp head/contrib/llvm-project/llvm/lib/Analysis/OrderedInstructions.cpp head/contrib/llvm-project/llvm/lib/Analysis/ScalarEvolutionExpander.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AntiDepBreaker.h head/contrib/llvm-project/llvm/lib/CodeGen/SafeStackColoring.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SafeStackColoring.h head/contrib/llvm-project/llvm/lib/CodeGen/Spiller.h head/contrib/llvm-project/llvm/lib/Frontend/OpenMP/OMPConstants.cpp head/contrib/llvm-project/llvm/lib/IR/AttributesCompatFunc.td head/contrib/llvm-project/llvm/lib/IR/RemarkStreamer.cpp head/contrib/llvm-project/llvm/lib/Support/StringPool.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallLowering.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64LegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VIInstructions.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonInstrFormatsV5.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/VE/InstPrinter/ head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp head/contrib/llvm-project/llvm/lib/Target/X86/Utils/ Modified: head/ObsoleteFiles.inc head/UPDATING head/contrib/llvm-project/FREEBSD-Xlist head/contrib/llvm-project/clang/include/clang-c/BuildSystem.h head/contrib/llvm-project/clang/include/clang-c/Index.h head/contrib/llvm-project/clang/include/clang-c/Platform.h head/contrib/llvm-project/clang/include/clang/AST/APValue.h head/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h head/contrib/llvm-project/clang/include/clang/AST/ASTContext.h head/contrib/llvm-project/clang/include/clang/AST/ASTDumper.h head/contrib/llvm-project/clang/include/clang/AST/ASTDumperUtils.h head/contrib/llvm-project/clang/include/clang/AST/ASTFwd.h head/contrib/llvm-project/clang/include/clang/AST/ASTImporter.h head/contrib/llvm-project/clang/include/clang/AST/ASTNodeTraverser.h head/contrib/llvm-project/clang/include/clang/AST/ASTTypeTraits.h head/contrib/llvm-project/clang/include/clang/AST/Attr.h head/contrib/llvm-project/clang/include/clang/AST/BuiltinTypes.def head/contrib/llvm-project/clang/include/clang/AST/CXXInheritance.h head/contrib/llvm-project/clang/include/clang/AST/CXXRecordDeclDefinitionBits.def head/contrib/llvm-project/clang/include/clang/AST/CanonicalType.h head/contrib/llvm-project/clang/include/clang/AST/Comment.h head/contrib/llvm-project/clang/include/clang/AST/CommentCommands.td head/contrib/llvm-project/clang/include/clang/AST/CommentSema.h head/contrib/llvm-project/clang/include/clang/AST/DataCollection.h head/contrib/llvm-project/clang/include/clang/AST/Decl.h head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h head/contrib/llvm-project/clang/include/clang/AST/DeclCXX.h head/contrib/llvm-project/clang/include/clang/AST/DeclGroup.h head/contrib/llvm-project/clang/include/clang/AST/DeclObjC.h head/contrib/llvm-project/clang/include/clang/AST/DeclOpenMP.h head/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h head/contrib/llvm-project/clang/include/clang/AST/Expr.h head/contrib/llvm-project/clang/include/clang/AST/ExprCXX.h head/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h head/contrib/llvm-project/clang/include/clang/AST/ExprObjC.h head/contrib/llvm-project/clang/include/clang/AST/ExprOpenMP.h head/contrib/llvm-project/clang/include/clang/AST/ExternalASTSource.h head/contrib/llvm-project/clang/include/clang/AST/GlobalDecl.h head/contrib/llvm-project/clang/include/clang/AST/JSONNodeDumper.h head/contrib/llvm-project/clang/include/clang/AST/LocInfoType.h head/contrib/llvm-project/clang/include/clang/AST/Mangle.h head/contrib/llvm-project/clang/include/clang/AST/NestedNameSpecifier.h head/contrib/llvm-project/clang/include/clang/AST/NonTrivialTypeVisitor.h head/contrib/llvm-project/clang/include/clang/AST/ODRHash.h head/contrib/llvm-project/clang/include/clang/AST/OpenMPClause.h head/contrib/llvm-project/clang/include/clang/AST/PrettyPrinter.h head/contrib/llvm-project/clang/include/clang/AST/RawCommentList.h head/contrib/llvm-project/clang/include/clang/AST/RecursiveASTVisitor.h head/contrib/llvm-project/clang/include/clang/AST/Stmt.h head/contrib/llvm-project/clang/include/clang/AST/StmtOpenMP.h head/contrib/llvm-project/clang/include/clang/AST/TemplateBase.h head/contrib/llvm-project/clang/include/clang/AST/TemplateName.h head/contrib/llvm-project/clang/include/clang/AST/TextNodeDumper.h head/contrib/llvm-project/clang/include/clang/AST/Type.h head/contrib/llvm-project/clang/include/clang/AST/TypeLoc.h head/contrib/llvm-project/clang/include/clang/AST/TypeLocVisitor.h head/contrib/llvm-project/clang/include/clang/AST/TypeProperties.td head/contrib/llvm-project/clang/include/clang/AST/VTableBuilder.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchFinder.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersMacros.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/Dynamic/Diagnostics.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h head/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h head/contrib/llvm-project/clang/include/clang/Analysis/Analyses/LiveVariables.h head/contrib/llvm-project/clang/include/clang/Analysis/Analyses/PostOrderCFGView.h head/contrib/llvm-project/clang/include/clang/Analysis/Analyses/ThreadSafety.h head/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UninitializedValues.h head/contrib/llvm-project/clang/include/clang/Analysis/AnalysisDeclContext.h head/contrib/llvm-project/clang/include/clang/Analysis/AnyCall.h head/contrib/llvm-project/clang/include/clang/Analysis/CFG.h head/contrib/llvm-project/clang/include/clang/Analysis/CallGraph.h head/contrib/llvm-project/clang/include/clang/Analysis/ConstructionContext.h head/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowValues.h head/contrib/llvm-project/clang/include/clang/Analysis/PathDiagnostic.h head/contrib/llvm-project/clang/include/clang/Basic/AArch64SVEACLETypes.def head/contrib/llvm-project/clang/include/clang/Basic/Attr.td head/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td head/contrib/llvm-project/clang/include/clang/Basic/AttributeCommonInfo.h head/contrib/llvm-project/clang/include/clang/Basic/Builtins.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsAMDGPU.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsARM.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsBPF.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsHexagon.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsMips.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsNVPTX.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsPPC.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsWebAssembly.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsX86.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsX86_64.def head/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.def head/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.h head/contrib/llvm-project/clang/include/clang/Basic/Cuda.h head/contrib/llvm-project/clang/include/clang/Basic/DeclNodes.td head/contrib/llvm-project/clang/include/clang/Basic/Diagnostic.h head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticASTKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommonKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticFrontendKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticGroups.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticIDs.h head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticLexKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticOptions.def head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticOptions.h head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td head/contrib/llvm-project/clang/include/clang/Basic/ExpressionTraits.h head/contrib/llvm-project/clang/include/clang/Basic/Features.def head/contrib/llvm-project/clang/include/clang/Basic/FileManager.h head/contrib/llvm-project/clang/include/clang/Basic/FixedPoint.h head/contrib/llvm-project/clang/include/clang/Basic/IdentifierTable.h head/contrib/llvm-project/clang/include/clang/Basic/JsonSupport.h head/contrib/llvm-project/clang/include/clang/Basic/LangOptions.def head/contrib/llvm-project/clang/include/clang/Basic/LangOptions.h head/contrib/llvm-project/clang/include/clang/Basic/LangStandard.h head/contrib/llvm-project/clang/include/clang/Basic/LangStandards.def head/contrib/llvm-project/clang/include/clang/Basic/Module.h head/contrib/llvm-project/clang/include/clang/Basic/ObjCRuntime.h head/contrib/llvm-project/clang/include/clang/Basic/OpenCLExtensions.def head/contrib/llvm-project/clang/include/clang/Basic/OpenMPKinds.def head/contrib/llvm-project/clang/include/clang/Basic/OpenMPKinds.h head/contrib/llvm-project/clang/include/clang/Basic/PartialDiagnostic.h head/contrib/llvm-project/clang/include/clang/Basic/PragmaKinds.h head/contrib/llvm-project/clang/include/clang/Basic/SanitizerBlacklist.h head/contrib/llvm-project/clang/include/clang/Basic/SanitizerSpecialCaseList.h head/contrib/llvm-project/clang/include/clang/Basic/Sanitizers.def head/contrib/llvm-project/clang/include/clang/Basic/SourceLocation.h head/contrib/llvm-project/clang/include/clang/Basic/SourceManager.h head/contrib/llvm-project/clang/include/clang/Basic/Specifiers.h head/contrib/llvm-project/clang/include/clang/Basic/StmtNodes.td head/contrib/llvm-project/clang/include/clang/Basic/TargetBuiltins.h head/contrib/llvm-project/clang/include/clang/Basic/TargetCXXABI.h head/contrib/llvm-project/clang/include/clang/Basic/TargetInfo.h head/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.def head/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h head/contrib/llvm-project/clang/include/clang/Basic/TypeNodes.td head/contrib/llvm-project/clang/include/clang/Basic/TypeTraits.h head/contrib/llvm-project/clang/include/clang/Basic/X86Target.def head/contrib/llvm-project/clang/include/clang/Basic/XRayInstr.h head/contrib/llvm-project/clang/include/clang/Basic/XRayLists.h head/contrib/llvm-project/clang/include/clang/Basic/arm_mve.td head/contrib/llvm-project/clang/include/clang/Basic/arm_mve_defs.td head/contrib/llvm-project/clang/include/clang/Basic/arm_neon.td head/contrib/llvm-project/clang/include/clang/Basic/arm_neon_incl.td head/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h head/contrib/llvm-project/clang/include/clang/CodeGen/CodeGenABITypes.h head/contrib/llvm-project/clang/include/clang/CodeGen/ConstantInitBuilder.h head/contrib/llvm-project/clang/include/clang/CodeGen/ConstantInitFuture.h head/contrib/llvm-project/clang/include/clang/CrossTU/CrossTranslationUnit.h head/contrib/llvm-project/clang/include/clang/Driver/Action.h head/contrib/llvm-project/clang/include/clang/Driver/Distro.h head/contrib/llvm-project/clang/include/clang/Driver/Driver.h head/contrib/llvm-project/clang/include/clang/Driver/Job.h head/contrib/llvm-project/clang/include/clang/Driver/Multilib.h head/contrib/llvm-project/clang/include/clang/Driver/Options.td head/contrib/llvm-project/clang/include/clang/Driver/Phases.h head/contrib/llvm-project/clang/include/clang/Driver/SanitizerArgs.h head/contrib/llvm-project/clang/include/clang/Driver/Tool.h head/contrib/llvm-project/clang/include/clang/Driver/ToolChain.h head/contrib/llvm-project/clang/include/clang/Driver/Types.h head/contrib/llvm-project/clang/include/clang/Driver/XRayArgs.h head/contrib/llvm-project/clang/include/clang/Format/Format.h head/contrib/llvm-project/clang/include/clang/Frontend/ASTConsumers.h head/contrib/llvm-project/clang/include/clang/Frontend/ASTUnit.h head/contrib/llvm-project/clang/include/clang/Frontend/CommandLineSourceLoc.h head/contrib/llvm-project/clang/include/clang/Frontend/CompilerInstance.h head/contrib/llvm-project/clang/include/clang/Frontend/CompilerInvocation.h head/contrib/llvm-project/clang/include/clang/Frontend/FrontendAction.h head/contrib/llvm-project/clang/include/clang/Frontend/FrontendActions.h head/contrib/llvm-project/clang/include/clang/Frontend/FrontendOptions.h head/contrib/llvm-project/clang/include/clang/Frontend/LogDiagnosticPrinter.h head/contrib/llvm-project/clang/include/clang/Frontend/PrecompiledPreamble.h head/contrib/llvm-project/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h head/contrib/llvm-project/clang/include/clang/Index/IndexSymbol.h head/contrib/llvm-project/clang/include/clang/Index/IndexingAction.h head/contrib/llvm-project/clang/include/clang/Index/IndexingOptions.h head/contrib/llvm-project/clang/include/clang/Lex/DirectoryLookup.h head/contrib/llvm-project/clang/include/clang/Lex/HeaderSearch.h head/contrib/llvm-project/clang/include/clang/Lex/HeaderSearchOptions.h head/contrib/llvm-project/clang/include/clang/Lex/LiteralSupport.h head/contrib/llvm-project/clang/include/clang/Lex/ModuleMap.h head/contrib/llvm-project/clang/include/clang/Lex/PPCallbacks.h head/contrib/llvm-project/clang/include/clang/Lex/Pragma.h head/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h head/contrib/llvm-project/clang/include/clang/Lex/PreprocessorOptions.h head/contrib/llvm-project/clang/include/clang/Parse/Parser.h head/contrib/llvm-project/clang/include/clang/Parse/RAIIObjectsForParser.h head/contrib/llvm-project/clang/include/clang/Sema/DeclSpec.h head/contrib/llvm-project/clang/include/clang/Sema/ExternalSemaSource.h head/contrib/llvm-project/clang/include/clang/Sema/Initialization.h head/contrib/llvm-project/clang/include/clang/Sema/Lookup.h head/contrib/llvm-project/clang/include/clang/Sema/MultiplexExternalSemaSource.h head/contrib/llvm-project/clang/include/clang/Sema/Overload.h head/contrib/llvm-project/clang/include/clang/Sema/Ownership.h head/contrib/llvm-project/clang/include/clang/Sema/ParsedAttr.h head/contrib/llvm-project/clang/include/clang/Sema/ParsedTemplate.h head/contrib/llvm-project/clang/include/clang/Sema/Scope.h head/contrib/llvm-project/clang/include/clang/Sema/ScopeInfo.h head/contrib/llvm-project/clang/include/clang/Sema/Sema.h head/contrib/llvm-project/clang/include/clang/Sema/SemaInternal.h head/contrib/llvm-project/clang/include/clang/Sema/Template.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTBitCodes.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTReader.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTRecordReader.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTRecordWriter.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTWriter.h head/contrib/llvm-project/clang/include/clang/Serialization/ModuleFile.h head/contrib/llvm-project/clang/include/clang/Serialization/TypeBitCodes.def head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/CheckerBase.td head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/Analyses.def head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/Checker.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h head/contrib/llvm-project/clang/include/clang/Tooling/ASTDiff/ASTDiff.h head/contrib/llvm-project/clang/include/clang/Tooling/ASTDiff/ASTDiffInternal.h head/contrib/llvm-project/clang/include/clang/Tooling/AllTUsExecution.h head/contrib/llvm-project/clang/include/clang/Tooling/Core/Diagnostic.h head/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h head/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h head/contrib/llvm-project/clang/include/clang/Tooling/DiagnosticsYaml.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/ASTSelection.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/AtomicChange.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/RefactoringOptions.h head/contrib/llvm-project/clang/include/clang/Tooling/ReplacementsYaml.h head/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Nodes.h head/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Tokens.h head/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Tree.h head/contrib/llvm-project/clang/include/clang/Tooling/Tooling.h head/contrib/llvm-project/clang/include/clang/Tooling/Transformer/RangeSelector.h head/contrib/llvm-project/clang/include/clang/Tooling/Transformer/RewriteRule.h head/contrib/llvm-project/clang/include/clang/Tooling/Transformer/SourceCode.h head/contrib/llvm-project/clang/include/clang/Tooling/Transformer/Stencil.h head/contrib/llvm-project/clang/include/clang/module.modulemap head/contrib/llvm-project/clang/lib/ARCMigrate/ARCMT.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/FileRemapper.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/Internals.h head/contrib/llvm-project/clang/lib/ARCMigrate/ObjCMT.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/TransGCAttrs.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/TransProperties.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/TransProtectedScope.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/Transforms.cpp head/contrib/llvm-project/clang/lib/AST/APValue.cpp head/contrib/llvm-project/clang/lib/AST/ASTContext.cpp head/contrib/llvm-project/clang/lib/AST/ASTDiagnostic.cpp head/contrib/llvm-project/clang/lib/AST/ASTDumper.cpp head/contrib/llvm-project/clang/lib/AST/ASTImporter.cpp head/contrib/llvm-project/clang/lib/AST/ASTImporterLookupTable.cpp head/contrib/llvm-project/clang/lib/AST/ASTStructuralEquivalence.cpp head/contrib/llvm-project/clang/lib/AST/ASTTypeTraits.cpp head/contrib/llvm-project/clang/lib/AST/AttrImpl.cpp head/contrib/llvm-project/clang/lib/AST/CXXInheritance.cpp head/contrib/llvm-project/clang/lib/AST/CommentCommandTraits.cpp head/contrib/llvm-project/clang/lib/AST/CommentSema.cpp head/contrib/llvm-project/clang/lib/AST/ComparisonCategories.cpp head/contrib/llvm-project/clang/lib/AST/DataCollection.cpp head/contrib/llvm-project/clang/lib/AST/Decl.cpp head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp head/contrib/llvm-project/clang/lib/AST/DeclCXX.cpp head/contrib/llvm-project/clang/lib/AST/DeclObjC.cpp head/contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp head/contrib/llvm-project/clang/lib/AST/DeclTemplate.cpp head/contrib/llvm-project/clang/lib/AST/DeclarationName.cpp head/contrib/llvm-project/clang/lib/AST/Expr.cpp head/contrib/llvm-project/clang/lib/AST/ExprCXX.cpp head/contrib/llvm-project/clang/lib/AST/ExprClassification.cpp head/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp head/contrib/llvm-project/clang/lib/AST/ExprObjC.cpp head/contrib/llvm-project/clang/lib/AST/ExternalASTSource.cpp head/contrib/llvm-project/clang/lib/AST/FormatString.cpp head/contrib/llvm-project/clang/lib/AST/Interp/Boolean.h head/contrib/llvm-project/clang/lib/AST/Interp/ByteCodeExprGen.h head/contrib/llvm-project/clang/lib/AST/Interp/Context.cpp head/contrib/llvm-project/clang/lib/AST/Interp/Disasm.cpp head/contrib/llvm-project/clang/lib/AST/Interp/Integral.h head/contrib/llvm-project/clang/lib/AST/Interp/Interp.cpp head/contrib/llvm-project/clang/lib/AST/Interp/Interp.h head/contrib/llvm-project/clang/lib/AST/Interp/InterpFrame.h head/contrib/llvm-project/clang/lib/AST/Interp/Pointer.cpp head/contrib/llvm-project/clang/lib/AST/Interp/Pointer.h head/contrib/llvm-project/clang/lib/AST/Interp/Source.h head/contrib/llvm-project/clang/lib/AST/ItaniumMangle.cpp head/contrib/llvm-project/clang/lib/AST/JSONNodeDumper.cpp head/contrib/llvm-project/clang/lib/AST/Linkage.h head/contrib/llvm-project/clang/lib/AST/Mangle.cpp head/contrib/llvm-project/clang/lib/AST/MicrosoftMangle.cpp head/contrib/llvm-project/clang/lib/AST/NSAPI.cpp head/contrib/llvm-project/clang/lib/AST/NestedNameSpecifier.cpp head/contrib/llvm-project/clang/lib/AST/ODRHash.cpp head/contrib/llvm-project/clang/lib/AST/OSLog.cpp head/contrib/llvm-project/clang/lib/AST/OpenMPClause.cpp head/contrib/llvm-project/clang/lib/AST/PrintfFormatString.cpp head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp head/contrib/llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp head/contrib/llvm-project/clang/lib/AST/Stmt.cpp head/contrib/llvm-project/clang/lib/AST/StmtOpenMP.cpp head/contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp head/contrib/llvm-project/clang/lib/AST/StmtProfile.cpp head/contrib/llvm-project/clang/lib/AST/TemplateBase.cpp head/contrib/llvm-project/clang/lib/AST/TemplateName.cpp head/contrib/llvm-project/clang/lib/AST/TextNodeDumper.cpp head/contrib/llvm-project/clang/lib/AST/Type.cpp head/contrib/llvm-project/clang/lib/AST/TypeLoc.cpp head/contrib/llvm-project/clang/lib/AST/TypePrinter.cpp head/contrib/llvm-project/clang/lib/AST/VTableBuilder.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/ASTMatchFinder.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/ASTMatchersInternal.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Diagnostics.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Marshallers.h head/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Registry.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp head/contrib/llvm-project/clang/lib/Analysis/AnalysisDeclContext.cpp head/contrib/llvm-project/clang/lib/Analysis/BodyFarm.cpp head/contrib/llvm-project/clang/lib/Analysis/CFG.cpp head/contrib/llvm-project/clang/lib/Analysis/CallGraph.cpp head/contrib/llvm-project/clang/lib/Analysis/CloneDetection.cpp head/contrib/llvm-project/clang/lib/Analysis/ExprMutationAnalyzer.cpp head/contrib/llvm-project/clang/lib/Analysis/LiveVariables.cpp head/contrib/llvm-project/clang/lib/Analysis/PathDiagnostic.cpp head/contrib/llvm-project/clang/lib/Analysis/PostOrderCFGView.cpp head/contrib/llvm-project/clang/lib/Analysis/ProgramPoint.cpp head/contrib/llvm-project/clang/lib/Analysis/ReachableCode.cpp head/contrib/llvm-project/clang/lib/Analysis/RetainSummaryManager.cpp head/contrib/llvm-project/clang/lib/Analysis/ThreadSafety.cpp head/contrib/llvm-project/clang/lib/Analysis/UninitializedValues.cpp head/contrib/llvm-project/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp head/contrib/llvm-project/clang/lib/Basic/Attributes.cpp head/contrib/llvm-project/clang/lib/Basic/CodeGenOptions.cpp head/contrib/llvm-project/clang/lib/Basic/Cuda.cpp head/contrib/llvm-project/clang/lib/Basic/Diagnostic.cpp head/contrib/llvm-project/clang/lib/Basic/DiagnosticIDs.cpp head/contrib/llvm-project/clang/lib/Basic/FileManager.cpp head/contrib/llvm-project/clang/lib/Basic/FixedPoint.cpp head/contrib/llvm-project/clang/lib/Basic/IdentifierTable.cpp head/contrib/llvm-project/clang/lib/Basic/LangOptions.cpp head/contrib/llvm-project/clang/lib/Basic/Module.cpp head/contrib/llvm-project/clang/lib/Basic/OpenMPKinds.cpp head/contrib/llvm-project/clang/lib/Basic/SanitizerBlacklist.cpp head/contrib/llvm-project/clang/lib/Basic/SourceManager.cpp head/contrib/llvm-project/clang/lib/Basic/TargetInfo.cpp head/contrib/llvm-project/clang/lib/Basic/Targets.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.h head/contrib/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/AMDGPU.h head/contrib/llvm-project/clang/lib/Basic/Targets/ARC.h head/contrib/llvm-project/clang/lib/Basic/Targets/ARM.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/ARM.h head/contrib/llvm-project/clang/lib/Basic/Targets/AVR.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/BPF.h head/contrib/llvm-project/clang/lib/Basic/Targets/Hexagon.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/Hexagon.h head/contrib/llvm-project/clang/lib/Basic/Targets/Lanai.h head/contrib/llvm-project/clang/lib/Basic/Targets/MSP430.h head/contrib/llvm-project/clang/lib/Basic/Targets/Mips.h head/contrib/llvm-project/clang/lib/Basic/Targets/NVPTX.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/NVPTX.h head/contrib/llvm-project/clang/lib/Basic/Targets/OSTargets.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/OSTargets.h head/contrib/llvm-project/clang/lib/Basic/Targets/PNaCl.h head/contrib/llvm-project/clang/lib/Basic/Targets/PPC.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/PPC.h head/contrib/llvm-project/clang/lib/Basic/Targets/RISCV.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/RISCV.h head/contrib/llvm-project/clang/lib/Basic/Targets/SPIR.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/SPIR.h head/contrib/llvm-project/clang/lib/Basic/Targets/Sparc.h head/contrib/llvm-project/clang/lib/Basic/Targets/SystemZ.h head/contrib/llvm-project/clang/lib/Basic/Targets/WebAssembly.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/WebAssembly.h head/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/X86.h head/contrib/llvm-project/clang/lib/Basic/Targets/XCore.h head/contrib/llvm-project/clang/lib/Basic/Version.cpp head/contrib/llvm-project/clang/lib/Basic/Warnings.cpp head/contrib/llvm-project/clang/lib/Basic/XRayInstr.cpp head/contrib/llvm-project/clang/lib/Basic/XRayLists.cpp head/contrib/llvm-project/clang/lib/CodeGen/ABIInfo.h head/contrib/llvm-project/clang/lib/CodeGen/BackendUtil.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGAtomic.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGBlocks.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGBlocks.h head/contrib/llvm-project/clang/lib/CodeGen/CGBuilder.h head/contrib/llvm-project/clang/lib/CodeGen/CGBuiltin.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCUDANV.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCUDARuntime.h head/contrib/llvm-project/clang/lib/CodeGen/CGCXX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h head/contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCall.h head/contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCleanup.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCleanup.h head/contrib/llvm-project/clang/lib/CodeGen/CGCoroutine.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGDebugInfo.h head/contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGException.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprAgg.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprCXX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprComplex.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprConstant.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGGPUBuiltin.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGLoopInfo.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGLoopInfo.h head/contrib/llvm-project/clang/lib/CodeGen/CGNonTrivialStruct.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjC.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjCMac.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjCRuntime.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjCRuntime.h head/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.h head/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h head/contrib/llvm-project/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGVTables.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGVTables.h head/contrib/llvm-project/clang/lib/CodeGen/CGValue.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenABITypes.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenPGO.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenTBAA.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenTypeCache.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenTypes.h head/contrib/llvm-project/clang/lib/CodeGen/ConstantEmitter.h head/contrib/llvm-project/clang/lib/CodeGen/ConstantInitBuilder.cpp head/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp head/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.h head/contrib/llvm-project/clang/lib/CodeGen/EHScopeStack.h head/contrib/llvm-project/clang/lib/CodeGen/ItaniumCXXABI.cpp head/contrib/llvm-project/clang/lib/CodeGen/MicrosoftCXXABI.cpp head/contrib/llvm-project/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp head/contrib/llvm-project/clang/lib/CodeGen/PatternInit.cpp head/contrib/llvm-project/clang/lib/CodeGen/SanitizerMetadata.cpp head/contrib/llvm-project/clang/lib/CodeGen/SanitizerMetadata.h head/contrib/llvm-project/clang/lib/CodeGen/SwiftCallingConv.cpp head/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp head/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.h head/contrib/llvm-project/clang/lib/CrossTU/CrossTranslationUnit.cpp head/contrib/llvm-project/clang/lib/DirectoryWatcher/DirectoryScanner.cpp head/contrib/llvm-project/clang/lib/DirectoryWatcher/DirectoryScanner.h head/contrib/llvm-project/clang/lib/DirectoryWatcher/default/DirectoryWatcher-not-implemented.cpp head/contrib/llvm-project/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp head/contrib/llvm-project/clang/lib/Driver/Action.cpp head/contrib/llvm-project/clang/lib/Driver/Compilation.cpp head/contrib/llvm-project/clang/lib/Driver/Distro.cpp head/contrib/llvm-project/clang/lib/Driver/Driver.cpp head/contrib/llvm-project/clang/lib/Driver/Job.cpp head/contrib/llvm-project/clang/lib/Driver/Multilib.cpp head/contrib/llvm-project/clang/lib/Driver/SanitizerArgs.cpp head/contrib/llvm-project/clang/lib/Driver/Tool.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChain.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/AIX.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/AIX.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/AMDGPU.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/AMDGPU.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/AVR.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/AVR.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Ananas.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Ananas.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/AArch64.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ARM.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ARM.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/PPC.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/SystemZ.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/X86.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/CloudABI.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/CloudABI.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/CrossWindows.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/CrossWindows.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/DragonFly.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/DragonFly.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Flang.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Fuchsia.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Fuchsia.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/HIP.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/HIP.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/InterfaceStubs.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/MSP430.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/MSP430.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/MinGW.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/MinGW.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Minix.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Minix.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/MipsLinux.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Myriad.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Myriad.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/NaCl.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/NaCl.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/NetBSD.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/NetBSD.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/OpenBSD.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/OpenBSD.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/PS4CPU.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/PS4CPU.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/RISCVToolchain.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/RISCVToolchain.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Solaris.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/WebAssembly.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/WebAssembly.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/XCore.cpp head/contrib/llvm-project/clang/lib/Driver/Types.cpp head/contrib/llvm-project/clang/lib/Driver/XRayArgs.cpp head/contrib/llvm-project/clang/lib/Format/BreakableToken.cpp head/contrib/llvm-project/clang/lib/Format/ContinuationIndenter.cpp head/contrib/llvm-project/clang/lib/Format/ContinuationIndenter.h head/contrib/llvm-project/clang/lib/Format/Format.cpp head/contrib/llvm-project/clang/lib/Format/FormatToken.cpp head/contrib/llvm-project/clang/lib/Format/FormatToken.h head/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp head/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.h head/contrib/llvm-project/clang/lib/Format/NamespaceEndCommentsFixer.cpp head/contrib/llvm-project/clang/lib/Format/SortJavaScriptImports.cpp head/contrib/llvm-project/clang/lib/Format/TokenAnalyzer.cpp head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp head/contrib/llvm-project/clang/lib/Format/UnwrappedLineFormatter.cpp head/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp head/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.h head/contrib/llvm-project/clang/lib/Format/WhitespaceManager.cpp head/contrib/llvm-project/clang/lib/Format/WhitespaceManager.h head/contrib/llvm-project/clang/lib/Frontend/ASTConsumers.cpp head/contrib/llvm-project/clang/lib/Frontend/ASTUnit.cpp head/contrib/llvm-project/clang/lib/Frontend/ChainedIncludesSource.cpp head/contrib/llvm-project/clang/lib/Frontend/CompilerInstance.cpp head/contrib/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp head/contrib/llvm-project/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp head/contrib/llvm-project/clang/lib/Frontend/DependencyFile.cpp head/contrib/llvm-project/clang/lib/Frontend/DependencyGraph.cpp head/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp head/contrib/llvm-project/clang/lib/Frontend/FrontendActions.cpp head/contrib/llvm-project/clang/lib/Frontend/FrontendOptions.cpp head/contrib/llvm-project/clang/lib/Frontend/HeaderIncludeGen.cpp head/contrib/llvm-project/clang/lib/Frontend/InitHeaderSearch.cpp head/contrib/llvm-project/clang/lib/Frontend/InitPreprocessor.cpp head/contrib/llvm-project/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp head/contrib/llvm-project/clang/lib/Frontend/LogDiagnosticPrinter.cpp head/contrib/llvm-project/clang/lib/Frontend/ModuleDependencyCollector.cpp head/contrib/llvm-project/clang/lib/Frontend/PrecompiledPreamble.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/FixItRewriter.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/FrontendActions.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp head/contrib/llvm-project/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp head/contrib/llvm-project/clang/lib/Frontend/TextDiagnosticBuffer.cpp head/contrib/llvm-project/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp head/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_cmath.h head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_complex_builtins.h head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_device_functions.h head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_libdevice_declares.h head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_math_forward_declares.h head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_runtime_wrapper.h head/contrib/llvm-project/clang/lib/Headers/altivec.h head/contrib/llvm-project/clang/lib/Headers/arm_acle.h head/contrib/llvm-project/clang/lib/Headers/avx2intrin.h head/contrib/llvm-project/clang/lib/Headers/avx512bwintrin.h head/contrib/llvm-project/clang/lib/Headers/avx512fintrin.h head/contrib/llvm-project/clang/lib/Headers/avx512vlbwintrin.h head/contrib/llvm-project/clang/lib/Headers/avx512vlintrin.h head/contrib/llvm-project/clang/lib/Headers/bmiintrin.h head/contrib/llvm-project/clang/lib/Headers/cldemoteintrin.h head/contrib/llvm-project/clang/lib/Headers/cpuid.h head/contrib/llvm-project/clang/lib/Headers/emmintrin.h head/contrib/llvm-project/clang/lib/Headers/immintrin.h head/contrib/llvm-project/clang/lib/Headers/intrin.h head/contrib/llvm-project/clang/lib/Headers/module.modulemap head/contrib/llvm-project/clang/lib/Headers/msa.h head/contrib/llvm-project/clang/lib/Headers/opencl-c.h head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/cmath head/contrib/llvm-project/clang/lib/Headers/openmp_wrappers/math.h head/contrib/llvm-project/clang/lib/Headers/vecintrin.h head/contrib/llvm-project/clang/lib/Headers/x86intrin.h head/contrib/llvm-project/clang/lib/Headers/xmmintrin.h head/contrib/llvm-project/clang/lib/Index/CommentToXML.cpp head/contrib/llvm-project/clang/lib/Index/FileIndexRecord.cpp head/contrib/llvm-project/clang/lib/Index/IndexBody.cpp head/contrib/llvm-project/clang/lib/Index/IndexDecl.cpp head/contrib/llvm-project/clang/lib/Index/IndexSymbol.cpp head/contrib/llvm-project/clang/lib/Index/IndexTypeSourceInfo.cpp head/contrib/llvm-project/clang/lib/Index/IndexingAction.cpp head/contrib/llvm-project/clang/lib/Index/IndexingContext.cpp head/contrib/llvm-project/clang/lib/Index/USRGeneration.cpp head/contrib/llvm-project/clang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp head/contrib/llvm-project/clang/lib/Lex/HeaderSearch.cpp head/contrib/llvm-project/clang/lib/Lex/Lexer.cpp head/contrib/llvm-project/clang/lib/Lex/LiteralSupport.cpp head/contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp head/contrib/llvm-project/clang/lib/Lex/PPCallbacks.cpp head/contrib/llvm-project/clang/lib/Lex/PPDirectives.cpp head/contrib/llvm-project/clang/lib/Lex/PPExpressions.cpp head/contrib/llvm-project/clang/lib/Lex/PPLexerChange.cpp head/contrib/llvm-project/clang/lib/Lex/PPMacroExpansion.cpp head/contrib/llvm-project/clang/lib/Lex/Pragma.cpp head/contrib/llvm-project/clang/lib/Lex/Preprocessor.cpp head/contrib/llvm-project/clang/lib/Lex/TokenConcatenation.cpp head/contrib/llvm-project/clang/lib/Parse/ParseCXXInlineMethods.cpp head/contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp head/contrib/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp head/contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp head/contrib/llvm-project/clang/lib/Parse/ParseExprCXX.cpp head/contrib/llvm-project/clang/lib/Parse/ParseInit.cpp head/contrib/llvm-project/clang/lib/Parse/ParseObjc.cpp head/contrib/llvm-project/clang/lib/Parse/ParseOpenMP.cpp head/contrib/llvm-project/clang/lib/Parse/ParsePragma.cpp head/contrib/llvm-project/clang/lib/Parse/ParseStmt.cpp head/contrib/llvm-project/clang/lib/Parse/ParseStmtAsm.cpp head/contrib/llvm-project/clang/lib/Parse/ParseTemplate.cpp head/contrib/llvm-project/clang/lib/Parse/ParseTentative.cpp head/contrib/llvm-project/clang/lib/Parse/Parser.cpp head/contrib/llvm-project/clang/lib/Sema/AnalysisBasedWarnings.cpp head/contrib/llvm-project/clang/lib/Sema/CodeCompleteConsumer.cpp head/contrib/llvm-project/clang/lib/Sema/DeclSpec.cpp head/contrib/llvm-project/clang/lib/Sema/JumpDiagnostics.cpp head/contrib/llvm-project/clang/lib/Sema/MultiplexExternalSemaSource.cpp head/contrib/llvm-project/clang/lib/Sema/OpenCLBuiltins.td head/contrib/llvm-project/clang/lib/Sema/ParsedAttr.cpp head/contrib/llvm-project/clang/lib/Sema/Sema.cpp head/contrib/llvm-project/clang/lib/Sema/SemaAttr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCast.cpp head/contrib/llvm-project/clang/lib/Sema/SemaChecking.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCodeComplete.cpp head/contrib/llvm-project/clang/lib/Sema/SemaConcept.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCoroutine.cpp head/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp head/contrib/llvm-project/clang/lib/Sema/SemaDeclAttr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp head/contrib/llvm-project/clang/lib/Sema/SemaDeclObjC.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExceptionSpec.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExprObjC.cpp head/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp head/contrib/llvm-project/clang/lib/Sema/SemaLambda.cpp head/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp head/contrib/llvm-project/clang/lib/Sema/SemaObjCProperty.cpp head/contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp head/contrib/llvm-project/clang/lib/Sema/SemaOverload.cpp head/contrib/llvm-project/clang/lib/Sema/SemaPseudoObject.cpp head/contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp head/contrib/llvm-project/clang/lib/Sema/SemaStmtAsm.cpp head/contrib/llvm-project/clang/lib/Sema/SemaStmtAttr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateVariadic.cpp head/contrib/llvm-project/clang/lib/Sema/SemaType.cpp head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h head/contrib/llvm-project/clang/lib/Serialization/ASTCommon.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTReader.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTWriter.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTWriterDecl.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTWriterStmt.cpp head/contrib/llvm-project/clang/lib/Serialization/GeneratePCH.cpp head/contrib/llvm-project/clang/lib/Serialization/GlobalModuleIndex.cpp head/contrib/llvm-project/clang/lib/Serialization/ModuleManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/InterCheckerAPI.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Iterator.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Iterator.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Yaml.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/BugReporter.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CallEvent.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/DynamicType.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/Environment.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/LoopWidening.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/MemRegion.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ProgramState.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SMTConstraintManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/Store.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp head/contrib/llvm-project/clang/lib/Tooling/ASTDiff/ASTDiff.cpp head/contrib/llvm-project/clang/lib/Tooling/AllTUsExecution.cpp head/contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp head/contrib/llvm-project/clang/lib/Tooling/CompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/Core/Diagnostic.cpp head/contrib/llvm-project/clang/lib/Tooling/Core/Lookup.cpp head/contrib/llvm-project/clang/lib/Tooling/Core/Replacement.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp head/contrib/llvm-project/clang/lib/Tooling/Execution.cpp head/contrib/llvm-project/clang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/FileMatchTrie.cpp head/contrib/llvm-project/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp head/contrib/llvm-project/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/JSONCompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/ASTSelection.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/AtomicChange.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/USRFinder.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp head/contrib/llvm-project/clang/lib/Tooling/RefactoringCallbacks.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/BuildTree.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Mutations.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Nodes.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Tokens.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Tree.cpp head/contrib/llvm-project/clang/lib/Tooling/Tooling.cpp head/contrib/llvm-project/clang/lib/Tooling/Transformer/RangeSelector.cpp head/contrib/llvm-project/clang/lib/Tooling/Transformer/RewriteRule.cpp head/contrib/llvm-project/clang/lib/Tooling/Transformer/SourceCode.cpp head/contrib/llvm-project/clang/lib/Tooling/Transformer/Stencil.cpp head/contrib/llvm-project/clang/lib/Tooling/Transformer/Transformer.cpp head/contrib/llvm-project/clang/tools/driver/cc1_main.cpp head/contrib/llvm-project/clang/tools/driver/cc1as_main.cpp head/contrib/llvm-project/clang/tools/driver/cc1gen_reproducer_main.cpp head/contrib/llvm-project/clang/tools/driver/driver.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangASTNodesEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangAttrEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangOptionDocEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangSACheckersEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/MveEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/NeonEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/TableGen.cpp head/contrib/llvm-project/clang/utils/TableGen/TableGenBackends.h head/contrib/llvm-project/compiler-rt/include/fuzzer/FuzzedDataProvider.h head/contrib/llvm-project/compiler-rt/include/profile/InstrProfData.inc head/contrib/llvm-project/compiler-rt/include/sanitizer/linux_syscall_hooks.h head/contrib/llvm-project/compiler-rt/include/sanitizer/tsan_interface.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_internal.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_posix.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_report.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_rtems.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_thread.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_win.cpp head/contrib/llvm-project/compiler-rt/lib/builtins/README.txt head/contrib/llvm-project/compiler-rt/lib/builtins/absvsi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/ashldi3.c head/contrib/llvm-project/compiler-rt/lib/builtins/ashrdi3.c head/contrib/llvm-project/compiler-rt/lib/builtins/atomic.c head/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c head/contrib/llvm-project/compiler-rt/lib/builtins/clzdi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/clzsi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/clzti2.c head/contrib/llvm-project/compiler-rt/lib/builtins/cpu_model.c head/contrib/llvm-project/compiler-rt/lib/builtins/ctzdi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/ctzsi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/ctzti2.c head/contrib/llvm-project/compiler-rt/lib/builtins/ffsdi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/ffssi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/ffsti2.c head/contrib/llvm-project/compiler-rt/lib/builtins/floatdidf.c head/contrib/llvm-project/compiler-rt/lib/builtins/floatdisf.c head/contrib/llvm-project/compiler-rt/lib/builtins/floatsidf.c head/contrib/llvm-project/compiler-rt/lib/builtins/floatundidf.c head/contrib/llvm-project/compiler-rt/lib/builtins/floatundisf.c head/contrib/llvm-project/compiler-rt/lib/builtins/floatunsidf.c head/contrib/llvm-project/compiler-rt/lib/builtins/fp_extend.h head/contrib/llvm-project/compiler-rt/lib/builtins/fp_lib.h head/contrib/llvm-project/compiler-rt/lib/builtins/fp_mode.h head/contrib/llvm-project/compiler-rt/lib/builtins/hexagon/dffma.S head/contrib/llvm-project/compiler-rt/lib/builtins/i386/floatdidf.S head/contrib/llvm-project/compiler-rt/lib/builtins/i386/floatdixf.S head/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h head/contrib/llvm-project/compiler-rt/lib/builtins/int_types.h head/contrib/llvm-project/compiler-rt/lib/builtins/lshrdi3.c head/contrib/llvm-project/compiler-rt/lib/builtins/paritydi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/paritysi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/parityti2.c head/contrib/llvm-project/compiler-rt/lib/builtins/popcountdi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/popcountsi2.c head/contrib/llvm-project/compiler-rt/lib/builtins/popcountti2.c head/contrib/llvm-project/compiler-rt/lib/builtins/powidf2.c head/contrib/llvm-project/compiler-rt/lib/builtins/powisf2.c head/contrib/llvm-project/compiler-rt/lib/builtins/powitf2.c head/contrib/llvm-project/compiler-rt/lib/builtins/powixf2.c head/contrib/llvm-project/compiler-rt/lib/builtins/udivdi3.c head/contrib/llvm-project/compiler-rt/lib/builtins/udivmoddi4.c head/contrib/llvm-project/compiler-rt/lib/builtins/udivmodti4.c head/contrib/llvm-project/compiler-rt/lib/builtins/udivsi3.c head/contrib/llvm-project/compiler-rt/lib/builtins/umoddi3.c head/contrib/llvm-project/compiler-rt/lib/builtins/umodsi3.c head/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan_custom.cpp head/contrib/llvm-project/compiler-rt/lib/dfsan/done_abilist.txt head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerBuiltins.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerBuiltinsMsvc.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerCorpus.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerDataFlowTrace.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerDefs.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerExtFunctionsDlsym.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWindows.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerFlags.def head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerFork.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerIO.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerIO.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerIOPosix.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerIOWindows.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerMerge.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerOptions.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerSHA1.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtil.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtil.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerValueBitMap.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/definitions.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/guarded_pool_allocator.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/backtrace.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/backtrace_linux_libc.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/backtrace_sanitizer_common.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/options_parser.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/options.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/options.inc head/contrib/llvm-project/compiler-rt/lib/gwp_asan/platform_specific/guarded_pool_allocator_posix.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/random.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/random.h head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan.h head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_flags.inc head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_linux.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_report.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_thread.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_thread.h head/contrib/llvm-project/compiler-rt/lib/lsan/lsan.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan.h head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_allocator.h head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common.h head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_linux.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_mac.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_linux.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_thread.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_thread.h head/contrib/llvm-project/compiler-rt/lib/msan/msan.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan.h head/contrib/llvm-project/compiler-rt/lib/msan/msan_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_interface_internal.h head/contrib/llvm-project/compiler-rt/lib/msan/msan_origin.h head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfiling.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfiling.h head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingBuffer.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingFile.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingInternal.h head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingPort.h head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingRuntime.cpp head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingUtil.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_file.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libc.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mac.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_rtems.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt head/contrib/llvm-project/compiler-rt/lib/scudo/scudo_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/scudo_utils.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/allocator_config.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/atomic_helpers.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/bytemap.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/checksum.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/combined.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/common.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags.inc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/internal_defs.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/linux.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/local_cache.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/mutex.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/primary32.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/primary64.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/quarantine.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/release.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/secondary.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/size_class_map.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/stats.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/tsd.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/tsd_exclusive.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/tsd_shared.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c.inc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_cpp.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/go/test.c head/contrib/llvm-project/compiler-rt/lib/tsan/go/tsan_go.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan.syms.extra head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_clock.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_clock.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_flags.inc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_stat.h head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_checks.inc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_handlers.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_handlers.h head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_interface.inc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_value.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_value.h head/contrib/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_AArch64.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_arm.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_init.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_interface.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_interface_internal.h head/contrib/llvm-project/compiler-rt/lib/xray/xray_powerpc64.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_trampoline_AArch64.S head/contrib/llvm-project/compiler-rt/lib/xray/xray_trampoline_arm.S head/contrib/llvm-project/compiler-rt/lib/xray/xray_trampoline_x86_64.S head/contrib/llvm-project/compiler-rt/lib/xray/xray_utils.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_x86_64.cpp head/contrib/llvm-project/libcxx/CREDITS.TXT head/contrib/llvm-project/libcxx/include/__config head/contrib/llvm-project/libcxx/include/__functional_base head/contrib/llvm-project/libcxx/include/__libcpp_version head/contrib/llvm-project/libcxx/include/__locale head/contrib/llvm-project/libcxx/include/__string head/contrib/llvm-project/libcxx/include/__threading_support head/contrib/llvm-project/libcxx/include/array head/contrib/llvm-project/libcxx/include/atomic head/contrib/llvm-project/libcxx/include/bit head/contrib/llvm-project/libcxx/include/charconv head/contrib/llvm-project/libcxx/include/chrono head/contrib/llvm-project/libcxx/include/cmath head/contrib/llvm-project/libcxx/include/compare head/contrib/llvm-project/libcxx/include/complex head/contrib/llvm-project/libcxx/include/cstddef head/contrib/llvm-project/libcxx/include/cstdio head/contrib/llvm-project/libcxx/include/deque head/contrib/llvm-project/libcxx/include/forward_list head/contrib/llvm-project/libcxx/include/functional head/contrib/llvm-project/libcxx/include/ios head/contrib/llvm-project/libcxx/include/iterator head/contrib/llvm-project/libcxx/include/list head/contrib/llvm-project/libcxx/include/map head/contrib/llvm-project/libcxx/include/math.h head/contrib/llvm-project/libcxx/include/memory head/contrib/llvm-project/libcxx/include/module.modulemap head/contrib/llvm-project/libcxx/include/ostream head/contrib/llvm-project/libcxx/include/random head/contrib/llvm-project/libcxx/include/regex head/contrib/llvm-project/libcxx/include/set head/contrib/llvm-project/libcxx/include/span head/contrib/llvm-project/libcxx/include/stddef.h head/contrib/llvm-project/libcxx/include/stdlib.h head/contrib/llvm-project/libcxx/include/string head/contrib/llvm-project/libcxx/include/thread head/contrib/llvm-project/libcxx/include/type_traits head/contrib/llvm-project/libcxx/include/typeinfo head/contrib/llvm-project/libcxx/include/unordered_map head/contrib/llvm-project/libcxx/include/unordered_set head/contrib/llvm-project/libcxx/include/variant head/contrib/llvm-project/libcxx/include/vector head/contrib/llvm-project/libcxx/include/version head/contrib/llvm-project/libcxx/include/wchar.h head/contrib/llvm-project/libcxx/src/algorithm.cpp head/contrib/llvm-project/libcxx/src/charconv.cpp head/contrib/llvm-project/libcxx/src/chrono.cpp head/contrib/llvm-project/libcxx/src/filesystem/operations.cpp head/contrib/llvm-project/libcxx/src/include/apple_availability.h head/contrib/llvm-project/libcxx/src/locale.cpp head/contrib/llvm-project/libcxx/src/string.cpp head/contrib/llvm-project/libcxx/src/thread.cpp head/contrib/llvm-project/libunwind/include/__libunwind_config.h head/contrib/llvm-project/libunwind/include/libunwind.h head/contrib/llvm-project/libunwind/include/unwind.h head/contrib/llvm-project/libunwind/src/AddressSpace.hpp head/contrib/llvm-project/libunwind/src/DwarfParser.hpp head/contrib/llvm-project/libunwind/src/EHHeaderParser.hpp head/contrib/llvm-project/libunwind/src/Registers.hpp head/contrib/llvm-project/libunwind/src/Unwind-EHABI.cpp head/contrib/llvm-project/libunwind/src/Unwind-seh.cpp head/contrib/llvm-project/libunwind/src/Unwind-sjlj.c head/contrib/llvm-project/libunwind/src/UnwindCursor.hpp head/contrib/llvm-project/libunwind/src/UnwindLevel1-gcc-ext.c head/contrib/llvm-project/libunwind/src/UnwindLevel1.c head/contrib/llvm-project/libunwind/src/UnwindRegistersRestore.S head/contrib/llvm-project/libunwind/src/UnwindRegistersSave.S head/contrib/llvm-project/libunwind/src/Unwind_AppleExtras.cpp head/contrib/llvm-project/libunwind/src/assembly.h head/contrib/llvm-project/libunwind/src/config.h head/contrib/llvm-project/libunwind/src/libunwind.cpp head/contrib/llvm-project/lld/COFF/Chunks.cpp head/contrib/llvm-project/lld/COFF/Chunks.h head/contrib/llvm-project/lld/COFF/Config.h head/contrib/llvm-project/lld/COFF/DebugTypes.cpp head/contrib/llvm-project/lld/COFF/DebugTypes.h head/contrib/llvm-project/lld/COFF/Driver.cpp head/contrib/llvm-project/lld/COFF/Driver.h head/contrib/llvm-project/lld/COFF/DriverUtils.cpp head/contrib/llvm-project/lld/COFF/ICF.cpp head/contrib/llvm-project/lld/COFF/InputFiles.cpp head/contrib/llvm-project/lld/COFF/InputFiles.h head/contrib/llvm-project/lld/COFF/LTO.cpp head/contrib/llvm-project/lld/COFF/LTO.h head/contrib/llvm-project/lld/COFF/MapFile.cpp head/contrib/llvm-project/lld/COFF/MinGW.cpp head/contrib/llvm-project/lld/COFF/Options.td head/contrib/llvm-project/lld/COFF/PDB.cpp head/contrib/llvm-project/lld/COFF/SymbolTable.cpp head/contrib/llvm-project/lld/COFF/SymbolTable.h head/contrib/llvm-project/lld/COFF/Symbols.cpp head/contrib/llvm-project/lld/COFF/Symbols.h head/contrib/llvm-project/lld/COFF/TypeMerger.h head/contrib/llvm-project/lld/COFF/Writer.cpp head/contrib/llvm-project/lld/Common/ErrorHandler.cpp head/contrib/llvm-project/lld/Common/Filesystem.cpp head/contrib/llvm-project/lld/Common/Reproduce.cpp head/contrib/llvm-project/lld/Common/Strings.cpp head/contrib/llvm-project/lld/Common/TargetOptionsCommandFlags.cpp head/contrib/llvm-project/lld/Common/Timer.cpp head/contrib/llvm-project/lld/Common/Version.cpp head/contrib/llvm-project/lld/ELF/AArch64ErrataFix.cpp head/contrib/llvm-project/lld/ELF/ARMErrataFix.cpp head/contrib/llvm-project/lld/ELF/Arch/AArch64.cpp head/contrib/llvm-project/lld/ELF/Arch/AMDGPU.cpp head/contrib/llvm-project/lld/ELF/Arch/ARM.cpp head/contrib/llvm-project/lld/ELF/Arch/AVR.cpp head/contrib/llvm-project/lld/ELF/Arch/Hexagon.cpp head/contrib/llvm-project/lld/ELF/Arch/MSP430.cpp head/contrib/llvm-project/lld/ELF/Arch/Mips.cpp head/contrib/llvm-project/lld/ELF/Arch/MipsArchTree.cpp head/contrib/llvm-project/lld/ELF/Arch/PPC.cpp head/contrib/llvm-project/lld/ELF/Arch/PPC64.cpp head/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp head/contrib/llvm-project/lld/ELF/Arch/SPARCV9.cpp head/contrib/llvm-project/lld/ELF/Arch/X86.cpp head/contrib/llvm-project/lld/ELF/Arch/X86_64.cpp head/contrib/llvm-project/lld/ELF/CallGraphSort.cpp head/contrib/llvm-project/lld/ELF/Config.h head/contrib/llvm-project/lld/ELF/DWARF.cpp head/contrib/llvm-project/lld/ELF/DWARF.h head/contrib/llvm-project/lld/ELF/Driver.cpp head/contrib/llvm-project/lld/ELF/DriverUtils.cpp head/contrib/llvm-project/lld/ELF/EhFrame.cpp head/contrib/llvm-project/lld/ELF/ICF.cpp head/contrib/llvm-project/lld/ELF/InputFiles.cpp head/contrib/llvm-project/lld/ELF/InputFiles.h head/contrib/llvm-project/lld/ELF/InputSection.cpp head/contrib/llvm-project/lld/ELF/InputSection.h head/contrib/llvm-project/lld/ELF/LTO.cpp head/contrib/llvm-project/lld/ELF/LinkerScript.cpp head/contrib/llvm-project/lld/ELF/LinkerScript.h head/contrib/llvm-project/lld/ELF/MapFile.cpp head/contrib/llvm-project/lld/ELF/MapFile.h head/contrib/llvm-project/lld/ELF/MarkLive.cpp head/contrib/llvm-project/lld/ELF/Options.td head/contrib/llvm-project/lld/ELF/OutputSections.cpp head/contrib/llvm-project/lld/ELF/OutputSections.h head/contrib/llvm-project/lld/ELF/Relocations.cpp head/contrib/llvm-project/lld/ELF/Relocations.h head/contrib/llvm-project/lld/ELF/ScriptLexer.cpp head/contrib/llvm-project/lld/ELF/ScriptLexer.h head/contrib/llvm-project/lld/ELF/ScriptParser.cpp head/contrib/llvm-project/lld/ELF/ScriptParser.h head/contrib/llvm-project/lld/ELF/SymbolTable.cpp head/contrib/llvm-project/lld/ELF/Symbols.cpp head/contrib/llvm-project/lld/ELF/Symbols.h head/contrib/llvm-project/lld/ELF/SyntheticSections.cpp head/contrib/llvm-project/lld/ELF/SyntheticSections.h head/contrib/llvm-project/lld/ELF/Target.cpp head/contrib/llvm-project/lld/ELF/Target.h head/contrib/llvm-project/lld/ELF/Thunks.cpp head/contrib/llvm-project/lld/ELF/Writer.cpp head/contrib/llvm-project/lld/docs/AtomLLD.rst head/contrib/llvm-project/lld/docs/NewLLD.rst head/contrib/llvm-project/lld/docs/ReleaseNotes.rst head/contrib/llvm-project/lld/docs/WebAssembly.rst head/contrib/llvm-project/lld/docs/conf.py head/contrib/llvm-project/lld/docs/design.rst head/contrib/llvm-project/lld/docs/development.rst head/contrib/llvm-project/lld/docs/getting_started.rst head/contrib/llvm-project/lld/docs/index.rst head/contrib/llvm-project/lld/docs/ld.lld.1 head/contrib/llvm-project/lld/include/lld/Common/DWARF.h head/contrib/llvm-project/lld/include/lld/Common/Driver.h head/contrib/llvm-project/lld/include/lld/Common/Memory.h head/contrib/llvm-project/lld/include/lld/Common/Strings.h head/contrib/llvm-project/lld/include/lld/Common/Timer.h head/contrib/llvm-project/lld/include/lld/Common/Version.inc.in head/contrib/llvm-project/lld/include/lld/Core/File.h head/contrib/llvm-project/lld/include/lld/Core/Reference.h head/contrib/llvm-project/lld/include/lld/ReaderWriter/MachOLinkingContext.h head/contrib/llvm-project/lld/lib/Core/Error.cpp head/contrib/llvm-project/lld/lib/Core/Resolver.cpp head/contrib/llvm-project/lld/lib/Driver/DarwinLdDriver.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/Atoms.h head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/File.h head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/GOTPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/LayoutPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/TLVPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp head/contrib/llvm-project/lld/tools/lld/lld.cpp head/contrib/llvm-project/lldb/bindings/headers.swig head/contrib/llvm-project/lldb/bindings/interface/SBAddress.i head/contrib/llvm-project/lldb/bindings/interface/SBBlock.i head/contrib/llvm-project/lldb/bindings/interface/SBBreakpoint.i head/contrib/llvm-project/lldb/bindings/interface/SBCommandInterpreter.i head/contrib/llvm-project/lldb/bindings/interface/SBExpressionOptions.i head/contrib/llvm-project/lldb/bindings/interface/SBFile.i head/contrib/llvm-project/lldb/bindings/interface/SBLaunchInfo.i head/contrib/llvm-project/lldb/bindings/interface/SBModule.i head/contrib/llvm-project/lldb/bindings/interface/SBPlatform.i head/contrib/llvm-project/lldb/bindings/interface/SBProcess.i head/contrib/llvm-project/lldb/bindings/interface/SBStream.i head/contrib/llvm-project/lldb/bindings/interface/SBTarget.i head/contrib/llvm-project/lldb/bindings/interfaces.swig head/contrib/llvm-project/lldb/bindings/python.swig head/contrib/llvm-project/lldb/bindings/python/python-typemaps.swig head/contrib/llvm-project/lldb/bindings/python/python-wrapper.swig head/contrib/llvm-project/lldb/docs/man/lldb.rst head/contrib/llvm-project/lldb/include/lldb/API/LLDB.h head/contrib/llvm-project/lldb/include/lldb/API/SBAddress.h head/contrib/llvm-project/lldb/include/lldb/API/SBAttachInfo.h head/contrib/llvm-project/lldb/include/lldb/API/SBBlock.h head/contrib/llvm-project/lldb/include/lldb/API/SBBreakpoint.h head/contrib/llvm-project/lldb/include/lldb/API/SBBreakpointLocation.h head/contrib/llvm-project/lldb/include/lldb/API/SBBreakpointName.h head/contrib/llvm-project/lldb/include/lldb/API/SBBroadcaster.h head/contrib/llvm-project/lldb/include/lldb/API/SBCommandInterpreter.h head/contrib/llvm-project/lldb/include/lldb/API/SBCommandReturnObject.h head/contrib/llvm-project/lldb/include/lldb/API/SBCommunication.h head/contrib/llvm-project/lldb/include/lldb/API/SBCompileUnit.h head/contrib/llvm-project/lldb/include/lldb/API/SBData.h head/contrib/llvm-project/lldb/include/lldb/API/SBDebugger.h head/contrib/llvm-project/lldb/include/lldb/API/SBDeclaration.h head/contrib/llvm-project/lldb/include/lldb/API/SBDefines.h head/contrib/llvm-project/lldb/include/lldb/API/SBError.h head/contrib/llvm-project/lldb/include/lldb/API/SBEvent.h head/contrib/llvm-project/lldb/include/lldb/API/SBExecutionContext.h head/contrib/llvm-project/lldb/include/lldb/API/SBExpressionOptions.h head/contrib/llvm-project/lldb/include/lldb/API/SBFile.h head/contrib/llvm-project/lldb/include/lldb/API/SBFileSpec.h head/contrib/llvm-project/lldb/include/lldb/API/SBFileSpecList.h head/contrib/llvm-project/lldb/include/lldb/API/SBFrame.h head/contrib/llvm-project/lldb/include/lldb/API/SBFunction.h head/contrib/llvm-project/lldb/include/lldb/API/SBHostOS.h head/contrib/llvm-project/lldb/include/lldb/API/SBInstruction.h head/contrib/llvm-project/lldb/include/lldb/API/SBInstructionList.h head/contrib/llvm-project/lldb/include/lldb/API/SBLanguageRuntime.h head/contrib/llvm-project/lldb/include/lldb/API/SBLaunchInfo.h head/contrib/llvm-project/lldb/include/lldb/API/SBLineEntry.h head/contrib/llvm-project/lldb/include/lldb/API/SBListener.h head/contrib/llvm-project/lldb/include/lldb/API/SBMemoryRegionInfo.h head/contrib/llvm-project/lldb/include/lldb/API/SBMemoryRegionInfoList.h head/contrib/llvm-project/lldb/include/lldb/API/SBModule.h head/contrib/llvm-project/lldb/include/lldb/API/SBModuleSpec.h head/contrib/llvm-project/lldb/include/lldb/API/SBPlatform.h head/contrib/llvm-project/lldb/include/lldb/API/SBProcess.h head/contrib/llvm-project/lldb/include/lldb/API/SBProcessInfo.h head/contrib/llvm-project/lldb/include/lldb/API/SBQueue.h head/contrib/llvm-project/lldb/include/lldb/API/SBQueueItem.h head/contrib/llvm-project/lldb/include/lldb/API/SBReproducer.h head/contrib/llvm-project/lldb/include/lldb/API/SBSection.h head/contrib/llvm-project/lldb/include/lldb/API/SBSourceManager.h head/contrib/llvm-project/lldb/include/lldb/API/SBStream.h head/contrib/llvm-project/lldb/include/lldb/API/SBStringList.h head/contrib/llvm-project/lldb/include/lldb/API/SBStructuredData.h head/contrib/llvm-project/lldb/include/lldb/API/SBSymbol.h head/contrib/llvm-project/lldb/include/lldb/API/SBSymbolContext.h head/contrib/llvm-project/lldb/include/lldb/API/SBSymbolContextList.h head/contrib/llvm-project/lldb/include/lldb/API/SBTarget.h head/contrib/llvm-project/lldb/include/lldb/API/SBThread.h head/contrib/llvm-project/lldb/include/lldb/API/SBThreadCollection.h head/contrib/llvm-project/lldb/include/lldb/API/SBThreadPlan.h head/contrib/llvm-project/lldb/include/lldb/API/SBTrace.h head/contrib/llvm-project/lldb/include/lldb/API/SBTraceOptions.h head/contrib/llvm-project/lldb/include/lldb/API/SBType.h head/contrib/llvm-project/lldb/include/lldb/API/SBTypeCategory.h head/contrib/llvm-project/lldb/include/lldb/API/SBTypeEnumMember.h head/contrib/llvm-project/lldb/include/lldb/API/SBTypeFilter.h head/contrib/llvm-project/lldb/include/lldb/API/SBTypeFormat.h head/contrib/llvm-project/lldb/include/lldb/API/SBTypeNameSpecifier.h head/contrib/llvm-project/lldb/include/lldb/API/SBTypeSummary.h head/contrib/llvm-project/lldb/include/lldb/API/SBTypeSynthetic.h head/contrib/llvm-project/lldb/include/lldb/API/SBUnixSignals.h head/contrib/llvm-project/lldb/include/lldb/API/SBValue.h head/contrib/llvm-project/lldb/include/lldb/API/SBValueList.h head/contrib/llvm-project/lldb/include/lldb/API/SBVariablesOptions.h head/contrib/llvm-project/lldb/include/lldb/API/SBWatchpoint.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/Breakpoint.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointID.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointIDList.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointList.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointLocation.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointLocationList.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointName.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointOptions.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointPrecondition.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolver.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverAddress.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverName.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointSite.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointSiteList.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/Stoppoint.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/StoppointCallbackContext.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/StoppointLocation.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/Watchpoint.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/WatchpointList.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/WatchpointOptions.h head/contrib/llvm-project/lldb/include/lldb/Core/Address.h head/contrib/llvm-project/lldb/include/lldb/Core/AddressRange.h head/contrib/llvm-project/lldb/include/lldb/Core/AddressResolver.h head/contrib/llvm-project/lldb/include/lldb/Core/AddressResolverFileLine.h head/contrib/llvm-project/lldb/include/lldb/Core/AddressResolverName.h head/contrib/llvm-project/lldb/include/lldb/Core/Communication.h head/contrib/llvm-project/lldb/include/lldb/Core/Debugger.h head/contrib/llvm-project/lldb/include/lldb/Core/Disassembler.h head/contrib/llvm-project/lldb/include/lldb/Core/EmulateInstruction.h head/contrib/llvm-project/lldb/include/lldb/Core/FileLineResolver.h head/contrib/llvm-project/lldb/include/lldb/Core/FileSpecList.h head/contrib/llvm-project/lldb/include/lldb/Core/FormatEntity.h head/contrib/llvm-project/lldb/include/lldb/Core/Highlighter.h head/contrib/llvm-project/lldb/include/lldb/Core/IOHandler.h head/contrib/llvm-project/lldb/include/lldb/Core/IOHandlerCursesGUI.h head/contrib/llvm-project/lldb/include/lldb/Core/LoadedModuleInfoList.h head/contrib/llvm-project/lldb/include/lldb/Core/Mangled.h head/contrib/llvm-project/lldb/include/lldb/Core/MappedHash.h head/contrib/llvm-project/lldb/include/lldb/Core/Module.h head/contrib/llvm-project/lldb/include/lldb/Core/ModuleChild.h head/contrib/llvm-project/lldb/include/lldb/Core/ModuleList.h head/contrib/llvm-project/lldb/include/lldb/Core/ModuleSpec.h head/contrib/llvm-project/lldb/include/lldb/Core/Opcode.h head/contrib/llvm-project/lldb/include/lldb/Core/PluginInterface.h head/contrib/llvm-project/lldb/include/lldb/Core/PluginManager.h head/contrib/llvm-project/lldb/include/lldb/Core/PropertiesBase.td head/contrib/llvm-project/lldb/include/lldb/Core/RichManglingContext.h head/contrib/llvm-project/lldb/include/lldb/Core/SearchFilter.h head/contrib/llvm-project/lldb/include/lldb/Core/Section.h head/contrib/llvm-project/lldb/include/lldb/Core/SourceManager.h head/contrib/llvm-project/lldb/include/lldb/Core/StreamAsynchronousIO.h head/contrib/llvm-project/lldb/include/lldb/Core/StreamBuffer.h head/contrib/llvm-project/lldb/include/lldb/Core/StreamFile.h head/contrib/llvm-project/lldb/include/lldb/Core/StructuredDataImpl.h head/contrib/llvm-project/lldb/include/lldb/Core/ThreadSafeDenseMap.h head/contrib/llvm-project/lldb/include/lldb/Core/ThreadSafeValue.h head/contrib/llvm-project/lldb/include/lldb/Core/UniqueCStringMap.h head/contrib/llvm-project/lldb/include/lldb/Core/UserSettingsController.h head/contrib/llvm-project/lldb/include/lldb/Core/Value.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObject.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectCast.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectChild.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectConstResult.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectConstResultCast.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectConstResultChild.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectConstResultImpl.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectDynamicValue.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectList.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectMemory.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectRegister.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectVariable.h head/contrib/llvm-project/lldb/include/lldb/Core/dwarf.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/CXXFunctionPointer.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/DataVisualization.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormatCache.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormatClasses.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormatManager.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormattersContainer.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormattersHelpers.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/LanguageCategory.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/StringPrinter.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/TypeCategory.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/TypeCategoryMap.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/TypeFormat.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/TypeSummary.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/TypeSynthetic.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/VectorIterator.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/VectorType.h head/contrib/llvm-project/lldb/include/lldb/Expression/DWARFExpression.h head/contrib/llvm-project/lldb/include/lldb/Expression/DiagnosticManager.h head/contrib/llvm-project/lldb/include/lldb/Expression/DynamicCheckerFunctions.h head/contrib/llvm-project/lldb/include/lldb/Expression/Expression.h head/contrib/llvm-project/lldb/include/lldb/Expression/ExpressionParser.h head/contrib/llvm-project/lldb/include/lldb/Expression/ExpressionSourceCode.h head/contrib/llvm-project/lldb/include/lldb/Expression/ExpressionTypeSystemHelper.h head/contrib/llvm-project/lldb/include/lldb/Expression/ExpressionVariable.h head/contrib/llvm-project/lldb/include/lldb/Expression/FunctionCaller.h head/contrib/llvm-project/lldb/include/lldb/Expression/IRExecutionUnit.h head/contrib/llvm-project/lldb/include/lldb/Expression/IRInterpreter.h head/contrib/llvm-project/lldb/include/lldb/Expression/IRMemoryMap.h head/contrib/llvm-project/lldb/include/lldb/Expression/LLVMUserExpression.h head/contrib/llvm-project/lldb/include/lldb/Expression/Materializer.h head/contrib/llvm-project/lldb/include/lldb/Expression/REPL.h head/contrib/llvm-project/lldb/include/lldb/Expression/UserExpression.h head/contrib/llvm-project/lldb/include/lldb/Expression/UtilityFunction.h head/contrib/llvm-project/lldb/include/lldb/Host/Config.h.cmake head/contrib/llvm-project/lldb/include/lldb/Host/ConnectionFileDescriptor.h head/contrib/llvm-project/lldb/include/lldb/Host/Debug.h head/contrib/llvm-project/lldb/include/lldb/Host/Editline.h head/contrib/llvm-project/lldb/include/lldb/Host/File.h head/contrib/llvm-project/lldb/include/lldb/Host/FileCache.h head/contrib/llvm-project/lldb/include/lldb/Host/FileSystem.h head/contrib/llvm-project/lldb/include/lldb/Host/Host.h head/contrib/llvm-project/lldb/include/lldb/Host/HostGetOpt.h head/contrib/llvm-project/lldb/include/lldb/Host/HostInfo.h head/contrib/llvm-project/lldb/include/lldb/Host/HostInfoBase.h head/contrib/llvm-project/lldb/include/lldb/Host/HostNativeProcess.h head/contrib/llvm-project/lldb/include/lldb/Host/HostNativeProcessBase.h head/contrib/llvm-project/lldb/include/lldb/Host/HostNativeThread.h head/contrib/llvm-project/lldb/include/lldb/Host/HostNativeThreadBase.h head/contrib/llvm-project/lldb/include/lldb/Host/HostNativeThreadForward.h head/contrib/llvm-project/lldb/include/lldb/Host/HostProcess.h head/contrib/llvm-project/lldb/include/lldb/Host/HostThread.h head/contrib/llvm-project/lldb/include/lldb/Host/LZMA.h head/contrib/llvm-project/lldb/include/lldb/Host/LockFile.h head/contrib/llvm-project/lldb/include/lldb/Host/LockFileBase.h head/contrib/llvm-project/lldb/include/lldb/Host/MainLoop.h head/contrib/llvm-project/lldb/include/lldb/Host/MainLoopBase.h head/contrib/llvm-project/lldb/include/lldb/Host/MonitoringProcessLauncher.h head/contrib/llvm-project/lldb/include/lldb/Host/OptionParser.h head/contrib/llvm-project/lldb/include/lldb/Host/Pipe.h head/contrib/llvm-project/lldb/include/lldb/Host/PipeBase.h head/contrib/llvm-project/lldb/include/lldb/Host/PosixApi.h head/contrib/llvm-project/lldb/include/lldb/Host/ProcessLaunchInfo.h head/contrib/llvm-project/lldb/include/lldb/Host/ProcessLauncher.h head/contrib/llvm-project/lldb/include/lldb/Host/ProcessRunLock.h head/contrib/llvm-project/lldb/include/lldb/Host/PseudoTerminal.h head/contrib/llvm-project/lldb/include/lldb/Host/SafeMachO.h head/contrib/llvm-project/lldb/include/lldb/Host/Socket.h head/contrib/llvm-project/lldb/include/lldb/Host/SocketAddress.h head/contrib/llvm-project/lldb/include/lldb/Host/StringConvert.h head/contrib/llvm-project/lldb/include/lldb/Host/Terminal.h head/contrib/llvm-project/lldb/include/lldb/Host/ThreadLauncher.h head/contrib/llvm-project/lldb/include/lldb/Host/Time.h head/contrib/llvm-project/lldb/include/lldb/Host/XML.h head/contrib/llvm-project/lldb/include/lldb/Host/common/GetOptInc.h head/contrib/llvm-project/lldb/include/lldb/Host/common/NativeBreakpointList.h head/contrib/llvm-project/lldb/include/lldb/Host/common/NativeProcessProtocol.h head/contrib/llvm-project/lldb/include/lldb/Host/common/NativeRegisterContext.h head/contrib/llvm-project/lldb/include/lldb/Host/common/NativeThreadProtocol.h head/contrib/llvm-project/lldb/include/lldb/Host/common/NativeWatchpointList.h head/contrib/llvm-project/lldb/include/lldb/Host/common/TCPSocket.h head/contrib/llvm-project/lldb/include/lldb/Host/common/UDPSocket.h head/contrib/llvm-project/lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h head/contrib/llvm-project/lldb/include/lldb/Host/posix/DomainSocket.h head/contrib/llvm-project/lldb/include/lldb/Host/posix/HostInfoPosix.h head/contrib/llvm-project/lldb/include/lldb/Host/posix/HostProcessPosix.h head/contrib/llvm-project/lldb/include/lldb/Host/posix/HostThreadPosix.h head/contrib/llvm-project/lldb/include/lldb/Host/posix/LockFilePosix.h head/contrib/llvm-project/lldb/include/lldb/Host/posix/PipePosix.h head/contrib/llvm-project/lldb/include/lldb/Host/posix/ProcessLauncherPosixFork.h head/contrib/llvm-project/lldb/include/lldb/Initialization/SystemInitializer.h head/contrib/llvm-project/lldb/include/lldb/Initialization/SystemInitializerCommon.h head/contrib/llvm-project/lldb/include/lldb/Initialization/SystemLifetimeManager.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandAlias.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandCompletions.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandHistory.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandInterpreter.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandObject.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandObjectMultiword.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandOptionValidators.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandReturnObject.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupArchitecture.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupBoolean.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupFile.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupFormat.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupOutputFile.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupPlatform.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupPythonClassWithDict.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupString.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupUInt64.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupUUID.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupVariable.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValue.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueArch.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueArgs.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueArray.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueBoolean.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueChar.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueDictionary.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueEnumeration.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueFileSpec.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueFileSpecList.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueFormat.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueFormatEntity.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueLanguage.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValuePathMappings.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueProperties.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueRegex.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueSInt64.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueString.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueUInt64.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueUUID.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValues.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/Options.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/Property.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/ScriptInterpreter.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ArmUnwindInfo.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Block.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CallFrameInfo.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompactUnwindInfo.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompileUnit.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerDecl.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerDeclContext.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerType.h head/contrib/llvm-project/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h head/contrib/llvm-project/lldb/include/lldb/Symbol/DebugMacros.h head/contrib/llvm-project/lldb/include/lldb/Symbol/DeclVendor.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Declaration.h head/contrib/llvm-project/lldb/include/lldb/Symbol/FuncUnwinders.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Function.h head/contrib/llvm-project/lldb/include/lldb/Symbol/LineEntry.h head/contrib/llvm-project/lldb/include/lldb/Symbol/LineTable.h head/contrib/llvm-project/lldb/include/lldb/Symbol/LocateSymbolFile.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ObjectContainer.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ObjectFile.h head/contrib/llvm-project/lldb/include/lldb/Symbol/SourceModule.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Symbol.h head/contrib/llvm-project/lldb/include/lldb/Symbol/SymbolContext.h head/contrib/llvm-project/lldb/include/lldb/Symbol/SymbolContextScope.h head/contrib/llvm-project/lldb/include/lldb/Symbol/SymbolFile.h head/contrib/llvm-project/lldb/include/lldb/Symbol/SymbolVendor.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Symtab.h head/contrib/llvm-project/lldb/include/lldb/Symbol/TaggedASTType.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Type.h head/contrib/llvm-project/lldb/include/lldb/Symbol/TypeList.h head/contrib/llvm-project/lldb/include/lldb/Symbol/TypeMap.h head/contrib/llvm-project/lldb/include/lldb/Symbol/TypeSystem.h head/contrib/llvm-project/lldb/include/lldb/Symbol/UnwindPlan.h head/contrib/llvm-project/lldb/include/lldb/Symbol/UnwindTable.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Variable.h head/contrib/llvm-project/lldb/include/lldb/Symbol/VariableList.h head/contrib/llvm-project/lldb/include/lldb/Target/ABI.h head/contrib/llvm-project/lldb/include/lldb/Target/DynamicLoader.h head/contrib/llvm-project/lldb/include/lldb/Target/ExecutionContext.h head/contrib/llvm-project/lldb/include/lldb/Target/ExecutionContextScope.h head/contrib/llvm-project/lldb/include/lldb/Target/InstrumentationRuntime.h head/contrib/llvm-project/lldb/include/lldb/Target/InstrumentationRuntimeStopInfo.h head/contrib/llvm-project/lldb/include/lldb/Target/JITLoader.h head/contrib/llvm-project/lldb/include/lldb/Target/JITLoaderList.h head/contrib/llvm-project/lldb/include/lldb/Target/Language.h head/contrib/llvm-project/lldb/include/lldb/Target/LanguageRuntime.h head/contrib/llvm-project/lldb/include/lldb/Target/Memory.h head/contrib/llvm-project/lldb/include/lldb/Target/MemoryHistory.h head/contrib/llvm-project/lldb/include/lldb/Target/MemoryRegionInfo.h head/contrib/llvm-project/lldb/include/lldb/Target/ModuleCache.h head/contrib/llvm-project/lldb/include/lldb/Target/OperatingSystem.h head/contrib/llvm-project/lldb/include/lldb/Target/PathMappingList.h head/contrib/llvm-project/lldb/include/lldb/Target/Platform.h head/contrib/llvm-project/lldb/include/lldb/Target/Process.h head/contrib/llvm-project/lldb/include/lldb/Target/ProcessStructReader.h head/contrib/llvm-project/lldb/include/lldb/Target/Queue.h head/contrib/llvm-project/lldb/include/lldb/Target/QueueItem.h head/contrib/llvm-project/lldb/include/lldb/Target/QueueList.h head/contrib/llvm-project/lldb/include/lldb/Target/RegisterCheckpoint.h head/contrib/llvm-project/lldb/include/lldb/Target/RegisterContext.h head/contrib/llvm-project/lldb/include/lldb/Target/RegisterNumber.h head/contrib/llvm-project/lldb/include/lldb/Target/RemoteAwarePlatform.h head/contrib/llvm-project/lldb/include/lldb/Target/SectionLoadHistory.h head/contrib/llvm-project/lldb/include/lldb/Target/SectionLoadList.h head/contrib/llvm-project/lldb/include/lldb/Target/StackFrame.h head/contrib/llvm-project/lldb/include/lldb/Target/StackFrameList.h head/contrib/llvm-project/lldb/include/lldb/Target/StackFrameRecognizer.h head/contrib/llvm-project/lldb/include/lldb/Target/StackID.h head/contrib/llvm-project/lldb/include/lldb/Target/StopInfo.h head/contrib/llvm-project/lldb/include/lldb/Target/StructuredDataPlugin.h head/contrib/llvm-project/lldb/include/lldb/Target/SystemRuntime.h head/contrib/llvm-project/lldb/include/lldb/Target/Target.h head/contrib/llvm-project/lldb/include/lldb/Target/TargetList.h head/contrib/llvm-project/lldb/include/lldb/Target/Thread.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadCollection.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadList.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlan.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanBase.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanCallFunction.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanCallOnFunctionExit.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanPython.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanRunToAddress.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanShouldStopHere.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepInRange.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepInstruction.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepOut.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepOverRange.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepRange.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepThrough.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepUntil.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanTracer.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadSpec.h head/contrib/llvm-project/lldb/include/lldb/Target/UnixSignals.h head/contrib/llvm-project/lldb/include/lldb/Target/Unwind.h head/contrib/llvm-project/lldb/include/lldb/Target/UnwindAssembly.h head/contrib/llvm-project/lldb/include/lldb/Utility/AnsiTerminal.h head/contrib/llvm-project/lldb/include/lldb/Utility/ArchSpec.h head/contrib/llvm-project/lldb/include/lldb/Utility/Args.h head/contrib/llvm-project/lldb/include/lldb/Utility/Baton.h head/contrib/llvm-project/lldb/include/lldb/Utility/Broadcaster.h head/contrib/llvm-project/lldb/include/lldb/Utility/CompletionRequest.h head/contrib/llvm-project/lldb/include/lldb/Utility/Connection.h head/contrib/llvm-project/lldb/include/lldb/Utility/ConstString.h head/contrib/llvm-project/lldb/include/lldb/Utility/DataBuffer.h head/contrib/llvm-project/lldb/include/lldb/Utility/DataBufferHeap.h head/contrib/llvm-project/lldb/include/lldb/Utility/DataBufferLLVM.h head/contrib/llvm-project/lldb/include/lldb/Utility/DataEncoder.h head/contrib/llvm-project/lldb/include/lldb/Utility/DataExtractor.h head/contrib/llvm-project/lldb/include/lldb/Utility/Endian.h head/contrib/llvm-project/lldb/include/lldb/Utility/Environment.h head/contrib/llvm-project/lldb/include/lldb/Utility/Event.h head/contrib/llvm-project/lldb/include/lldb/Utility/FileSpec.h head/contrib/llvm-project/lldb/include/lldb/Utility/Flags.h head/contrib/llvm-project/lldb/include/lldb/Utility/GDBRemote.h head/contrib/llvm-project/lldb/include/lldb/Utility/IOObject.h head/contrib/llvm-project/lldb/include/lldb/Utility/Iterable.h head/contrib/llvm-project/lldb/include/lldb/Utility/LLDBAssert.h head/contrib/llvm-project/lldb/include/lldb/Utility/Listener.h head/contrib/llvm-project/lldb/include/lldb/Utility/Predicate.h head/contrib/llvm-project/lldb/include/lldb/Utility/ProcessInfo.h head/contrib/llvm-project/lldb/include/lldb/Utility/RangeMap.h head/contrib/llvm-project/lldb/include/lldb/Utility/RegisterValue.h head/contrib/llvm-project/lldb/include/lldb/Utility/RegularExpression.h head/contrib/llvm-project/lldb/include/lldb/Utility/Reproducer.h head/contrib/llvm-project/lldb/include/lldb/Utility/ReproducerInstrumentation.h head/contrib/llvm-project/lldb/include/lldb/Utility/Scalar.h head/contrib/llvm-project/lldb/include/lldb/Utility/SelectHelper.h head/contrib/llvm-project/lldb/include/lldb/Utility/SharedCluster.h head/contrib/llvm-project/lldb/include/lldb/Utility/Status.h head/contrib/llvm-project/lldb/include/lldb/Utility/Stream.h head/contrib/llvm-project/lldb/include/lldb/Utility/StreamCallback.h head/contrib/llvm-project/lldb/include/lldb/Utility/StreamString.h head/contrib/llvm-project/lldb/include/lldb/Utility/StreamTee.h head/contrib/llvm-project/lldb/include/lldb/Utility/StringExtractor.h head/contrib/llvm-project/lldb/include/lldb/Utility/StringLexer.h head/contrib/llvm-project/lldb/include/lldb/Utility/StringList.h head/contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h head/contrib/llvm-project/lldb/include/lldb/Utility/TildeExpressionResolver.h head/contrib/llvm-project/lldb/include/lldb/Utility/Timeout.h head/contrib/llvm-project/lldb/include/lldb/Utility/Timer.h head/contrib/llvm-project/lldb/include/lldb/Utility/TraceOptions.h head/contrib/llvm-project/lldb/include/lldb/Utility/UUID.h head/contrib/llvm-project/lldb/include/lldb/Utility/UriParser.h head/contrib/llvm-project/lldb/include/lldb/Utility/UserID.h head/contrib/llvm-project/lldb/include/lldb/Utility/UserIDResolver.h head/contrib/llvm-project/lldb/include/lldb/Utility/VASPrintf.h head/contrib/llvm-project/lldb/include/lldb/Utility/VMRange.h head/contrib/llvm-project/lldb/include/lldb/lldb-defines.h head/contrib/llvm-project/lldb/include/lldb/lldb-enumerations.h head/contrib/llvm-project/lldb/include/lldb/lldb-forward.h head/contrib/llvm-project/lldb/include/lldb/lldb-private-defines.h head/contrib/llvm-project/lldb/include/lldb/lldb-private-enumerations.h head/contrib/llvm-project/lldb/include/lldb/lldb-private-forward.h head/contrib/llvm-project/lldb/include/lldb/lldb-private-interfaces.h head/contrib/llvm-project/lldb/include/lldb/lldb-private-types.h head/contrib/llvm-project/lldb/include/lldb/lldb-private.h head/contrib/llvm-project/lldb/include/lldb/lldb-public.h head/contrib/llvm-project/lldb/include/lldb/lldb-types.h head/contrib/llvm-project/lldb/include/lldb/lldb-versioning.h head/contrib/llvm-project/lldb/include/lldb/module.modulemap head/contrib/llvm-project/lldb/source/API/SBAddress.cpp head/contrib/llvm-project/lldb/source/API/SBAttachInfo.cpp head/contrib/llvm-project/lldb/source/API/SBBlock.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpoint.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpointLocation.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpointName.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpointOptionCommon.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpointOptionCommon.h head/contrib/llvm-project/lldb/source/API/SBBroadcaster.cpp head/contrib/llvm-project/lldb/source/API/SBCommandInterpreter.cpp head/contrib/llvm-project/lldb/source/API/SBCommandReturnObject.cpp head/contrib/llvm-project/lldb/source/API/SBCommunication.cpp head/contrib/llvm-project/lldb/source/API/SBCompileUnit.cpp head/contrib/llvm-project/lldb/source/API/SBData.cpp head/contrib/llvm-project/lldb/source/API/SBDebugger.cpp head/contrib/llvm-project/lldb/source/API/SBDeclaration.cpp head/contrib/llvm-project/lldb/source/API/SBError.cpp head/contrib/llvm-project/lldb/source/API/SBEvent.cpp head/contrib/llvm-project/lldb/source/API/SBExecutionContext.cpp head/contrib/llvm-project/lldb/source/API/SBExpressionOptions.cpp head/contrib/llvm-project/lldb/source/API/SBFile.cpp head/contrib/llvm-project/lldb/source/API/SBFileSpec.cpp head/contrib/llvm-project/lldb/source/API/SBFileSpecList.cpp head/contrib/llvm-project/lldb/source/API/SBFrame.cpp head/contrib/llvm-project/lldb/source/API/SBFunction.cpp head/contrib/llvm-project/lldb/source/API/SBHostOS.cpp head/contrib/llvm-project/lldb/source/API/SBInstruction.cpp head/contrib/llvm-project/lldb/source/API/SBInstructionList.cpp head/contrib/llvm-project/lldb/source/API/SBLanguageRuntime.cpp head/contrib/llvm-project/lldb/source/API/SBLaunchInfo.cpp head/contrib/llvm-project/lldb/source/API/SBLineEntry.cpp head/contrib/llvm-project/lldb/source/API/SBListener.cpp head/contrib/llvm-project/lldb/source/API/SBMemoryRegionInfo.cpp head/contrib/llvm-project/lldb/source/API/SBMemoryRegionInfoList.cpp head/contrib/llvm-project/lldb/source/API/SBModule.cpp head/contrib/llvm-project/lldb/source/API/SBModuleSpec.cpp head/contrib/llvm-project/lldb/source/API/SBPlatform.cpp head/contrib/llvm-project/lldb/source/API/SBProcess.cpp head/contrib/llvm-project/lldb/source/API/SBProcessInfo.cpp head/contrib/llvm-project/lldb/source/API/SBQueue.cpp head/contrib/llvm-project/lldb/source/API/SBQueueItem.cpp head/contrib/llvm-project/lldb/source/API/SBReproducer.cpp head/contrib/llvm-project/lldb/source/API/SBReproducerPrivate.h head/contrib/llvm-project/lldb/source/API/SBSection.cpp head/contrib/llvm-project/lldb/source/API/SBSourceManager.cpp head/contrib/llvm-project/lldb/source/API/SBStream.cpp head/contrib/llvm-project/lldb/source/API/SBStringList.cpp head/contrib/llvm-project/lldb/source/API/SBStructuredData.cpp head/contrib/llvm-project/lldb/source/API/SBSymbol.cpp head/contrib/llvm-project/lldb/source/API/SBSymbolContext.cpp head/contrib/llvm-project/lldb/source/API/SBSymbolContextList.cpp head/contrib/llvm-project/lldb/source/API/SBTarget.cpp head/contrib/llvm-project/lldb/source/API/SBThread.cpp head/contrib/llvm-project/lldb/source/API/SBThreadCollection.cpp head/contrib/llvm-project/lldb/source/API/SBThreadPlan.cpp head/contrib/llvm-project/lldb/source/API/SBTrace.cpp head/contrib/llvm-project/lldb/source/API/SBTraceOptions.cpp head/contrib/llvm-project/lldb/source/API/SBType.cpp head/contrib/llvm-project/lldb/source/API/SBTypeCategory.cpp head/contrib/llvm-project/lldb/source/API/SBTypeEnumMember.cpp head/contrib/llvm-project/lldb/source/API/SBTypeFilter.cpp head/contrib/llvm-project/lldb/source/API/SBTypeFormat.cpp head/contrib/llvm-project/lldb/source/API/SBTypeNameSpecifier.cpp head/contrib/llvm-project/lldb/source/API/SBTypeSummary.cpp head/contrib/llvm-project/lldb/source/API/SBTypeSynthetic.cpp head/contrib/llvm-project/lldb/source/API/SBUnixSignals.cpp head/contrib/llvm-project/lldb/source/API/SBValue.cpp head/contrib/llvm-project/lldb/source/API/SBValueList.cpp head/contrib/llvm-project/lldb/source/API/SBVariablesOptions.cpp head/contrib/llvm-project/lldb/source/API/SBWatchpoint.cpp head/contrib/llvm-project/lldb/source/API/SystemInitializerFull.cpp head/contrib/llvm-project/lldb/source/API/SystemInitializerFull.h head/contrib/llvm-project/lldb/source/API/Utils.h head/contrib/llvm-project/lldb/source/Breakpoint/Breakpoint.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointID.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointIDList.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointList.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointLocation.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointLocationCollection.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointLocationList.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointName.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointOptions.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointPrecondition.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolver.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverAddress.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverName.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverScripted.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointSite.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointSiteList.cpp head/contrib/llvm-project/lldb/source/Breakpoint/Stoppoint.cpp head/contrib/llvm-project/lldb/source/Breakpoint/StoppointCallbackContext.cpp head/contrib/llvm-project/lldb/source/Breakpoint/StoppointLocation.cpp head/contrib/llvm-project/lldb/source/Breakpoint/Watchpoint.cpp head/contrib/llvm-project/lldb/source/Breakpoint/WatchpointList.cpp head/contrib/llvm-project/lldb/source/Breakpoint/WatchpointOptions.cpp head/contrib/llvm-project/lldb/source/Commands/CommandCompletions.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectApropos.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectApropos.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectBreakpoint.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectBreakpoint.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectBreakpointCommand.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectBreakpointCommand.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectCommands.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectCommands.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectDisassemble.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectDisassemble.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectFrame.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectFrame.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectGUI.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectGUI.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectHelp.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectHelp.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectLanguage.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectLanguage.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectLog.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectLog.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectMemory.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectMemory.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectMultiword.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectPlatform.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectPlatform.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectPlugin.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectPlugin.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectProcess.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectProcess.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectQuit.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectQuit.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectRegister.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectRegister.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectReproducer.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectReproducer.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectSettings.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectSettings.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectSource.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectSource.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectStats.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectStats.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectTarget.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectTarget.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectThread.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectThread.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectType.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectType.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectVersion.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectVersion.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectWatchpoint.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectWatchpoint.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectWatchpointCommand.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectWatchpointCommand.h head/contrib/llvm-project/lldb/source/Commands/Options.td head/contrib/llvm-project/lldb/source/Core/Address.cpp head/contrib/llvm-project/lldb/source/Core/AddressRange.cpp head/contrib/llvm-project/lldb/source/Core/AddressResolver.cpp head/contrib/llvm-project/lldb/source/Core/AddressResolverFileLine.cpp head/contrib/llvm-project/lldb/source/Core/AddressResolverName.cpp head/contrib/llvm-project/lldb/source/Core/Communication.cpp head/contrib/llvm-project/lldb/source/Core/CoreProperties.td head/contrib/llvm-project/lldb/source/Core/Debugger.cpp head/contrib/llvm-project/lldb/source/Core/Disassembler.cpp head/contrib/llvm-project/lldb/source/Core/DumpDataExtractor.cpp head/contrib/llvm-project/lldb/source/Core/DumpRegisterValue.cpp head/contrib/llvm-project/lldb/source/Core/DynamicLoader.cpp head/contrib/llvm-project/lldb/source/Core/EmulateInstruction.cpp head/contrib/llvm-project/lldb/source/Core/FileLineResolver.cpp head/contrib/llvm-project/lldb/source/Core/FileSpecList.cpp head/contrib/llvm-project/lldb/source/Core/FormatEntity.cpp head/contrib/llvm-project/lldb/source/Core/Highlighter.cpp head/contrib/llvm-project/lldb/source/Core/IOHandler.cpp head/contrib/llvm-project/lldb/source/Core/IOHandlerCursesGUI.cpp head/contrib/llvm-project/lldb/source/Core/Mangled.cpp head/contrib/llvm-project/lldb/source/Core/Module.cpp head/contrib/llvm-project/lldb/source/Core/ModuleChild.cpp head/contrib/llvm-project/lldb/source/Core/ModuleList.cpp head/contrib/llvm-project/lldb/source/Core/Opcode.cpp head/contrib/llvm-project/lldb/source/Core/PluginManager.cpp head/contrib/llvm-project/lldb/source/Core/RichManglingContext.cpp head/contrib/llvm-project/lldb/source/Core/SearchFilter.cpp head/contrib/llvm-project/lldb/source/Core/Section.cpp head/contrib/llvm-project/lldb/source/Core/SourceManager.cpp head/contrib/llvm-project/lldb/source/Core/StreamAsynchronousIO.cpp head/contrib/llvm-project/lldb/source/Core/StreamFile.cpp head/contrib/llvm-project/lldb/source/Core/UserSettingsController.cpp head/contrib/llvm-project/lldb/source/Core/Value.cpp head/contrib/llvm-project/lldb/source/Core/ValueObject.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectCast.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectChild.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectConstResult.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectConstResultCast.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectConstResultChild.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectConstResultImpl.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectDynamicValue.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectList.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectMemory.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectRegister.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectSyntheticFilter.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectVariable.cpp head/contrib/llvm-project/lldb/source/DataFormatters/CXXFunctionPointer.cpp head/contrib/llvm-project/lldb/source/DataFormatters/DataVisualization.cpp head/contrib/llvm-project/lldb/source/DataFormatters/DumpValueObjectOptions.cpp head/contrib/llvm-project/lldb/source/DataFormatters/FormatCache.cpp head/contrib/llvm-project/lldb/source/DataFormatters/FormatClasses.cpp head/contrib/llvm-project/lldb/source/DataFormatters/FormatManager.cpp head/contrib/llvm-project/lldb/source/DataFormatters/FormattersHelpers.cpp head/contrib/llvm-project/lldb/source/DataFormatters/LanguageCategory.cpp head/contrib/llvm-project/lldb/source/DataFormatters/StringPrinter.cpp head/contrib/llvm-project/lldb/source/DataFormatters/TypeCategory.cpp head/contrib/llvm-project/lldb/source/DataFormatters/TypeCategoryMap.cpp head/contrib/llvm-project/lldb/source/DataFormatters/TypeFormat.cpp head/contrib/llvm-project/lldb/source/DataFormatters/TypeSummary.cpp head/contrib/llvm-project/lldb/source/DataFormatters/TypeSynthetic.cpp head/contrib/llvm-project/lldb/source/DataFormatters/ValueObjectPrinter.cpp head/contrib/llvm-project/lldb/source/DataFormatters/VectorType.cpp head/contrib/llvm-project/lldb/source/Expression/DWARFExpression.cpp head/contrib/llvm-project/lldb/source/Expression/DiagnosticManager.cpp head/contrib/llvm-project/lldb/source/Expression/Expression.cpp head/contrib/llvm-project/lldb/source/Expression/ExpressionVariable.cpp head/contrib/llvm-project/lldb/source/Expression/FunctionCaller.cpp head/contrib/llvm-project/lldb/source/Expression/IRExecutionUnit.cpp head/contrib/llvm-project/lldb/source/Expression/IRInterpreter.cpp head/contrib/llvm-project/lldb/source/Expression/IRMemoryMap.cpp head/contrib/llvm-project/lldb/source/Expression/LLVMUserExpression.cpp head/contrib/llvm-project/lldb/source/Expression/Materializer.cpp head/contrib/llvm-project/lldb/source/Expression/REPL.cpp head/contrib/llvm-project/lldb/source/Expression/UserExpression.cpp head/contrib/llvm-project/lldb/source/Expression/UtilityFunction.cpp head/contrib/llvm-project/lldb/source/Host/common/Editline.cpp head/contrib/llvm-project/lldb/source/Host/common/File.cpp head/contrib/llvm-project/lldb/source/Host/common/FileAction.cpp head/contrib/llvm-project/lldb/source/Host/common/FileCache.cpp head/contrib/llvm-project/lldb/source/Host/common/FileSystem.cpp head/contrib/llvm-project/lldb/source/Host/common/GetOptInc.cpp head/contrib/llvm-project/lldb/source/Host/common/Host.cpp head/contrib/llvm-project/lldb/source/Host/common/HostInfoBase.cpp head/contrib/llvm-project/lldb/source/Host/common/HostNativeThreadBase.cpp head/contrib/llvm-project/lldb/source/Host/common/HostProcess.cpp head/contrib/llvm-project/lldb/source/Host/common/HostThread.cpp head/contrib/llvm-project/lldb/source/Host/common/LZMA.cpp head/contrib/llvm-project/lldb/source/Host/common/LockFileBase.cpp head/contrib/llvm-project/lldb/source/Host/common/MainLoop.cpp head/contrib/llvm-project/lldb/source/Host/common/MonitoringProcessLauncher.cpp head/contrib/llvm-project/lldb/source/Host/common/NativeProcessProtocol.cpp head/contrib/llvm-project/lldb/source/Host/common/NativeRegisterContext.cpp head/contrib/llvm-project/lldb/source/Host/common/NativeThreadProtocol.cpp head/contrib/llvm-project/lldb/source/Host/common/NativeWatchpointList.cpp head/contrib/llvm-project/lldb/source/Host/common/OptionParser.cpp head/contrib/llvm-project/lldb/source/Host/common/PipeBase.cpp head/contrib/llvm-project/lldb/source/Host/common/ProcessLaunchInfo.cpp head/contrib/llvm-project/lldb/source/Host/common/ProcessRunLock.cpp head/contrib/llvm-project/lldb/source/Host/common/PseudoTerminal.cpp head/contrib/llvm-project/lldb/source/Host/common/Socket.cpp head/contrib/llvm-project/lldb/source/Host/common/SocketAddress.cpp head/contrib/llvm-project/lldb/source/Host/common/StringConvert.cpp head/contrib/llvm-project/lldb/source/Host/common/TCPSocket.cpp head/contrib/llvm-project/lldb/source/Host/common/Terminal.cpp head/contrib/llvm-project/lldb/source/Host/common/ThreadLauncher.cpp head/contrib/llvm-project/lldb/source/Host/common/UDPSocket.cpp head/contrib/llvm-project/lldb/source/Host/common/XML.cpp head/contrib/llvm-project/lldb/source/Host/freebsd/Host.cpp head/contrib/llvm-project/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp head/contrib/llvm-project/lldb/source/Host/netbsd/HostInfoNetBSD.cpp head/contrib/llvm-project/lldb/source/Host/openbsd/Host.cpp head/contrib/llvm-project/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp head/contrib/llvm-project/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/DomainSocket.cpp head/contrib/llvm-project/lldb/source/Host/posix/FileSystemPosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/HostInfoPosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/HostProcessPosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/HostThreadPosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/LockFilePosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/PipePosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp head/contrib/llvm-project/lldb/source/Initialization/SystemInitializer.cpp head/contrib/llvm-project/lldb/source/Initialization/SystemInitializerCommon.cpp head/contrib/llvm-project/lldb/source/Initialization/SystemLifetimeManager.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandAlias.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandHistory.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandObject.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandObjectRegexCommand.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandObjectScript.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandObjectScript.h head/contrib/llvm-project/lldb/source/Interpreter/CommandOptionValidators.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandReturnObject.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionArgParser.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupArchitecture.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupBoolean.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupFile.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupFormat.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupOutputFile.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupPlatform.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupString.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupUInt64.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupUUID.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupVariable.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupWatchpoint.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValue.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueArch.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueArgs.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueArray.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueBoolean.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueChar.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueDictionary.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueEnumeration.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueFileSpec.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueFormat.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueFormatEntity.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueLanguage.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValuePathMappings.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueProperties.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueRegex.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueSInt64.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueString.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueUInt64.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueUUID.cpp head/contrib/llvm-project/lldb/source/Interpreter/Options.cpp head/contrib/llvm-project/lldb/source/Interpreter/Property.cpp head/contrib/llvm-project/lldb/source/Interpreter/ScriptInterpreter.cpp head/contrib/llvm-project/lldb/source/Interpreter/embedded_interpreter.py head/contrib/llvm-project/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp head/contrib/llvm-project/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h head/contrib/llvm-project/lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp head/contrib/llvm-project/lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h head/contrib/llvm-project/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.cpp head/contrib/llvm-project/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.h head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.h head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.h head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangHost.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ModuleDependencyCollector.h head/contrib/llvm-project/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h head/contrib/llvm-project/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.h head/contrib/llvm-project/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h head/contrib/llvm-project/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h head/contrib/llvm-project/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h head/contrib/llvm-project/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h head/contrib/llvm-project/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp head/contrib/llvm-project/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxx.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxBitset.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxOptional.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h head/contrib/llvm-project/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CF.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CF.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/Cocoa.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/Cocoa.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CoreMedia.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CoreMedia.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSArray.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSDictionary.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSError.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSException.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSSet.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSSet.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSString.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSString.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/ObjCLanguage.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.h head/contrib/llvm-project/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp head/contrib/llvm-project/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.h head/contrib/llvm-project/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h head/contrib/llvm-project/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h head/contrib/llvm-project/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h head/contrib/llvm-project/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h head/contrib/llvm-project/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h head/contrib/llvm-project/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.h head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/CrashReason.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/NativeProcessELF.h head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/ProcessMessage.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/ARMDefines.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/ARMUtils.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/AuxVector.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/AuxVector.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/FreeBSDSignals.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/GDBRemoteSignals.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/GDBRemoteSignals.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/HistoryThread.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/HistoryThread.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/HistoryUnwind.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InstructionUtils.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/LinuxProcMaps.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/LinuxSignals.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/MipsLinuxSignals.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/MipsLinuxSignals.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/NetBSDSignals.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwinConstants.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDummy.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDummy.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_s390x.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_s390x.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMach_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMach_arm.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMach_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMach_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMach_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMach_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContext_mips.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContext_powerpc.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContext_s390x.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContext_x86.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64le.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64le.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/StopInfoMachException.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/ThreadMemory.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/ThreadMemory.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-arm-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-arm64-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-mips-freebsd-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-mips-linux-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-ppc64-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-ppc64le-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-s390x-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterUtilities.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterUtilities.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/MinidumpParser.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/MinidumpTypes.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/NtStructures.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/ProcessMinidump.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/ThreadMinidump.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/ThreadMinidump.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h head/contrib/llvm-project/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp head/contrib/llvm-project/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/CodeViewRegisterMapping.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/CodeViewRegisterMapping.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h head/contrib/llvm-project/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.h head/contrib/llvm-project/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp head/contrib/llvm-project/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h head/contrib/llvm-project/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp head/contrib/llvm-project/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h head/contrib/llvm-project/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp head/contrib/llvm-project/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h head/contrib/llvm-project/lldb/source/Symbol/ArmUnwindInfo.cpp head/contrib/llvm-project/lldb/source/Symbol/Block.cpp head/contrib/llvm-project/lldb/source/Symbol/CompactUnwindInfo.cpp head/contrib/llvm-project/lldb/source/Symbol/CompileUnit.cpp head/contrib/llvm-project/lldb/source/Symbol/CompilerDecl.cpp head/contrib/llvm-project/lldb/source/Symbol/CompilerDeclContext.cpp head/contrib/llvm-project/lldb/source/Symbol/CompilerType.cpp head/contrib/llvm-project/lldb/source/Symbol/DWARFCallFrameInfo.cpp head/contrib/llvm-project/lldb/source/Symbol/DebugMacros.cpp head/contrib/llvm-project/lldb/source/Symbol/DeclVendor.cpp head/contrib/llvm-project/lldb/source/Symbol/Declaration.cpp head/contrib/llvm-project/lldb/source/Symbol/FuncUnwinders.cpp head/contrib/llvm-project/lldb/source/Symbol/Function.cpp head/contrib/llvm-project/lldb/source/Symbol/LineEntry.cpp head/contrib/llvm-project/lldb/source/Symbol/LineTable.cpp head/contrib/llvm-project/lldb/source/Symbol/LocateSymbolFile.cpp head/contrib/llvm-project/lldb/source/Symbol/LocateSymbolFileMacOSX.cpp head/contrib/llvm-project/lldb/source/Symbol/ObjectFile.cpp head/contrib/llvm-project/lldb/source/Symbol/PostfixExpression.cpp head/contrib/llvm-project/lldb/source/Symbol/Symbol.cpp head/contrib/llvm-project/lldb/source/Symbol/SymbolContext.cpp head/contrib/llvm-project/lldb/source/Symbol/SymbolFile.cpp head/contrib/llvm-project/lldb/source/Symbol/SymbolVendor.cpp head/contrib/llvm-project/lldb/source/Symbol/Symtab.cpp head/contrib/llvm-project/lldb/source/Symbol/Type.cpp head/contrib/llvm-project/lldb/source/Symbol/TypeList.cpp head/contrib/llvm-project/lldb/source/Symbol/TypeMap.cpp head/contrib/llvm-project/lldb/source/Symbol/TypeSystem.cpp head/contrib/llvm-project/lldb/source/Symbol/UnwindPlan.cpp head/contrib/llvm-project/lldb/source/Symbol/UnwindTable.cpp head/contrib/llvm-project/lldb/source/Symbol/Variable.cpp head/contrib/llvm-project/lldb/source/Symbol/VariableList.cpp head/contrib/llvm-project/lldb/source/Target/ABI.cpp head/contrib/llvm-project/lldb/source/Target/ExecutionContext.cpp head/contrib/llvm-project/lldb/source/Target/InstrumentationRuntime.cpp head/contrib/llvm-project/lldb/source/Target/InstrumentationRuntimeStopInfo.cpp head/contrib/llvm-project/lldb/source/Target/JITLoader.cpp head/contrib/llvm-project/lldb/source/Target/JITLoaderList.cpp head/contrib/llvm-project/lldb/source/Target/Language.cpp head/contrib/llvm-project/lldb/source/Target/LanguageRuntime.cpp head/contrib/llvm-project/lldb/source/Target/Memory.cpp head/contrib/llvm-project/lldb/source/Target/MemoryHistory.cpp head/contrib/llvm-project/lldb/source/Target/MemoryRegionInfo.cpp head/contrib/llvm-project/lldb/source/Target/ModuleCache.cpp head/contrib/llvm-project/lldb/source/Target/OperatingSystem.cpp head/contrib/llvm-project/lldb/source/Target/PathMappingList.cpp head/contrib/llvm-project/lldb/source/Target/Platform.cpp head/contrib/llvm-project/lldb/source/Target/Process.cpp head/contrib/llvm-project/lldb/source/Target/Queue.cpp head/contrib/llvm-project/lldb/source/Target/QueueItem.cpp head/contrib/llvm-project/lldb/source/Target/QueueList.cpp head/contrib/llvm-project/lldb/source/Target/RegisterContext.cpp head/contrib/llvm-project/lldb/source/Target/RegisterNumber.cpp head/contrib/llvm-project/lldb/source/Target/RemoteAwarePlatform.cpp head/contrib/llvm-project/lldb/source/Target/SectionLoadHistory.cpp head/contrib/llvm-project/lldb/source/Target/SectionLoadList.cpp head/contrib/llvm-project/lldb/source/Target/StackFrame.cpp head/contrib/llvm-project/lldb/source/Target/StackFrameList.cpp head/contrib/llvm-project/lldb/source/Target/StackFrameRecognizer.cpp head/contrib/llvm-project/lldb/source/Target/StackID.cpp head/contrib/llvm-project/lldb/source/Target/StopInfo.cpp head/contrib/llvm-project/lldb/source/Target/StructuredDataPlugin.cpp head/contrib/llvm-project/lldb/source/Target/SystemRuntime.cpp head/contrib/llvm-project/lldb/source/Target/Target.cpp head/contrib/llvm-project/lldb/source/Target/TargetList.cpp head/contrib/llvm-project/lldb/source/Target/TargetProperties.td head/contrib/llvm-project/lldb/source/Target/Thread.cpp head/contrib/llvm-project/lldb/source/Target/ThreadCollection.cpp head/contrib/llvm-project/lldb/source/Target/ThreadList.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlan.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanBase.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanCallUserExpression.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanPython.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanRunToAddress.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanShouldStopHere.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepInRange.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepInstruction.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepOut.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepOverRange.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepRange.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepThrough.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepUntil.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanTracer.cpp head/contrib/llvm-project/lldb/source/Target/ThreadSpec.cpp head/contrib/llvm-project/lldb/source/Target/UnixSignals.cpp head/contrib/llvm-project/lldb/source/Target/UnwindAssembly.cpp head/contrib/llvm-project/lldb/source/Utility/ARM64_DWARF_Registers.h head/contrib/llvm-project/lldb/source/Utility/ARM64_ehframe_Registers.h head/contrib/llvm-project/lldb/source/Utility/ARM_DWARF_Registers.h head/contrib/llvm-project/lldb/source/Utility/ARM_ehframe_Registers.h head/contrib/llvm-project/lldb/source/Utility/ArchSpec.cpp head/contrib/llvm-project/lldb/source/Utility/Args.cpp head/contrib/llvm-project/lldb/source/Utility/Baton.cpp head/contrib/llvm-project/lldb/source/Utility/Broadcaster.cpp head/contrib/llvm-project/lldb/source/Utility/CompletionRequest.cpp head/contrib/llvm-project/lldb/source/Utility/Connection.cpp head/contrib/llvm-project/lldb/source/Utility/ConstString.cpp head/contrib/llvm-project/lldb/source/Utility/DataBufferHeap.cpp head/contrib/llvm-project/lldb/source/Utility/DataBufferLLVM.cpp head/contrib/llvm-project/lldb/source/Utility/DataEncoder.cpp head/contrib/llvm-project/lldb/source/Utility/DataExtractor.cpp head/contrib/llvm-project/lldb/source/Utility/Environment.cpp head/contrib/llvm-project/lldb/source/Utility/Event.cpp head/contrib/llvm-project/lldb/source/Utility/FileSpec.cpp head/contrib/llvm-project/lldb/source/Utility/IOObject.cpp head/contrib/llvm-project/lldb/source/Utility/LLDBAssert.cpp head/contrib/llvm-project/lldb/source/Utility/Listener.cpp head/contrib/llvm-project/lldb/source/Utility/Log.cpp head/contrib/llvm-project/lldb/source/Utility/Logging.cpp head/contrib/llvm-project/lldb/source/Utility/NameMatches.cpp head/contrib/llvm-project/lldb/source/Utility/PPC64LE_DWARF_Registers.h head/contrib/llvm-project/lldb/source/Utility/PPC64_DWARF_Registers.h head/contrib/llvm-project/lldb/source/Utility/ProcessInfo.cpp head/contrib/llvm-project/lldb/source/Utility/RegisterValue.cpp head/contrib/llvm-project/lldb/source/Utility/RegularExpression.cpp head/contrib/llvm-project/lldb/source/Utility/Reproducer.cpp head/contrib/llvm-project/lldb/source/Utility/ReproducerInstrumentation.cpp head/contrib/llvm-project/lldb/source/Utility/Scalar.cpp head/contrib/llvm-project/lldb/source/Utility/SelectHelper.cpp head/contrib/llvm-project/lldb/source/Utility/State.cpp head/contrib/llvm-project/lldb/source/Utility/Status.cpp head/contrib/llvm-project/lldb/source/Utility/Stream.cpp head/contrib/llvm-project/lldb/source/Utility/StreamCallback.cpp head/contrib/llvm-project/lldb/source/Utility/StreamString.cpp head/contrib/llvm-project/lldb/source/Utility/StringExtractor.cpp head/contrib/llvm-project/lldb/source/Utility/StringExtractorGDBRemote.cpp head/contrib/llvm-project/lldb/source/Utility/StringLexer.cpp head/contrib/llvm-project/lldb/source/Utility/StringList.cpp head/contrib/llvm-project/lldb/source/Utility/StructuredData.cpp head/contrib/llvm-project/lldb/source/Utility/TildeExpressionResolver.cpp head/contrib/llvm-project/lldb/source/Utility/Timer.cpp head/contrib/llvm-project/lldb/source/Utility/UUID.cpp head/contrib/llvm-project/lldb/source/Utility/UriParser.cpp head/contrib/llvm-project/lldb/source/Utility/UserID.cpp head/contrib/llvm-project/lldb/source/Utility/UserIDResolver.cpp head/contrib/llvm-project/lldb/source/Utility/VASprintf.cpp head/contrib/llvm-project/lldb/source/Utility/VMRange.cpp head/contrib/llvm-project/lldb/source/lldb.cpp head/contrib/llvm-project/lldb/tools/driver/Driver.cpp head/contrib/llvm-project/lldb/tools/driver/Driver.h head/contrib/llvm-project/lldb/tools/driver/Options.td head/contrib/llvm-project/lldb/tools/driver/Platform.h head/contrib/llvm-project/lldb/tools/lldb-instr/Instrument.cpp head/contrib/llvm-project/lldb/tools/lldb-server/Acceptor.cpp head/contrib/llvm-project/lldb/tools/lldb-server/Acceptor.h head/contrib/llvm-project/lldb/tools/lldb-server/LLDBServerUtilities.h head/contrib/llvm-project/lldb/tools/lldb-server/SystemInitializerLLGS.h head/contrib/llvm-project/lldb/tools/lldb-server/lldb-platform.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGenBackends.h head/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGenUtils.h head/contrib/llvm-project/llvm/include/llvm-c/Core.h head/contrib/llvm-project/llvm/include/llvm-c/DataTypes.h head/contrib/llvm-project/llvm/include/llvm-c/DebugInfo.h head/contrib/llvm-project/llvm/include/llvm-c/ExecutionEngine.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/Coroutines.h head/contrib/llvm-project/llvm/include/llvm-c/lto.h head/contrib/llvm-project/llvm/include/llvm/ADT/APFloat.h head/contrib/llvm-project/llvm/include/llvm/ADT/APInt.h head/contrib/llvm-project/llvm/include/llvm/ADT/AllocatorList.h head/contrib/llvm-project/llvm/include/llvm/ADT/Any.h head/contrib/llvm-project/llvm/include/llvm/ADT/ArrayRef.h head/contrib/llvm-project/llvm/include/llvm/ADT/BitVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h head/contrib/llvm-project/llvm/include/llvm/ADT/CachedHashString.h head/contrib/llvm-project/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h head/contrib/llvm-project/llvm/include/llvm/ADT/DeltaAlgorithm.h head/contrib/llvm-project/llvm/include/llvm/ADT/DenseMap.h head/contrib/llvm-project/llvm/include/llvm/ADT/DenseMapInfo.h head/contrib/llvm-project/llvm/include/llvm/ADT/DenseSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/EnumeratedArray.h head/contrib/llvm-project/llvm/include/llvm/ADT/FloatingPointMode.h head/contrib/llvm-project/llvm/include/llvm/ADT/FoldingSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h head/contrib/llvm-project/llvm/include/llvm/ADT/Hashing.h head/contrib/llvm-project/llvm/include/llvm/ADT/ImmutableMap.h head/contrib/llvm-project/llvm/include/llvm/ADT/ImmutableSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/IntervalMap.h head/contrib/llvm-project/llvm/include/llvm/ADT/Optional.h head/contrib/llvm-project/llvm/include/llvm/ADT/PointerEmbeddedInt.h head/contrib/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h head/contrib/llvm-project/llvm/include/llvm/ADT/PointerSumType.h head/contrib/llvm-project/llvm/include/llvm/ADT/PointerUnion.h head/contrib/llvm-project/llvm/include/llvm/ADT/PostOrderIterator.h head/contrib/llvm-project/llvm/include/llvm/ADT/PriorityWorklist.h head/contrib/llvm-project/llvm/include/llvm/ADT/SCCIterator.h head/contrib/llvm-project/llvm/include/llvm/ADT/STLExtras.h head/contrib/llvm-project/llvm/include/llvm/ADT/ScopedHashTable.h head/contrib/llvm-project/llvm/include/llvm/ADT/SetOperations.h head/contrib/llvm-project/llvm/include/llvm/ADT/SetVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/SmallBitVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/SmallString.h head/contrib/llvm-project/llvm/include/llvm/ADT/SmallVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/SparseMultiSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/SparseSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringExtras.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringMap.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringRef.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/TinyPtrVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/Triple.h head/contrib/llvm-project/llvm/include/llvm/ADT/Twine.h head/contrib/llvm-project/llvm/include/llvm/ADT/bit.h head/contrib/llvm-project/llvm/include/llvm/ADT/fallible_iterator.h head/contrib/llvm-project/llvm/include/llvm/ADT/ilist.h head/contrib/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h head/contrib/llvm-project/llvm/include/llvm/ADT/iterator.h head/contrib/llvm-project/llvm/include/llvm/Analysis/AliasAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/AliasSetTracker.h head/contrib/llvm-project/llvm/include/llvm/Analysis/AssumptionCache.h head/contrib/llvm-project/llvm/include/llvm/Analysis/BasicAliasAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/BlockFrequencyInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h head/contrib/llvm-project/llvm/include/llvm/Analysis/BranchProbabilityInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CFG.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CFGPrinter.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CGSCCPassManager.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CallGraph.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CallGraphSCCPass.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CaptureTracking.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CodeMetrics.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ConstantFolding.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DDG.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DependenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DependenceGraphBuilder.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DivergenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DomTreeUpdater.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DominanceFrontier.h head/contrib/llvm-project/llvm/include/llvm/Analysis/EHPersonalities.h head/contrib/llvm-project/llvm/include/llvm/Analysis/GlobalsModRef.h head/contrib/llvm-project/llvm/include/llvm/Analysis/IVDescriptors.h head/contrib/llvm-project/llvm/include/llvm/Analysis/IndirectCallVisitor.h head/contrib/llvm-project/llvm/include/llvm/Analysis/InlineCost.h head/contrib/llvm-project/llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h head/contrib/llvm-project/llvm/include/llvm/Analysis/InstructionSimplify.h head/contrib/llvm-project/llvm/include/llvm/Analysis/IteratedDominanceFrontier.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LazyCallGraph.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LazyValueInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LegacyDivergenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/Loads.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopAccessAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopAnalysisManager.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopInfoImpl.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopPass.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemoryBuiltins.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemoryLocation.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemorySSA.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemorySSAUpdater.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ModuleSummaryAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MustExecute.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ObjCARCInstKind.h head/contrib/llvm-project/llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h head/contrib/llvm-project/llvm/include/llvm/Analysis/Passes.h head/contrib/llvm-project/llvm/include/llvm/Analysis/PhiValues.h head/contrib/llvm-project/llvm/include/llvm/Analysis/PostDominators.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ProfileSummaryInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/PtrUseVisitor.h head/contrib/llvm-project/llvm/include/llvm/Analysis/RegionInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/RegionInfoImpl.h head/contrib/llvm-project/llvm/include/llvm/Analysis/RegionPass.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ScalarEvolution.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ScalarEvolutionNormalization.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ScopedNoAliasAA.h head/contrib/llvm-project/llvm/include/llvm/Analysis/StackSafetyAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/SyncDependenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/SyntheticCountsUtils.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TargetFolder.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.def head/contrib/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TargetTransformInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TypeMetadataUtils.h head/contrib/llvm-project/llvm/include/llvm/Analysis/Utils/Local.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ValueLattice.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ValueTracking.h head/contrib/llvm-project/llvm/include/llvm/Analysis/VecFuncs.def head/contrib/llvm-project/llvm/include/llvm/Analysis/VectorUtils.h head/contrib/llvm-project/llvm/include/llvm/AsmParser/Parser.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/COFF.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Dwarf.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Dwarf.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELF.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/MachO.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Magic.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/MsgPackDocument.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/MsgPackReader.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Wasm.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/WasmRelocs.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/XCOFF.h head/contrib/llvm-project/llvm/include/llvm/Bitcode/BitcodeReader.h head/contrib/llvm-project/llvm/include/llvm/Bitcode/LLVMBitCodes.h head/contrib/llvm-project/llvm/include/llvm/Bitstream/BitstreamReader.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/Analysis.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/AsmPrinter.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/AsmPrinterHandler.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/BasicTTIImpl.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/CallingConvLower.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/DIE.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/DebugHandlerBase.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/EdgeBundles.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ExecutionDomainFix.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/FastISel.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CombinerInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/Localizer.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/Utils.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ISDOpcodes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/IntrinsicLowering.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LexicalScopes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveInterval.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveIntervals.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveRangeCalc.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveRangeEdit.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveVariables.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MIRParser/MIParser.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MIRParser/MIRParser.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MIRYamlMapping.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineBasicBlock.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineCombinerPattern.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineConstantPool.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineDominators.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineFrameInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineFunction.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstr.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstrBundle.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineMemOperand.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineModuleInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachinePipeliner.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachinePostDominators.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineRegisterInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineSSAUpdater.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineScheduler.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineSizeOpts.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ModuloSchedule.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ParallelCG.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/Passes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/PseudoSourceValue.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/Register.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ResourcePriorityQueue.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ScheduleDAG.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ScheduleDFS.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAG.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAGISel.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAGNodes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SlotIndexes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/StackMaps.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/StackProtector.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TailDuplicator.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetCallingConv.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetFrameLowering.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetInstrInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetLowering.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetPassConfig.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetRegisterInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetSubtargetInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ValueTypes.td head/contrib/llvm-project/llvm/include/llvm/CodeGen/VirtRegMap.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/WasmEHFuncInfo.h head/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinker.h head/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h head/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerDeclContext.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/SimpleTypeSerializer.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/TypeCollection.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/TypeSymbolEmitter.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/TypeTableCollection.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DIContext.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFObject.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/GsymReader.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/LineTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/LookupResult.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/Range.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/GenericError.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/IPDBInjectedSource.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/IPDBLineNumber.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeFunctionSig.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypePointer.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeUDT.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h head/contrib/llvm-project/llvm/include/llvm/Demangle/Demangle.h head/contrib/llvm-project/llvm/include/llvm/Demangle/ItaniumDemangle.h head/contrib/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITSymbol.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/ObjectCache.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Layer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Legacy.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/OrcError.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCSerialization.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RPC/RawByteChannel.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Speculation.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h head/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMPConstants.h head/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h head/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def head/contrib/llvm-project/llvm/include/llvm/FuzzMutate/FuzzerCLI.h head/contrib/llvm-project/llvm/include/llvm/FuzzMutate/Random.h head/contrib/llvm-project/llvm/include/llvm/IR/Argument.h head/contrib/llvm-project/llvm/include/llvm/IR/Attributes.h head/contrib/llvm-project/llvm/include/llvm/IR/Attributes.td head/contrib/llvm-project/llvm/include/llvm/IR/AutoUpgrade.h head/contrib/llvm-project/llvm/include/llvm/IR/BasicBlock.h head/contrib/llvm-project/llvm/include/llvm/IR/CFG.h head/contrib/llvm-project/llvm/include/llvm/IR/Constant.h head/contrib/llvm-project/llvm/include/llvm/IR/ConstantFolder.h head/contrib/llvm-project/llvm/include/llvm/IR/ConstantRange.h head/contrib/llvm-project/llvm/include/llvm/IR/Constants.h head/contrib/llvm-project/llvm/include/llvm/IR/ConstrainedOps.def head/contrib/llvm-project/llvm/include/llvm/IR/DIBuilder.h head/contrib/llvm-project/llvm/include/llvm/IR/DataLayout.h head/contrib/llvm-project/llvm/include/llvm/IR/DebugInfo.h head/contrib/llvm-project/llvm/include/llvm/IR/DebugInfoMetadata.h head/contrib/llvm-project/llvm/include/llvm/IR/DebugLoc.h head/contrib/llvm-project/llvm/include/llvm/IR/DerivedTypes.h head/contrib/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h head/contrib/llvm-project/llvm/include/llvm/IR/Dominators.h head/contrib/llvm-project/llvm/include/llvm/IR/FPEnv.h head/contrib/llvm-project/llvm/include/llvm/IR/Function.h head/contrib/llvm-project/llvm/include/llvm/IR/GetElementPtrTypeIterator.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalObject.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalValue.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalVariable.h head/contrib/llvm-project/llvm/include/llvm/IR/IRBuilder.h head/contrib/llvm-project/llvm/include/llvm/IR/IRPrintingPasses.h head/contrib/llvm-project/llvm/include/llvm/IR/InlineAsm.h head/contrib/llvm-project/llvm/include/llvm/IR/InstVisitor.h head/contrib/llvm-project/llvm/include/llvm/IR/InstrTypes.h head/contrib/llvm-project/llvm/include/llvm/IR/Instruction.h head/contrib/llvm-project/llvm/include/llvm/IR/Instructions.h head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicInst.h head/contrib/llvm-project/llvm/include/llvm/IR/Intrinsics.h head/contrib/llvm-project/llvm/include/llvm/IR/Intrinsics.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsAArch64.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsAMDGPU.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsARM.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsBPF.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsHexagon.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsMips.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsNVVM.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsPowerPC.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsRISCV.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsSystemZ.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsWebAssembly.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsX86.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsXCore.td head/contrib/llvm-project/llvm/include/llvm/IR/LLVMContext.h head/contrib/llvm-project/llvm/include/llvm/IR/LegacyPassManagers.h head/contrib/llvm-project/llvm/include/llvm/IR/LegacyPassNameParser.h head/contrib/llvm-project/llvm/include/llvm/IR/Mangler.h head/contrib/llvm-project/llvm/include/llvm/IR/Metadata.h head/contrib/llvm-project/llvm/include/llvm/IR/Module.h head/contrib/llvm-project/llvm/include/llvm/IR/ModuleSummaryIndex.h head/contrib/llvm-project/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h head/contrib/llvm-project/llvm/include/llvm/IR/NoFolder.h head/contrib/llvm-project/llvm/include/llvm/IR/Operator.h head/contrib/llvm-project/llvm/include/llvm/IR/PassInstrumentation.h head/contrib/llvm-project/llvm/include/llvm/IR/PassManager.h head/contrib/llvm-project/llvm/include/llvm/IR/PassTimingInfo.h head/contrib/llvm-project/llvm/include/llvm/IR/PatternMatch.h head/contrib/llvm-project/llvm/include/llvm/IR/ProfileSummary.h head/contrib/llvm-project/llvm/include/llvm/IR/RuntimeLibcalls.def head/contrib/llvm-project/llvm/include/llvm/IR/Statepoint.h head/contrib/llvm-project/llvm/include/llvm/IR/Type.h head/contrib/llvm-project/llvm/include/llvm/IR/Use.h head/contrib/llvm-project/llvm/include/llvm/IR/User.h head/contrib/llvm-project/llvm/include/llvm/IR/Value.h head/contrib/llvm-project/llvm/include/llvm/IR/ValueHandle.h head/contrib/llvm-project/llvm/include/llvm/IR/ValueMap.h head/contrib/llvm-project/llvm/include/llvm/IRReader/IRReader.h head/contrib/llvm-project/llvm/include/llvm/InitializePasses.h head/contrib/llvm-project/llvm/include/llvm/LTO/Config.h head/contrib/llvm-project/llvm/include/llvm/LTO/LTO.h head/contrib/llvm-project/llvm/include/llvm/LTO/LTOBackend.h head/contrib/llvm-project/llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h head/contrib/llvm-project/llvm/include/llvm/LTO/legacy/LTOModule.h head/contrib/llvm-project/llvm/include/llvm/LinkAllPasses.h head/contrib/llvm-project/llvm/include/llvm/MC/ConstantPools.h head/contrib/llvm-project/llvm/include/llvm/MC/LaneBitmask.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAsmBackend.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAsmInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAsmLayout.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAssembler.h head/contrib/llvm-project/llvm/include/llvm/MC/MCContext.h head/contrib/llvm-project/llvm/include/llvm/MC/MCDirectives.h head/contrib/llvm-project/llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h head/contrib/llvm-project/llvm/include/llvm/MC/MCDwarf.h head/contrib/llvm-project/llvm/include/llvm/MC/MCELFObjectWriter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCELFStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCExpr.h head/contrib/llvm-project/llvm/include/llvm/MC/MCFixup.h head/contrib/llvm-project/llvm/include/llvm/MC/MCFragment.h head/contrib/llvm-project/llvm/include/llvm/MC/MCInstPrinter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCInstrDesc.h head/contrib/llvm-project/llvm/include/llvm/MC/MCInstrInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCInstrItineraries.h head/contrib/llvm-project/llvm/include/llvm/MC/MCMachObjectWriter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCObjectFileInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCObjectStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCObjectWriter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCParser/AsmLexer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCParser/MCAsmParser.h head/contrib/llvm-project/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h head/contrib/llvm-project/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h head/contrib/llvm-project/llvm/include/llvm/MC/MCRegister.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSchedule.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSection.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSectionCOFF.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSectionELF.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSectionMachO.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSectionWasm.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSectionXCOFF.h head/contrib/llvm-project/llvm/include/llvm/MC/MCStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSubtargetInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSymbolWasm.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSymbolXCOFF.h head/contrib/llvm-project/llvm/include/llvm/MC/MCTargetOptions.h head/contrib/llvm-project/llvm/include/llvm/MC/MCValue.h head/contrib/llvm-project/llvm/include/llvm/MC/MCWasmObjectWriter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCWasmStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCWinCOFFObjectWriter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCWinCOFFStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCXCOFFObjectWriter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCXCOFFStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/StringTableBuilder.h head/contrib/llvm-project/llvm/include/llvm/MC/SubtargetFeature.h head/contrib/llvm-project/llvm/include/llvm/MCA/CodeEmitter.h head/contrib/llvm-project/llvm/include/llvm/MCA/HardwareUnits/LSUnit.h head/contrib/llvm-project/llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h head/contrib/llvm-project/llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h head/contrib/llvm-project/llvm/include/llvm/MCA/Pipeline.h head/contrib/llvm-project/llvm/include/llvm/MCA/Stages/DispatchStage.h head/contrib/llvm-project/llvm/include/llvm/Object/ArchiveWriter.h head/contrib/llvm-project/llvm/include/llvm/Object/Binary.h head/contrib/llvm-project/llvm/include/llvm/Object/COFF.h head/contrib/llvm-project/llvm/include/llvm/Object/COFFImportFile.h head/contrib/llvm-project/llvm/include/llvm/Object/ELF.h head/contrib/llvm-project/llvm/include/llvm/Object/ELFObjectFile.h head/contrib/llvm-project/llvm/include/llvm/Object/ELFTypes.h head/contrib/llvm-project/llvm/include/llvm/Object/Error.h head/contrib/llvm-project/llvm/include/llvm/Object/IRObjectFile.h head/contrib/llvm-project/llvm/include/llvm/Object/IRSymtab.h head/contrib/llvm-project/llvm/include/llvm/Object/MachO.h head/contrib/llvm-project/llvm/include/llvm/Object/MachOUniversal.h head/contrib/llvm-project/llvm/include/llvm/Object/ModuleSymbolTable.h head/contrib/llvm-project/llvm/include/llvm/Object/ObjectFile.h head/contrib/llvm-project/llvm/include/llvm/Object/SymbolicFile.h head/contrib/llvm-project/llvm/include/llvm/Object/TapiFile.h head/contrib/llvm-project/llvm/include/llvm/Object/TapiUniversal.h head/contrib/llvm-project/llvm/include/llvm/Object/Wasm.h head/contrib/llvm-project/llvm/include/llvm/Object/XCOFFObjectFile.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/DWARFEmitter.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/DWARFYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/ELFYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/MachOYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/WasmYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/yaml2obj.h head/contrib/llvm-project/llvm/include/llvm/Option/OptParser.td head/contrib/llvm-project/llvm/include/llvm/Option/Option.h head/contrib/llvm-project/llvm/include/llvm/Pass.h head/contrib/llvm-project/llvm/include/llvm/PassAnalysisSupport.h head/contrib/llvm-project/llvm/include/llvm/PassSupport.h head/contrib/llvm-project/llvm/include/llvm/Passes/PassBuilder.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/GCOV.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/InstrProfData.inc head/contrib/llvm-project/llvm/include/llvm/ProfileData/ProfileCommon.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/SampleProf.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/SampleProfReader.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/SampleProfWriter.h head/contrib/llvm-project/llvm/include/llvm/Remarks/Remark.h head/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkLinker.h head/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkStringTable.h head/contrib/llvm-project/llvm/include/llvm/Support/AArch64TargetParser.def head/contrib/llvm-project/llvm/include/llvm/Support/AArch64TargetParser.h head/contrib/llvm-project/llvm/include/llvm/Support/AMDGPUMetadata.h head/contrib/llvm-project/llvm/include/llvm/Support/ARMAttributeParser.h head/contrib/llvm-project/llvm/include/llvm/Support/ARMBuildAttributes.h head/contrib/llvm-project/llvm/include/llvm/Support/ARMTargetParser.def head/contrib/llvm-project/llvm/include/llvm/Support/ARMTargetParser.h head/contrib/llvm-project/llvm/include/llvm/Support/Alignment.h head/contrib/llvm-project/llvm/include/llvm/Support/Allocator.h head/contrib/llvm-project/llvm/include/llvm/Support/AtomicOrdering.h head/contrib/llvm-project/llvm/include/llvm/Support/BinaryStreamArray.h head/contrib/llvm-project/llvm/include/llvm/Support/BinaryStreamReader.h head/contrib/llvm-project/llvm/include/llvm/Support/BinaryStreamWriter.h head/contrib/llvm-project/llvm/include/llvm/Support/BranchProbability.h head/contrib/llvm-project/llvm/include/llvm/Support/CFGUpdate.h head/contrib/llvm-project/llvm/include/llvm/Support/CachePruning.h head/contrib/llvm-project/llvm/include/llvm/Support/Casting.h head/contrib/llvm-project/llvm/include/llvm/Support/CheckedArithmetic.h head/contrib/llvm-project/llvm/include/llvm/Support/Chrono.h head/contrib/llvm-project/llvm/include/llvm/Support/CommandLine.h head/contrib/llvm-project/llvm/include/llvm/Support/Compiler.h head/contrib/llvm-project/llvm/include/llvm/Support/DataExtractor.h head/contrib/llvm-project/llvm/include/llvm/Support/DebugCounter.h head/contrib/llvm-project/llvm/include/llvm/Support/Endian.h head/contrib/llvm-project/llvm/include/llvm/Support/Errno.h head/contrib/llvm-project/llvm/include/llvm/Support/Error.h head/contrib/llvm-project/llvm/include/llvm/Support/ErrorHandling.h head/contrib/llvm-project/llvm/include/llvm/Support/ErrorOr.h head/contrib/llvm-project/llvm/include/llvm/Support/FileCheck.h head/contrib/llvm-project/llvm/include/llvm/Support/FileCollector.h head/contrib/llvm-project/llvm/include/llvm/Support/FileOutputBuffer.h head/contrib/llvm-project/llvm/include/llvm/Support/FormatAdapters.h head/contrib/llvm-project/llvm/include/llvm/Support/FormatProviders.h head/contrib/llvm-project/llvm/include/llvm/Support/FormatVariadic.h head/contrib/llvm-project/llvm/include/llvm/Support/FormatVariadicDetails.h head/contrib/llvm-project/llvm/include/llvm/Support/FormattedStream.h head/contrib/llvm-project/llvm/include/llvm/Support/GenericDomTree.h head/contrib/llvm-project/llvm/include/llvm/Support/GenericDomTreeConstruction.h head/contrib/llvm-project/llvm/include/llvm/Support/GenericIteratedDominanceFrontier.h head/contrib/llvm-project/llvm/include/llvm/Support/GlobPattern.h head/contrib/llvm-project/llvm/include/llvm/Support/GraphWriter.h head/contrib/llvm-project/llvm/include/llvm/Support/Host.h head/contrib/llvm-project/llvm/include/llvm/Support/ItaniumManglingCanonicalizer.h head/contrib/llvm-project/llvm/include/llvm/Support/JSON.h head/contrib/llvm-project/llvm/include/llvm/Support/KnownBits.h head/contrib/llvm-project/llvm/include/llvm/Support/LEB128.h head/contrib/llvm-project/llvm/include/llvm/Support/LockFileManager.h head/contrib/llvm-project/llvm/include/llvm/Support/LowLevelTypeImpl.h head/contrib/llvm-project/llvm/include/llvm/Support/MD5.h head/contrib/llvm-project/llvm/include/llvm/Support/MSVCErrorWorkarounds.h head/contrib/llvm-project/llvm/include/llvm/Support/MachineValueType.h head/contrib/llvm-project/llvm/include/llvm/Support/MathExtras.h head/contrib/llvm-project/llvm/include/llvm/Support/MemAlloc.h head/contrib/llvm-project/llvm/include/llvm/Support/MemoryBuffer.h head/contrib/llvm-project/llvm/include/llvm/Support/NativeFormatting.h head/contrib/llvm-project/llvm/include/llvm/Support/Parallel.h head/contrib/llvm-project/llvm/include/llvm/Support/Path.h head/contrib/llvm-project/llvm/include/llvm/Support/PointerLikeTypeTraits.h head/contrib/llvm-project/llvm/include/llvm/Support/PrettyStackTrace.h head/contrib/llvm-project/llvm/include/llvm/Support/Process.h head/contrib/llvm-project/llvm/include/llvm/Support/Program.h head/contrib/llvm-project/llvm/include/llvm/Support/Regex.h head/contrib/llvm-project/llvm/include/llvm/Support/SHA1.h head/contrib/llvm-project/llvm/include/llvm/Support/ScaledNumber.h head/contrib/llvm-project/llvm/include/llvm/Support/SmallVectorMemoryBuffer.h head/contrib/llvm-project/llvm/include/llvm/Support/SourceMgr.h head/contrib/llvm-project/llvm/include/llvm/Support/SpecialCaseList.h head/contrib/llvm-project/llvm/include/llvm/Support/SwapByteOrder.h head/contrib/llvm-project/llvm/include/llvm/Support/SystemUtils.h head/contrib/llvm-project/llvm/include/llvm/Support/TargetOpcodes.def head/contrib/llvm-project/llvm/include/llvm/Support/TargetParser.h head/contrib/llvm-project/llvm/include/llvm/Support/TaskQueue.h head/contrib/llvm-project/llvm/include/llvm/Support/ThreadPool.h head/contrib/llvm-project/llvm/include/llvm/Support/Threading.h head/contrib/llvm-project/llvm/include/llvm/Support/TimeProfiler.h head/contrib/llvm-project/llvm/include/llvm/Support/ToolOutputFile.h head/contrib/llvm-project/llvm/include/llvm/Support/TrailingObjects.h head/contrib/llvm-project/llvm/include/llvm/Support/TrigramIndex.h head/contrib/llvm-project/llvm/include/llvm/Support/TypeSize.h head/contrib/llvm-project/llvm/include/llvm/Support/VersionTuple.h head/contrib/llvm-project/llvm/include/llvm/Support/VirtualFileSystem.h head/contrib/llvm-project/llvm/include/llvm/Support/Windows/WindowsSupport.h head/contrib/llvm-project/llvm/include/llvm/Support/WithColor.h head/contrib/llvm-project/llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h head/contrib/llvm-project/llvm/include/llvm/Support/X86TargetParser.def head/contrib/llvm-project/llvm/include/llvm/Support/YAMLParser.h head/contrib/llvm-project/llvm/include/llvm/Support/YAMLTraits.h head/contrib/llvm-project/llvm/include/llvm/Support/circular_raw_ostream.h head/contrib/llvm-project/llvm/include/llvm/Support/raw_ostream.h head/contrib/llvm-project/llvm/include/llvm/Support/type_traits.h head/contrib/llvm-project/llvm/include/llvm/TableGen/Main.h head/contrib/llvm-project/llvm/include/llvm/TableGen/Record.h head/contrib/llvm-project/llvm/include/llvm/TableGen/StringToOffsetTable.h head/contrib/llvm-project/llvm/include/llvm/Target/GenericOpcodes.td head/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/Combine.td head/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td head/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/Target.td head/contrib/llvm-project/llvm/include/llvm/Target/Target.td head/contrib/llvm-project/llvm/include/llvm/Target/TargetCallingConv.td head/contrib/llvm-project/llvm/include/llvm/Target/TargetIntrinsicInfo.h head/contrib/llvm-project/llvm/include/llvm/Target/TargetItinerary.td head/contrib/llvm-project/llvm/include/llvm/Target/TargetLoweringObjectFile.h head/contrib/llvm-project/llvm/include/llvm/Target/TargetMachine.h head/contrib/llvm-project/llvm/include/llvm/Target/TargetOptions.h head/contrib/llvm-project/llvm/include/llvm/Target/TargetSchedule.td head/contrib/llvm-project/llvm/include/llvm/Target/TargetSelectionDAG.td head/contrib/llvm-project/llvm/include/llvm/Testing/Support/Annotations.h head/contrib/llvm-project/llvm/include/llvm/Testing/Support/Error.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/ELF/TBEHandler.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/Architecture.def head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/Architecture.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/ArchitectureSet.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/InterfaceFile.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/PackedVersion.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/TextAPIReader.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/TextAPIWriter.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/ArgumentPromotion.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/Attributor.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/Inliner.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/SyntheticCountsPropagation.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h head/contrib/llvm-project/llvm/include/llvm/Transforms/InstCombine/InstCombine.h head/contrib/llvm-project/llvm/include/llvm/Transforms/InstCombine/InstCombineWorklist.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/CGProfile.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/Float2Int.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/GVN.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/GVNExpression.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/InductiveRangeCheckElimination.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/JumpThreading.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/Reassociate.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/Cloning.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CodeExtractor.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/Debugify.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/Evaluator.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/FunctionComparator.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/Local.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/LoopSimplify.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/LoopUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/LoopVersioning.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ModuleUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/PredicateInfo.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/SizeOpts.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/UnrollLoop.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/VNCoercion.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h head/contrib/llvm-project/llvm/include/llvm/XRay/Graph.h head/contrib/llvm-project/llvm/include/llvm/XRay/InstrumentationMap.h head/contrib/llvm-project/llvm/include/llvm/module.modulemap head/contrib/llvm-project/llvm/lib/Analysis/AliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp head/contrib/llvm-project/llvm/lib/Analysis/AliasAnalysisSummary.cpp head/contrib/llvm-project/llvm/lib/Analysis/AliasAnalysisSummary.h head/contrib/llvm-project/llvm/lib/Analysis/AliasSetTracker.cpp head/contrib/llvm-project/llvm/lib/Analysis/AssumptionCache.cpp head/contrib/llvm-project/llvm/lib/Analysis/BasicAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/BlockFrequencyInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp head/contrib/llvm-project/llvm/lib/Analysis/BranchProbabilityInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/CFG.cpp head/contrib/llvm-project/llvm/lib/Analysis/CFGPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp head/contrib/llvm-project/llvm/lib/Analysis/CallGraph.cpp head/contrib/llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp head/contrib/llvm-project/llvm/lib/Analysis/CallPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/CaptureTracking.cpp head/contrib/llvm-project/llvm/lib/Analysis/CodeMetrics.cpp head/contrib/llvm-project/llvm/lib/Analysis/ConstantFolding.cpp head/contrib/llvm-project/llvm/lib/Analysis/DDG.cpp head/contrib/llvm-project/llvm/lib/Analysis/DependenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/DependenceGraphBuilder.cpp head/contrib/llvm-project/llvm/lib/Analysis/DivergenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/DomPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp head/contrib/llvm-project/llvm/lib/Analysis/GlobalsModRef.cpp head/contrib/llvm-project/llvm/lib/Analysis/GuardUtils.cpp head/contrib/llvm-project/llvm/lib/Analysis/IVDescriptors.cpp head/contrib/llvm-project/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/InlineCost.cpp head/contrib/llvm-project/llvm/lib/Analysis/InstructionPrecedenceTracking.cpp head/contrib/llvm-project/llvm/lib/Analysis/InstructionSimplify.cpp head/contrib/llvm-project/llvm/lib/Analysis/LazyCallGraph.cpp head/contrib/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/Lint.cpp head/contrib/llvm-project/llvm/lib/Analysis/Loads.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopAccessAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopAnalysisManager.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopCacheAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopPass.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopUnrollAnalyzer.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemDepPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemDerefPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemoryLocation.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemorySSA.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemorySSAUpdater.cpp head/contrib/llvm-project/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/MustExecute.cpp head/contrib/llvm-project/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/ObjCARCInstKind.cpp head/contrib/llvm-project/llvm/lib/Analysis/OptimizationRemarkEmitter.cpp head/contrib/llvm-project/llvm/lib/Analysis/ProfileSummaryInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/RegionPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp head/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/SyncDependenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/SyntheticCountsUtils.cpp head/contrib/llvm-project/llvm/lib/Analysis/TargetLibraryInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/TargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/TypeMetadataUtils.cpp head/contrib/llvm-project/llvm/lib/Analysis/VFABIDemangling.cpp head/contrib/llvm-project/llvm/lib/Analysis/ValueLattice.cpp head/contrib/llvm-project/llvm/lib/Analysis/ValueLatticeUtils.cpp head/contrib/llvm-project/llvm/lib/Analysis/ValueTracking.cpp head/contrib/llvm-project/llvm/lib/Analysis/VectorUtils.cpp head/contrib/llvm-project/llvm/lib/AsmParser/LLLexer.cpp head/contrib/llvm-project/llvm/lib/AsmParser/LLLexer.h head/contrib/llvm-project/llvm/lib/AsmParser/LLParser.cpp head/contrib/llvm-project/llvm/lib/AsmParser/LLParser.h head/contrib/llvm-project/llvm/lib/AsmParser/LLToken.h head/contrib/llvm-project/llvm/lib/AsmParser/Parser.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/Dwarf.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/Magic.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/MsgPackDocument.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/Wasm.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/XCOFF.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Reader/BitcodeReader.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Reader/MetadataLoader.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Reader/MetadataLoader.h head/contrib/llvm-project/llvm/lib/Bitcode/Reader/ValueList.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Writer/ValueEnumerator.h head/contrib/llvm-project/llvm/lib/Bitstream/Reader/BitstreamReader.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h head/contrib/llvm-project/llvm/lib/CodeGen/AllocationOrder.h head/contrib/llvm-project/llvm/lib/CodeGen/Analysis.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/ByteStreamer.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DIE.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DIEHash.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfException.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/WasmException.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/WinException.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/WinException.h head/contrib/llvm-project/llvm/lib/CodeGen/AtomicExpandPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/BranchFolding.cpp head/contrib/llvm-project/llvm/lib/CodeGen/BranchFolding.h head/contrib/llvm-project/llvm/lib/CodeGen/BranchRelaxation.cpp head/contrib/llvm-project/llvm/lib/CodeGen/BreakFalseDeps.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CFIInstrInserter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CalcSpillWeights.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CallingConvLower.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CodeGenPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CriticalAntiDepBreaker.h head/contrib/llvm-project/llvm/lib/CodeGen/DwarfEHPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/EarlyIfConversion.cpp head/contrib/llvm-project/llvm/lib/CodeGen/EdgeBundles.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ExpandMemCmp.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ExpandReductions.cpp head/contrib/llvm-project/llvm/lib/CodeGen/FEntryInserter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/FaultMaps.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GCMetadata.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GCRootLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/GISelChangeObserver.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/Localizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/Utils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalMerge.cpp head/contrib/llvm-project/llvm/lib/CodeGen/HardwareLoops.cpp head/contrib/llvm-project/llvm/lib/CodeGen/IfConversion.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ImplicitNullChecks.cpp head/contrib/llvm-project/llvm/lib/CodeGen/InlineSpiller.cpp head/contrib/llvm-project/llvm/lib/CodeGen/InterferenceCache.h head/contrib/llvm-project/llvm/lib/CodeGen/InterleavedAccessPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/IntrinsicLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LLVMTargetMachine.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LexicalScopes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveDebugVariables.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveDebugVariables.h head/contrib/llvm-project/llvm/lib/CodeGen/LiveIntervals.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LivePhysRegs.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveRangeCalc.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveRangeEdit.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveRangeShrink.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveVariables.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LowLevelType.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LowerEmuTLS.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRCanonicalizerPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRParser/MILexer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRParser/MILexer.h head/contrib/llvm-project/llvm/lib/CodeGen/MIRParser/MIParser.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRParser/MIRParser.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRVRegNamerUtils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRVRegNamerUtils.h head/contrib/llvm-project/llvm/lib/CodeGen/MachineBasicBlock.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineBlockPlacement.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineCSE.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineCombiner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineCopyPropagation.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineFrameInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineFunction.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineInstr.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineInstrBundle.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineLICM.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineLoopUtils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineModuleInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineOperand.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineOutliner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineSSAUpdater.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineScheduler.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineSizeOpts.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ModuloSchedule.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PHIElimination.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PHIEliminationUtils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ParallelCG.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PatchableFunction.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PeepholeOptimizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PostRASchedulerList.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ReachingDefAnalysis.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocBase.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocBase.h head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocBasic.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocGreedy.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocPBQP.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegUsageInfoPropagate.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegisterCoalescer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegisterPressure.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegisterScavenging.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SafeStack.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SafeStackLayout.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SafeStackLayout.h head/contrib/llvm-project/llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAG.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.h head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ShrinkWrap.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SjLjEHPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SlotIndexes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SplitKit.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h head/contrib/llvm-project/llvm/lib/CodeGen/StackColoring.cpp head/contrib/llvm-project/llvm/lib/CodeGen/StackMaps.cpp head/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp head/contrib/llvm-project/llvm/lib/CodeGen/StackSlotColoring.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SwiftErrorValueTracking.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SwitchLoweringUtils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TailDuplication.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TailDuplicator.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetLoweringBase.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetOptionsImpl.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetPassConfig.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp head/contrib/llvm-project/llvm/lib/CodeGen/UnreachableBlockElim.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ValueTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/VirtRegMap.cpp head/contrib/llvm-project/llvm/lib/CodeGen/WasmEHPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/WinEHPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp head/contrib/llvm-project/llvm/lib/DWARFLinker/DWARFLinker.cpp head/contrib/llvm-project/llvm/lib/DWARFLinker/DWARFLinkerCompileUnit.cpp head/contrib/llvm-project/llvm/lib/DWARFLinker/DWARFLinkerDeclContext.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/AppendingTypeTableBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/MergingTypeTableBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/RecordName.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/GsymCreator.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/GsymReader.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/InlineInfo.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/LookupResult.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/Range.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/EnumTables.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeSymbolEnumerator.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeTypeArray.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeTypeTypedef.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeTypeUDT.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/PDB.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.h head/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp head/contrib/llvm-project/llvm/lib/Demangle/Demangle.cpp head/contrib/llvm-project/llvm/lib/Demangle/ItaniumDemangle.cpp head/contrib/llvm-project/llvm/lib/Demangle/MicrosoftDemangle.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/ExecutionEngine.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Speculation.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/OrcError/OrcError.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFI386.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h head/contrib/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp head/contrib/llvm-project/llvm/lib/FuzzMutate/FuzzerCLI.cpp head/contrib/llvm-project/llvm/lib/FuzzMutate/Operations.cpp head/contrib/llvm-project/llvm/lib/IR/AbstractCallSite.cpp head/contrib/llvm-project/llvm/lib/IR/AsmWriter.cpp head/contrib/llvm-project/llvm/lib/IR/AttributeImpl.h head/contrib/llvm-project/llvm/lib/IR/Attributes.cpp head/contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp head/contrib/llvm-project/llvm/lib/IR/BasicBlock.cpp head/contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp head/contrib/llvm-project/llvm/lib/IR/ConstantFold.h head/contrib/llvm-project/llvm/lib/IR/ConstantRange.cpp head/contrib/llvm-project/llvm/lib/IR/Constants.cpp head/contrib/llvm-project/llvm/lib/IR/ConstantsContext.h head/contrib/llvm-project/llvm/lib/IR/Core.cpp head/contrib/llvm-project/llvm/lib/IR/DIBuilder.cpp head/contrib/llvm-project/llvm/lib/IR/DataLayout.cpp head/contrib/llvm-project/llvm/lib/IR/DebugInfo.cpp head/contrib/llvm-project/llvm/lib/IR/DebugInfoMetadata.cpp head/contrib/llvm-project/llvm/lib/IR/DebugLoc.cpp head/contrib/llvm-project/llvm/lib/IR/DiagnosticInfo.cpp head/contrib/llvm-project/llvm/lib/IR/Dominators.cpp head/contrib/llvm-project/llvm/lib/IR/FPEnv.cpp head/contrib/llvm-project/llvm/lib/IR/Function.cpp head/contrib/llvm-project/llvm/lib/IR/Globals.cpp head/contrib/llvm-project/llvm/lib/IR/IRBuilder.cpp head/contrib/llvm-project/llvm/lib/IR/InlineAsm.cpp head/contrib/llvm-project/llvm/lib/IR/Instruction.cpp head/contrib/llvm-project/llvm/lib/IR/Instructions.cpp head/contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp head/contrib/llvm-project/llvm/lib/IR/LLVMContext.cpp head/contrib/llvm-project/llvm/lib/IR/LLVMContextImpl.cpp head/contrib/llvm-project/llvm/lib/IR/LLVMContextImpl.h head/contrib/llvm-project/llvm/lib/IR/LegacyPassManager.cpp head/contrib/llvm-project/llvm/lib/IR/MDBuilder.cpp head/contrib/llvm-project/llvm/lib/IR/Mangler.cpp head/contrib/llvm-project/llvm/lib/IR/Metadata.cpp head/contrib/llvm-project/llvm/lib/IR/Module.cpp head/contrib/llvm-project/llvm/lib/IR/ModuleSummaryIndex.cpp head/contrib/llvm-project/llvm/lib/IR/Operator.cpp head/contrib/llvm-project/llvm/lib/IR/Pass.cpp head/contrib/llvm-project/llvm/lib/IR/PassManager.cpp head/contrib/llvm-project/llvm/lib/IR/PassRegistry.cpp head/contrib/llvm-project/llvm/lib/IR/PassTimingInfo.cpp head/contrib/llvm-project/llvm/lib/IR/ProfileSummary.cpp head/contrib/llvm-project/llvm/lib/IR/SafepointIRVerifier.cpp head/contrib/llvm-project/llvm/lib/IR/Statepoint.cpp head/contrib/llvm-project/llvm/lib/IR/SymbolTableListTraitsImpl.h head/contrib/llvm-project/llvm/lib/IR/Type.cpp head/contrib/llvm-project/llvm/lib/IR/Use.cpp head/contrib/llvm-project/llvm/lib/IR/User.cpp head/contrib/llvm-project/llvm/lib/IR/Value.cpp head/contrib/llvm-project/llvm/lib/IR/ValueSymbolTable.cpp head/contrib/llvm-project/llvm/lib/IR/Verifier.cpp head/contrib/llvm-project/llvm/lib/IRReader/IRReader.cpp head/contrib/llvm-project/llvm/lib/LTO/Caching.cpp head/contrib/llvm-project/llvm/lib/LTO/LTO.cpp head/contrib/llvm-project/llvm/lib/LTO/LTOBackend.cpp head/contrib/llvm-project/llvm/lib/LTO/LTOCodeGenerator.cpp head/contrib/llvm-project/llvm/lib/LTO/LTOModule.cpp head/contrib/llvm-project/llvm/lib/LTO/ThinLTOCodeGenerator.cpp head/contrib/llvm-project/llvm/lib/LTO/UpdateCompilerUsed.cpp head/contrib/llvm-project/llvm/lib/LineEditor/LineEditor.cpp head/contrib/llvm-project/llvm/lib/Linker/IRMover.cpp head/contrib/llvm-project/llvm/lib/MC/ConstantPools.cpp head/contrib/llvm-project/llvm/lib/MC/ELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmInfoCOFF.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmInfoDarwin.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmInfoXCOFF.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCAssembler.cpp head/contrib/llvm-project/llvm/lib/MC/MCCodeView.cpp head/contrib/llvm-project/llvm/lib/MC/MCContext.cpp head/contrib/llvm-project/llvm/lib/MC/MCDisassembler/MCDisassembler.cpp head/contrib/llvm-project/llvm/lib/MC/MCDwarf.cpp head/contrib/llvm-project/llvm/lib/MC/MCELFStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCExpr.cpp head/contrib/llvm-project/llvm/lib/MC/MCFragment.cpp head/contrib/llvm-project/llvm/lib/MC/MCInstPrinter.cpp head/contrib/llvm-project/llvm/lib/MC/MCInstrAnalysis.cpp head/contrib/llvm-project/llvm/lib/MC/MCInstrDesc.cpp head/contrib/llvm-project/llvm/lib/MC/MCMachOStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCNullStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCObjectFileInfo.cpp head/contrib/llvm-project/llvm/lib/MC/MCObjectStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/AsmLexer.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/AsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/COFFAsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/DarwinAsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/ELFAsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/MCAsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/WasmAsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCSection.cpp head/contrib/llvm-project/llvm/lib/MC/MCSectionCOFF.cpp head/contrib/llvm-project/llvm/lib/MC/MCSectionELF.cpp head/contrib/llvm-project/llvm/lib/MC/MCSectionMachO.cpp head/contrib/llvm-project/llvm/lib/MC/MCSectionWasm.cpp head/contrib/llvm-project/llvm/lib/MC/MCSectionXCOFF.cpp head/contrib/llvm-project/llvm/lib/MC/MCStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCSubtargetInfo.cpp head/contrib/llvm-project/llvm/lib/MC/MCTargetOptions.cpp head/contrib/llvm-project/llvm/lib/MC/MCWasmStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCWin64EH.cpp head/contrib/llvm-project/llvm/lib/MC/MCWinCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCXCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MachObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MC/SubtargetFeature.cpp head/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MC/WinCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MC/XCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MCA/CodeEmitter.cpp head/contrib/llvm-project/llvm/lib/MCA/HardwareUnits/LSUnit.cpp head/contrib/llvm-project/llvm/lib/MCA/InstrBuilder.cpp head/contrib/llvm-project/llvm/lib/Object/Archive.cpp head/contrib/llvm-project/llvm/lib/Object/ArchiveWriter.cpp head/contrib/llvm-project/llvm/lib/Object/COFFImportFile.cpp head/contrib/llvm-project/llvm/lib/Object/COFFModuleDefinition.cpp head/contrib/llvm-project/llvm/lib/Object/COFFObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/ELF.cpp head/contrib/llvm-project/llvm/lib/Object/ELFObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/Error.cpp head/contrib/llvm-project/llvm/lib/Object/IRObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/IRSymtab.cpp head/contrib/llvm-project/llvm/lib/Object/MachOObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/ModuleSymbolTable.cpp head/contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/RecordStreamer.cpp head/contrib/llvm-project/llvm/lib/Object/RecordStreamer.h head/contrib/llvm-project/llvm/lib/Object/RelocationResolver.cpp head/contrib/llvm-project/llvm/lib/Object/SymbolSize.cpp head/contrib/llvm-project/llvm/lib/Object/TapiFile.cpp head/contrib/llvm-project/llvm/lib/Object/TapiUniversal.cpp head/contrib/llvm-project/llvm/lib/Object/WasmObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/WindowsResource.cpp head/contrib/llvm-project/llvm/lib/Object/XCOFFObjectFile.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/COFFEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/DWARFEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/DWARFVisitor.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/DWARFVisitor.h head/contrib/llvm-project/llvm/lib/ObjectYAML/DWARFYAML.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/ELFEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/MachOEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/MachOYAML.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/WasmEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/WasmYAML.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/yaml2obj.cpp head/contrib/llvm-project/llvm/lib/Option/Arg.cpp head/contrib/llvm-project/llvm/lib/Option/ArgList.cpp head/contrib/llvm-project/llvm/lib/Option/OptTable.cpp head/contrib/llvm-project/llvm/lib/Passes/PassBuilder.cpp head/contrib/llvm-project/llvm/lib/Passes/PassRegistry.def head/contrib/llvm-project/llvm/lib/Passes/StandardInstrumentations.cpp head/contrib/llvm-project/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp head/contrib/llvm-project/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp head/contrib/llvm-project/llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp head/contrib/llvm-project/llvm/lib/ProfileData/GCOV.cpp head/contrib/llvm-project/llvm/lib/ProfileData/InstrProf.cpp head/contrib/llvm-project/llvm/lib/ProfileData/InstrProfReader.cpp head/contrib/llvm-project/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp head/contrib/llvm-project/llvm/lib/ProfileData/SampleProf.cpp head/contrib/llvm-project/llvm/lib/ProfileData/SampleProfReader.cpp head/contrib/llvm-project/llvm/lib/ProfileData/SampleProfWriter.cpp head/contrib/llvm-project/llvm/lib/Remarks/BitstreamRemarkParser.cpp head/contrib/llvm-project/llvm/lib/Remarks/Remark.cpp head/contrib/llvm-project/llvm/lib/Remarks/RemarkLinker.cpp head/contrib/llvm-project/llvm/lib/Remarks/RemarkStringTable.cpp head/contrib/llvm-project/llvm/lib/Remarks/YAMLRemarkParser.cpp head/contrib/llvm-project/llvm/lib/Remarks/YAMLRemarkParser.h head/contrib/llvm-project/llvm/lib/Support/AArch64TargetParser.cpp head/contrib/llvm-project/llvm/lib/Support/AMDGPUMetadata.cpp head/contrib/llvm-project/llvm/lib/Support/APFloat.cpp head/contrib/llvm-project/llvm/lib/Support/APInt.cpp head/contrib/llvm-project/llvm/lib/Support/APSInt.cpp head/contrib/llvm-project/llvm/lib/Support/ARMAttributeParser.cpp head/contrib/llvm-project/llvm/lib/Support/ARMBuildAttrs.cpp head/contrib/llvm-project/llvm/lib/Support/ARMTargetParser.cpp head/contrib/llvm-project/llvm/lib/Support/BranchProbability.cpp head/contrib/llvm-project/llvm/lib/Support/CachePruning.cpp head/contrib/llvm-project/llvm/lib/Support/CodeGenCoverage.cpp head/contrib/llvm-project/llvm/lib/Support/CommandLine.cpp head/contrib/llvm-project/llvm/lib/Support/Compression.cpp head/contrib/llvm-project/llvm/lib/Support/ConvertUTFWrapper.cpp head/contrib/llvm-project/llvm/lib/Support/DataExtractor.cpp head/contrib/llvm-project/llvm/lib/Support/Debug.cpp head/contrib/llvm-project/llvm/lib/Support/DebugCounter.cpp head/contrib/llvm-project/llvm/lib/Support/ErrorHandling.cpp head/contrib/llvm-project/llvm/lib/Support/FileCheck.cpp head/contrib/llvm-project/llvm/lib/Support/FileCheckImpl.h head/contrib/llvm-project/llvm/lib/Support/FileCollector.cpp head/contrib/llvm-project/llvm/lib/Support/FileOutputBuffer.cpp head/contrib/llvm-project/llvm/lib/Support/FileUtilities.cpp head/contrib/llvm-project/llvm/lib/Support/FoldingSet.cpp head/contrib/llvm-project/llvm/lib/Support/FormatVariadic.cpp head/contrib/llvm-project/llvm/lib/Support/FormattedStream.cpp head/contrib/llvm-project/llvm/lib/Support/GraphWriter.cpp head/contrib/llvm-project/llvm/lib/Support/Host.cpp head/contrib/llvm-project/llvm/lib/Support/IntEqClasses.cpp head/contrib/llvm-project/llvm/lib/Support/IntervalMap.cpp head/contrib/llvm-project/llvm/lib/Support/ItaniumManglingCanonicalizer.cpp head/contrib/llvm-project/llvm/lib/Support/KnownBits.cpp head/contrib/llvm-project/llvm/lib/Support/LockFileManager.cpp head/contrib/llvm-project/llvm/lib/Support/MD5.cpp head/contrib/llvm-project/llvm/lib/Support/MemoryBuffer.cpp head/contrib/llvm-project/llvm/lib/Support/NativeFormatting.cpp head/contrib/llvm-project/llvm/lib/Support/Parallel.cpp head/contrib/llvm-project/llvm/lib/Support/Path.cpp head/contrib/llvm-project/llvm/lib/Support/PrettyStackTrace.cpp head/contrib/llvm-project/llvm/lib/Support/Process.cpp head/contrib/llvm-project/llvm/lib/Support/Program.cpp head/contrib/llvm-project/llvm/lib/Support/Regex.cpp head/contrib/llvm-project/llvm/lib/Support/SHA1.cpp head/contrib/llvm-project/llvm/lib/Support/Signals.cpp head/contrib/llvm-project/llvm/lib/Support/SmallVector.cpp head/contrib/llvm-project/llvm/lib/Support/SourceMgr.cpp head/contrib/llvm-project/llvm/lib/Support/SpecialCaseList.cpp head/contrib/llvm-project/llvm/lib/Support/Statistic.cpp head/contrib/llvm-project/llvm/lib/Support/StringExtras.cpp head/contrib/llvm-project/llvm/lib/Support/StringMap.cpp head/contrib/llvm-project/llvm/lib/Support/StringRef.cpp head/contrib/llvm-project/llvm/lib/Support/SystemUtils.cpp head/contrib/llvm-project/llvm/lib/Support/TarWriter.cpp head/contrib/llvm-project/llvm/lib/Support/TargetParser.cpp head/contrib/llvm-project/llvm/lib/Support/ThreadPool.cpp head/contrib/llvm-project/llvm/lib/Support/Threading.cpp head/contrib/llvm-project/llvm/lib/Support/TimeProfiler.cpp head/contrib/llvm-project/llvm/lib/Support/Timer.cpp head/contrib/llvm-project/llvm/lib/Support/ToolOutputFile.cpp head/contrib/llvm-project/llvm/lib/Support/TrigramIndex.cpp head/contrib/llvm-project/llvm/lib/Support/Triple.cpp head/contrib/llvm-project/llvm/lib/Support/Unix/Host.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Memory.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Path.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Process.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Program.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Threading.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Unix.h head/contrib/llvm-project/llvm/lib/Support/VersionTuple.cpp head/contrib/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp head/contrib/llvm-project/llvm/lib/Support/Windows/Path.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Process.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Program.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Signals.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Threading.inc head/contrib/llvm-project/llvm/lib/Support/WithColor.cpp head/contrib/llvm-project/llvm/lib/Support/YAMLParser.cpp head/contrib/llvm-project/llvm/lib/Support/YAMLTraits.cpp head/contrib/llvm-project/llvm/lib/Support/Z3Solver.cpp head/contrib/llvm-project/llvm/lib/Support/raw_ostream.cpp head/contrib/llvm-project/llvm/lib/TableGen/Main.cpp head/contrib/llvm-project/llvm/lib/TableGen/Record.cpp head/contrib/llvm-project/llvm/lib/TableGen/SetTheory.cpp head/contrib/llvm-project/llvm/lib/TableGen/TGLexer.cpp head/contrib/llvm-project/llvm/lib/TableGen/TGLexer.h head/contrib/llvm-project/llvm/lib/TableGen/TGParser.cpp head/contrib/llvm-project/llvm/lib/TableGen/TGParser.h head/contrib/llvm-project/llvm/lib/TableGen/TableGenBackend.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallingConvention.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallingConvention.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64Combine.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64FastISel.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrFormats.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedA57.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedCyclone.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedFalkorDetails.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StackOffset.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StackTagging.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64Subtarget.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64Subtarget.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SystemOperands.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetMachine.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/SVEInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUFeatures.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGISel.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInline.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULibFunc.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPropagateAttributes.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/BUFInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/CaymanInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/DSInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/EvergreenInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/FLATInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNProcessors.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNRegPressure.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MIMGInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600AsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600Instructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600RegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600RegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIAddIMGInit.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIDefines.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIISelLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInsertSkips.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMachineScheduler.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIModeRegister.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SISchedule.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SMInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SOPInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOP1Instructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOP2Instructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOP3Instructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOP3PInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOPCInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOPInstructions.td head/contrib/llvm-project/llvm/lib/Target/ARC/ARCAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/ARC/ARCISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/ARC/ARCInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/ARC/ARCInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/ARC/ARCMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/ARC/ARCRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/ARC/ARCRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/ARC/ARCTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARM.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARM.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBaseInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBasicBlockInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBasicBlockInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCallingConv.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCallingConv.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMConstantPoolValue.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMConstantPoolValue.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMFastISel.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrMVE.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrNEON.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb2.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrVFP.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMLegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMParallelDSP.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMPredicates.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMScheduleA57.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMScheduleSwift.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMSubtarget.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MVETailPredication.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MVEVPTBlockPass.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb1FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb1InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb2InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ThumbRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ThumbRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Utils/ARMBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRCallingConv.td head/contrib/llvm-project/llvm/lib/Target/AVR/AVRDevices.td head/contrib/llvm-project/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRISelLowering.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/AVR/AVRInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AVR/AVRMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/AVR/AVRSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRSubtarget.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRFixupKinds.h head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPF.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFCORE.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFISelLowering.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/BPF/BPFMCInstLower.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFMIPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFSelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BTFDebug.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BTFDebug.h head/contrib/llvm-project/llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/BitTracker.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/Hexagon.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonBitTracker.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCallingConv.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepArch.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepArch.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepDecoders.inc head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepIICScalar.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepITypes.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepITypes.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepMappings.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepOperands.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepTimingClasses.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonIICScalar.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonInstrFormatsV65.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonIntrinsics.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonIntrinsicsV60.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPatterns.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPseudo.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSchedule.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSubtarget.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetStreamer.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonVExtract.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonVectorPrint.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h head/contrib/llvm-project/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/Lanai.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiMCInstLower.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiSelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiTargetMachine.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiTargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430ISelLowering.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430MCInstLower.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430MachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430RegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430Subtarget.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMipsInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMipsInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips.td head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16HardFloat.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16RegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/Mips64InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsBranchExpansion.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsCCState.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsCallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsDSPInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsFastISel.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsISelLowering.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrFPU.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsLegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsMSAInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsMachineFunction.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsMachineFunction.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsOptimizePICCall.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsRegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSERegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSchedule.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsScheduleGeneric.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsScheduleP5600.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSubtarget.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsTargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsTargetStreamer.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.td head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelLowering.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXTargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCCallingConv.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCExpandISEL.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCFastISel.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrAltivec.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrHTM.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrQPX.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrSPE.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrVSX.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMachineScheduler.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCScheduleP9.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoA.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoD.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoF.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedRocket32.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedRocket64.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedule.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSubtarget.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSystemOperands.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/LeonFeatures.td head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/Sparc/Sparc.h head/contrib/llvm-project/llvm/lib/Target/Sparc/Sparc.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcCallingConv.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcISelLowering.h head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstrAliases.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcSchedule.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZ.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZCallingConv.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZConstantPoolValue.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZConstantPoolValue.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZFeatures.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrBuilder.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrFP.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrVector.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZOperands.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZOperators.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZPatterns.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZProcessors.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZShortenInst.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZSubtarget.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTDC.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTargetMachine.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/Target.cpp head/contrib/llvm-project/llvm/lib/Target/TargetLoweringObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/TargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/TargetMachineC.cpp head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/VE/TargetInfo/VETargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VE.h head/contrib/llvm-project/llvm/lib/Target/VE/VE.td head/contrib/llvm-project/llvm/lib/Target/VE/VEAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VECallingConv.td head/contrib/llvm-project/llvm/lib/Target/VE/VEFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VEFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/VE/VEISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VEISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VEISelLowering.h head/contrib/llvm-project/llvm/lib/Target/VE/VEInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/VE/VEInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VEInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/VE/VEInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/VE/VEMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VERegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VERegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/VE/VERegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/VE/VESubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VESubtarget.h head/contrib/llvm-project/llvm/lib/Target/VE/VETargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/VE/VETargetMachine.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyFixupKinds.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssembly.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssembly.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISD.def head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/known_gcc_test_failures.txt head/contrib/llvm-project/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/X86/AsmParser/X86Operand.h head/contrib/llvm-project/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp head/contrib/llvm-project/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h head/contrib/llvm-project/llvm/lib/Target/X86/ImmutableGraph.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86.h head/contrib/llvm-project/llvm/lib/Target/X86/X86.td head/contrib/llvm-project/llvm/lib/Target/X86/X86AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86AsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86AvoidTrailingCall.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86CallFrameOptimization.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86CallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86CallLowering.h head/contrib/llvm-project/llvm/lib/Target/X86/X86CallingConv.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86CallingConv.td head/contrib/llvm-project/llvm/lib/Target/X86/X86DiscriminateMemOps.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86DomainReassignment.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86EvexToVex.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86ExpandPseudo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FastISel.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FixupBWInsts.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FixupLEAs.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FixupSetCC.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FloatingPoint.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.h head/contrib/llvm-project/llvm/lib/Target/X86/X86IndirectBranchTracking.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86IndirectThunks.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrAVX512.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrArithmetic.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrBuilder.h head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrCompiler.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrControl.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFMA.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFMA3Info.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFMA3Info.h head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFPStack.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.h head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFormats.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrMMX.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrSGX.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrSSE.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrShiftRotate.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrSystem.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrTSX.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrVMX.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrXOP.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InterleavedAccess.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86IntrinsicsInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86LegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86LegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86MCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86MachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86MacroFusion.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86MacroFusion.h head/contrib/llvm-project/llvm/lib/Target/X86/X86OptimizeLEAs.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86PadShortFunction.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86PfmCounters.td head/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedBroadwell.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedHaswell.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedSandyBridge.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedSkylakeClient.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedSkylakeServer.td head/contrib/llvm-project/llvm/lib/Target/X86/X86Schedule.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleAtom.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleBdVer2.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleBtVer2.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleSLM.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleZnver1.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleZnver2.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86SelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h head/contrib/llvm-project/llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86Subtarget.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86Subtarget.h head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetMachine.h head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86VZeroUpper.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86WinAllocaExpander.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCore.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreISelLowering.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreMCInstLower.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreTargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreTargetObjectFile.h head/contrib/llvm-project/llvm/lib/TextAPI/MachO/Architecture.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/ArchitectureSet.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/InterfaceFile.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/TextAPIContext.h head/contrib/llvm-project/llvm/lib/TextAPI/MachO/TextStub.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/TextStubCommon.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/TextStubCommon.h head/contrib/llvm-project/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp head/contrib/llvm-project/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp head/contrib/llvm-project/llvm/lib/ToolDrivers/llvm-lib/Options.td head/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp head/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombineInternal.h head/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp head/contrib/llvm-project/llvm/lib/Transforms/CFGuard/CFGuard.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroEarly.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroElide.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroFrame.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroInstr.h head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroInternal.h head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/Coroutines.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/AlwaysInliner.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/BlockExtractor.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/CalledValuePropagation.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/ConstantMerge.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/ExtractGV.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/FunctionAttrs.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/FunctionImport.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/GlobalDCE.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/GlobalOpt.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/GlobalSplit.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/HotColdSplitting.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/IPO.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/InlineSimple.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/Inliner.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/LoopExtractor.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/LowerTypeTests.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/MergeFunctions.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/PartialInlining.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/PruneEH.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/SampleProfile.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/StripSymbols.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineInternal.h head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/CFGMST.h head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/CGProfile.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfileCollector.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfileCollector.h head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARC.h head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCExpand.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/ADCE.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/BDCE.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/DCE.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/DivRemPairs.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/EarlyCSE.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Float2Int.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVN.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNHoist.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNSink.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/InstSimplifyPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/JumpThreading.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LICM.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopDeletion.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopDistribute.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopFuse.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopInterchange.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopPassManager.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopPredication.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopRotation.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerAtomic.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/NaryReassociate.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/NewGVN.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Reassociate.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SCCP.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Scalarizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Sink.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/BuildLibCalls.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CloneFunction.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CodeExtractor.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CodeMoverUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Debugify.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/EscapeEnumerator.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Evaluator.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/FlattenCFG.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionComparator.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/GlobalStatus.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/InlineFunction.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/InstructionNamer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LCSSA.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Local.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopRotationUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopSimplify.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUnroll.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopVersioning.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LowerInvoke.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LowerSwitch.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/ModuleUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/NameAnonGlobals.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SSAUpdater.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SizeOpts.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/StripGCRelocates.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SymbolRewriter.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Utils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/VNCoercion.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/ValueMapper.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlan.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlan.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanDominatorTree.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanValue.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanVerifier.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/Vectorize.cpp head/contrib/llvm-project/llvm/lib/XRay/FDRTraceExpander.cpp head/contrib/llvm-project/llvm/lib/XRay/FDRTraceWriter.cpp head/contrib/llvm-project/llvm/lib/XRay/InstrumentationMap.cpp head/contrib/llvm-project/llvm/lib/XRay/Trace.cpp head/contrib/llvm-project/llvm/tools/bugpoint/CrashDebugger.cpp head/contrib/llvm-project/llvm/tools/bugpoint/ExecutionDriver.cpp head/contrib/llvm-project/llvm/tools/bugpoint/Miscompilation.cpp head/contrib/llvm-project/llvm/tools/bugpoint/OptimizerDriver.cpp head/contrib/llvm-project/llvm/tools/bugpoint/ToolRunner.cpp head/contrib/llvm-project/llvm/tools/bugpoint/ToolRunner.h head/contrib/llvm-project/llvm/tools/bugpoint/bugpoint.cpp head/contrib/llvm-project/llvm/tools/llc/llc.cpp head/contrib/llvm-project/llvm/tools/lli/lli.cpp head/contrib/llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp head/contrib/llvm-project/llvm/tools/llvm-as/llvm-as.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/CodeCoverage.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/CoverageExporterJson.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/CoverageExporterLcov.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/CoverageFilters.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/CoverageFilters.h head/contrib/llvm-project/llvm/tools/llvm-cov/CoverageReport.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/CoverageSummaryInfo.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/SourceCoverageView.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/gcov.cpp head/contrib/llvm-project/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp head/contrib/llvm-project/llvm/tools/llvm-diff/DiffConsumer.cpp head/contrib/llvm-project/llvm/tools/llvm-diff/DifferenceEngine.cpp head/contrib/llvm-project/llvm/tools/llvm-dwarfdump/Statistics.cpp head/contrib/llvm-project/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp head/contrib/llvm-project/llvm/tools/llvm-dwp/DWPStringPool.h head/contrib/llvm-project/llvm/tools/llvm-dwp/llvm-dwp.cpp head/contrib/llvm-project/llvm/tools/llvm-extract/llvm-extract.cpp head/contrib/llvm-project/llvm/tools/llvm-link/llvm-link.cpp head/contrib/llvm-project/llvm/tools/llvm-lto/llvm-lto.cpp head/contrib/llvm-project/llvm/tools/llvm-lto2/llvm-lto2.cpp head/contrib/llvm-project/llvm/tools/llvm-mc/Disassembler.cpp head/contrib/llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/CodeRegion.h head/contrib/llvm-project/llvm/tools/llvm-mca/CodeRegionGenerator.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/llvm-mca.cpp head/contrib/llvm-project/llvm/tools/llvm-nm/llvm-nm.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/COFF/Reader.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/COFF/Writer.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/COFF/Writer.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/CopyConfig.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/CopyConfig.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/Object.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/Object.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/InstallNameToolOpts.td head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOReader.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOReader.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOWriter.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/Object.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/Object.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/StripOpts.td head/contrib/llvm-project/llvm/tools/llvm-objcopy/llvm-objcopy.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/COFFDump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/ELFDump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/MachODump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/WasmDump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/llvm-objdump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/llvm-objdump.h head/contrib/llvm-project/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/FormatUtil.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/FormatUtil.h head/contrib/llvm-project/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/StreamUtil.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/llvm-pdbutil.h head/contrib/llvm-project/llvm/tools/llvm-profdata/llvm-profdata.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/COFFDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h head/contrib/llvm-project/llvm/tools/llvm-readobj/ELFDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/ObjDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/ObjDumper.h head/contrib/llvm-project/llvm/tools/llvm-readobj/WasmDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/XCOFFDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/llvm-readobj.cpp head/contrib/llvm-project/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp head/contrib/llvm-project/llvm/tools/llvm-size/llvm-size.cpp head/contrib/llvm-project/llvm/tools/llvm-stress/llvm-stress.cpp head/contrib/llvm-project/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/trie-node.h head/contrib/llvm-project/llvm/tools/llvm-xray/xray-color-helper.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-extract.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-graph-diff.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-graph.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-stacks.cpp head/contrib/llvm-project/llvm/tools/opt/AnalysisWrappers.cpp head/contrib/llvm-project/llvm/tools/opt/NewPMDriver.cpp head/contrib/llvm-project/llvm/tools/opt/NewPMDriver.h head/contrib/llvm-project/llvm/tools/opt/PassPrinters.cpp head/contrib/llvm-project/llvm/tools/opt/PassPrinters.h head/contrib/llvm-project/llvm/tools/opt/PrintSCC.cpp head/contrib/llvm-project/llvm/tools/opt/opt.cpp head/contrib/llvm-project/llvm/utils/TableGen/AsmMatcherEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/AsmWriterEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/AsmWriterInst.cpp head/contrib/llvm-project/llvm/utils/TableGen/AsmWriterInst.h head/contrib/llvm-project/llvm/utils/TableGen/Attributes.cpp head/contrib/llvm-project/llvm/utils/TableGen/CallingConvEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeEmitterGen.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenHwModes.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenInstruction.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenInstruction.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenMapTable.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenRegisters.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenRegisters.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenSchedule.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenSchedule.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenTarget.cpp head/contrib/llvm-project/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/DAGISelMatcherGen.cpp head/contrib/llvm-project/llvm/utils/TableGen/DFAEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/DFAEmitter.h head/contrib/llvm-project/llvm/utils/TableGen/DFAPacketizerEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/DisassemblerEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/ExegesisEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/FastISelEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/GICombinerEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/GlobalISel/GIMatchTree.cpp head/contrib/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/InstrDocsEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/InstrInfoEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/IntrinsicEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/OptParserEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/OptRSTEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/RISCVCompressInstEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/RegisterBankEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/RegisterInfoEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/SearchableTableEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/SequenceToOffsetTable.h head/contrib/llvm-project/llvm/utils/TableGen/SubtargetEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/SubtargetFeatureInfo.cpp head/contrib/llvm-project/llvm/utils/TableGen/TableGen.cpp head/contrib/llvm-project/llvm/utils/TableGen/TableGenBackends.h head/contrib/llvm-project/llvm/utils/TableGen/X86DisassemblerTables.cpp head/contrib/llvm-project/llvm/utils/TableGen/X86ModRMFilters.cpp head/contrib/llvm-project/llvm/utils/TableGen/X86ModRMFilters.h head/contrib/llvm-project/llvm/utils/TableGen/X86RecognizableInstr.cpp head/contrib/llvm-project/llvm/utils/TableGen/X86RecognizableInstr.h head/contrib/llvm-project/openmp/runtime/src/dllexports head/contrib/llvm-project/openmp/runtime/src/exports_so.txt head/contrib/llvm-project/openmp/runtime/src/i18n/en_US.txt head/contrib/llvm-project/openmp/runtime/src/include/omp.h.var head/contrib/llvm-project/openmp/runtime/src/include/omp_lib.f.var head/contrib/llvm-project/openmp/runtime/src/include/omp_lib.f90.var head/contrib/llvm-project/openmp/runtime/src/include/omp_lib.h.var head/contrib/llvm-project/openmp/runtime/src/kmp.h head/contrib/llvm-project/openmp/runtime/src/kmp_affinity.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_affinity.h head/contrib/llvm-project/openmp/runtime/src/kmp_alloc.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_barrier.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_csupport.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_dispatch.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_dispatch.h head/contrib/llvm-project/openmp/runtime/src/kmp_dispatch_hier.h head/contrib/llvm-project/openmp/runtime/src/kmp_environment.h head/contrib/llvm-project/openmp/runtime/src/kmp_ftn_entry.h head/contrib/llvm-project/openmp/runtime/src/kmp_ftn_os.h head/contrib/llvm-project/openmp/runtime/src/kmp_gsupport.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_i18n.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_i18n.h head/contrib/llvm-project/openmp/runtime/src/kmp_lock.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_lock.h head/contrib/llvm-project/openmp/runtime/src/kmp_omp.h head/contrib/llvm-project/openmp/runtime/src/kmp_os.h head/contrib/llvm-project/openmp/runtime/src/kmp_runtime.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_sched.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_settings.h head/contrib/llvm-project/openmp/runtime/src/kmp_stats.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_stats.h head/contrib/llvm-project/openmp/runtime/src/kmp_str.h head/contrib/llvm-project/openmp/runtime/src/kmp_stub.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_taskdeps.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_tasking.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_utility.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_version.h head/contrib/llvm-project/openmp/runtime/src/kmp_wrapper_malloc.h head/contrib/llvm-project/openmp/runtime/src/ompt-internal.h head/contrib/llvm-project/openmp/runtime/src/ompt-specific.cpp head/contrib/llvm-project/openmp/runtime/src/ompt-specific.h head/contrib/llvm-project/openmp/runtime/src/thirdparty/ittnotify/ittnotify.h head/contrib/llvm-project/openmp/runtime/src/thirdparty/ittnotify/ittnotify_static.cpp head/contrib/llvm-project/openmp/runtime/src/z_Linux_util.cpp head/etc/mtree/BSD.debug.dist head/etc/mtree/BSD.usr.dist head/lib/clang/headers/Makefile head/lib/clang/include/VCSVersion.inc head/lib/clang/include/clang/Basic/Version.inc head/lib/clang/include/clang/Config/config.h head/lib/clang/include/lld/Common/Version.inc head/lib/clang/include/lldb/Host/Config.h head/lib/clang/include/llvm/Config/config.h head/lib/clang/include/llvm/Config/llvm-config.h head/lib/clang/include/llvm/Support/VCSRevision.h head/lib/clang/libclang/Makefile head/lib/clang/liblldb/LLDBWrapLua.cpp head/lib/clang/liblldb/Makefile head/lib/clang/libllvm/Makefile head/lib/clang/libllvmminimal/Makefile head/lib/libclang_rt/Makefile.inc head/lib/libpam/modules/pam_exec/pam_exec.c head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/clang/clang-tblgen/Makefile head/usr.bin/clang/lld/Makefile head/usr.bin/clang/llvm-dwarfdump/Makefile head/usr.bin/clang/llvm-objcopy/Makefile head/usr.bin/clang/llvm-objdump/Makefile head/usr.bin/clang/llvm-tblgen/Makefile Directory Properties: head/ (props changed) head/cddl/ (props changed) head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/contrib/bc/ (props changed) head/contrib/ipfilter/ (props changed) head/contrib/llvm-project/ (props changed) head/contrib/llvm-project/clang/ (props changed) head/contrib/llvm-project/compiler-rt/ (props changed) head/contrib/llvm-project/libcxx/ (props changed) head/contrib/llvm-project/libunwind/ (props changed) head/contrib/llvm-project/lld/ (props changed) head/contrib/llvm-project/lldb/ (props changed) head/contrib/llvm-project/llvm/ (props changed) head/contrib/llvm-project/openmp/ (props changed) head/contrib/netbsd-tests/ (props changed) head/contrib/openbsm/ (props changed) head/crypto/openssh/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) head/sys/gnu/dts/arm/ (props changed) head/sys/gnu/dts/arm64/ (props changed) head/sys/gnu/dts/include/ (props changed) head/sys/gnu/dts/riscv/ (props changed) Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Aug 16 18:51:12 2020 (r364283) +++ head/ObsoleteFiles.inc Sun Aug 16 19:14:04 2020 (r364284) @@ -36,6 +36,257 @@ # xargs -n1 | sort | uniq -d; # done +# 20200816: new clang import which bumps version from 10.0.1 to 11.0.0. +OLD_FILES+=usr/lib/clang/10.0.1/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/10.0.1/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/10.0.1/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/10.0.1/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/10.0.1/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/10.0.1/include/fuzzer +OLD_FILES+=usr/lib/clang/10.0.1/include/openmp_wrappers/__clang_openmp_math.h +OLD_FILES+=usr/lib/clang/10.0.1/include/openmp_wrappers/__clang_openmp_math_declares.h +OLD_FILES+=usr/lib/clang/10.0.1/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/10.0.1/include/openmp_wrappers/math.h +OLD_DIRS+=usr/lib/clang/10.0.1/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/10.0.1/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/10.0.1/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/10.0.1/include/profile/InstrProfData.inc +OLD_DIRS+=usr/lib/clang/10.0.1/include/profile +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/10.0.1/include/sanitizer +OLD_FILES+=usr/lib/clang/10.0.1/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/10.0.1/include/xray +OLD_FILES+=usr/lib/clang/10.0.1/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/10.0.1/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/10.0.1/include/adxintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/altivec.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ammintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/arm64intr.h +OLD_FILES+=usr/lib/clang/10.0.1/include/arm_acle.h +OLD_FILES+=usr/lib/clang/10.0.1/include/arm_cmse.h +OLD_FILES+=usr/lib/clang/10.0.1/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/10.0.1/include/arm_mve.h +OLD_FILES+=usr/lib/clang/10.0.1/include/arm_neon.h +OLD_FILES+=usr/lib/clang/10.0.1/include/armintr.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vlbf16intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vlvp2intersectintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vp2intersectintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/avxintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/cetintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/cpuid.h +OLD_FILES+=usr/lib/clang/10.0.1/include/emmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/enqcmdintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/htmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/immintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/10.0.1/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/10.0.1/include/mmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/module.modulemap +OLD_FILES+=usr/lib/clang/10.0.1/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/msa.h +OLD_FILES+=usr/lib/clang/10.0.1/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/opencl-c-base.h +OLD_FILES+=usr/lib/clang/10.0.1/include/opencl-c.h +OLD_FILES+=usr/lib/clang/10.0.1/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/s390intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/shaintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/smmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/vadefs.h +OLD_FILES+=usr/lib/clang/10.0.1/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/vecintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/x86intrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xopintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/10.0.1/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/10.0.1/include +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-aarch64.so +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-arm.so +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-armhf.so +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-preinit-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-preinit-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-preinit-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan_cxx-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan_cxx-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi_diag-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi_diag-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi_diag-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi_diag-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.cfi_diag-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.dd-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.dd-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.fuzzer-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.profile-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.profile-powerpc.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.profile-powerpc64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.safestack-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats_client-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats_client-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats_client-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_minimal-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-basic-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-basic-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-basic-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-fdr-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-fdr-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-profiling-aarch64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-profiling-arm.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-profiling-x86_64.a +OLD_FILES+=usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.xray-x86_64.a +OLD_DIRS+=usr/lib/clang/10.0.1/lib/freebsd +OLD_DIRS+=usr/lib/clang/10.0.1/lib +OLD_DIRS+=usr/lib/clang/10.0.1 + # 20200803: remove free_domain(9) and uma_zfree_domain(9) OLD_FILES+=usr/share/man/man9/free_domain.9.gz OLD_FILES+=usr/share/man/man9/uma_zfree_domain.9.gz @@ -286,7 +537,7 @@ OLD_LIBS+=usr/lib32/padlock.so OLD_FILES+=usr/include/private/event/event.h OLD_DIRS+=usr/include/private/event -# 20200523: new clang import which bumps version from 10.0.0 to 10.0.1.s +# 20200523: new clang import which bumps version from 10.0.0 to 10.0.1. OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/complex OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/new Modified: head/UPDATING ============================================================================== --- head/UPDATING Sun Aug 16 18:51:12 2020 (r364283) +++ head/UPDATING Sun Aug 16 19:14:04 2020 (r364284) @@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20200816: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 11.0.0. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + 20200810: r364092 modified the internal ABI used between the kernel NFS modules. As such, all of these modules need to be rebuilt Modified: head/contrib/llvm-project/FREEBSD-Xlist ============================================================================== --- head/contrib/llvm-project/FREEBSD-Xlist Sun Aug 16 18:51:12 2020 (r364283) +++ head/contrib/llvm-project/FREEBSD-Xlist Sun Aug 16 19:14:04 2020 (r364284) @@ -1,13 +1,12 @@ # $FreeBSD$ .arcconfig +.arclint .clang-format .clang-tidy .git-blame-ignore-revs -.github/ .gitignore CONTRIBUTING.md README.md -clang/.arcconfig clang/.clang-format clang/.clang-tidy clang/.gitignore @@ -66,6 +65,7 @@ clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt clang/lib/StaticAnalyzer/Core/CMakeLists.txt clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt clang/lib/StaticAnalyzer/README.txt +clang/lib/Testing/CMakeLists.txt clang/lib/Tooling/ASTDiff/CMakeLists.txt clang/lib/Tooling/CMakeLists.txt clang/lib/Tooling/Core/CMakeLists.txt @@ -137,7 +137,6 @@ clang/utils/token-delta.py clang/utils/valgrind/ clang/www/ clang-tools-extra/ -compiler-rt/.arcconfig compiler-rt/.gitignore compiler-rt/CMakeLists.txt compiler-rt/CODE_OWNERS.TXT @@ -189,7 +188,9 @@ compiler-rt/lib/sanitizer_common/tests/ compiler-rt/lib/scudo/CMakeLists.txt compiler-rt/lib/scudo/standalone/CMakeLists.txt compiler-rt/lib/scudo/standalone/benchmarks/ +compiler-rt/lib/scudo/standalone/fuzz/CMakeLists.txt compiler-rt/lib/scudo/standalone/tests/ +compiler-rt/lib/scudo/standalone/tools/ compiler-rt/lib/stats/CMakeLists.txt compiler-rt/lib/tsan/.clang-format compiler-rt/lib/tsan/CMakeLists.txt @@ -210,9 +211,9 @@ compiler-rt/unittests/ compiler-rt/utils/ compiler-rt/www/ debuginfo-tests/ +flang/ libc/ libclc/ -libcxx/.arcconfig libcxx/.clang-format libcxx/.gitignore libcxx/CMakeLists.txt @@ -235,7 +236,6 @@ libcxx/test/ libcxx/utils/ libcxx/www/ libcxxabi/ -libunwind/.arcconfig libunwind/.clang-format libunwind/CMakeLists.txt libunwind/cmake/ @@ -246,6 +246,7 @@ lld/CMakeLists.txt lld/COFF/CMakeLists.txt lld/Common/CMakeLists.txt lld/ELF/CMakeLists.txt +lld/MachO/CMakeLists.txt lld/MinGW/ lld/cmake/ lld/docs/CMakeLists.txt @@ -260,8 +261,8 @@ lld/tools/lld/CMakeLists.txt lld/unittests/ lld/utils/ lld/wasm/ -lldb/.arcconfig lldb/.clang-format +lldb/.clang-tidy lldb/.gitignore lldb/CMakeLists.txt lldb/CODE_OWNERS.txt @@ -304,29 +305,22 @@ lldb/source/Host/macosx/ lldb/source/Host/windows/ lldb/source/Initialization/CMakeLists.txt lldb/source/Interpreter/CMakeLists.txt +lldb/source/Plugins/ABI/AArch64/CMakeLists.txt +lldb/source/Plugins/ABI/ARC/CMakeLists.txt +lldb/source/Plugins/ABI/ARM/CMakeLists.txt lldb/source/Plugins/ABI/CMakeLists.txt -lldb/source/Plugins/ABI/MacOSX-arm/CMakeLists.txt -lldb/source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt -lldb/source/Plugins/ABI/MacOSX-i386/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-arc/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-arm/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-arm64/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-hexagon/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-i386/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-mips/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-mips64/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-ppc/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-ppc64/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-s390x/CMakeLists.txt -lldb/source/Plugins/ABI/SysV-x86_64/CMakeLists.txt -lldb/source/Plugins/ABI/Windows-x86_64/CMakeLists.txt +lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt +lldb/source/Plugins/ABI/Mips/CMakeLists.txt +lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt +lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt +lldb/source/Plugins/ABI/X86/CMakeLists.txt lldb/source/Plugins/Architecture/Arm/CMakeLists.txt lldb/source/Plugins/Architecture/CMakeLists.txt lldb/source/Plugins/Architecture/Mips/CMakeLists.txt lldb/source/Plugins/Architecture/PPC64/CMakeLists.txt lldb/source/Plugins/CMakeLists.txt lldb/source/Plugins/Disassembler/CMakeLists.txt -lldb/source/Plugins/Disassembler/llvm/CMakeLists.txt +lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt lldb/source/Plugins/DynamicLoader/CMakeLists.txt lldb/source/Plugins/DynamicLoader/Darwin-Kernel/ lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/CMakeLists.txt @@ -334,6 +328,7 @@ lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/ lldb/source/Plugins/DynamicLoader/POSIX-DYLD/CMakeLists.txt lldb/source/Plugins/DynamicLoader/Static/CMakeLists.txt lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt +lldb/source/Plugins/DynamicLoader/wasm-DYLD/CMakeLists.txt lldb/source/Plugins/ExpressionParser/CMakeLists.txt lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt lldb/source/Plugins/Instruction/ARM/CMakeLists.txt @@ -357,7 +352,6 @@ lldb/source/Plugins/Language/ObjCPlusPlus/CMakeLists.t lldb/source/Plugins/LanguageRuntime/CMakeLists.txt lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/CMakeLists.txt -lldb/source/Plugins/LanguageRuntime/Go/ lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt lldb/source/Plugins/LanguageRuntime/RenderScript/CMakeLists.txt @@ -373,6 +367,7 @@ lldb/source/Plugins/ObjectFile/ELF/CMakeLists.txt lldb/source/Plugins/ObjectFile/JIT/CMakeLists.txt lldb/source/Plugins/ObjectFile/Mach-O/ lldb/source/Plugins/ObjectFile/PECOFF/ +lldb/source/Plugins/ObjectFile/wasm/CMakeLists.txt lldb/source/Plugins/OperatingSystem/CMakeLists.txt lldb/source/Plugins/OperatingSystem/Python/CMakeLists.txt lldb/source/Plugins/Platform/Android/ @@ -412,7 +407,10 @@ lldb/source/Plugins/SymbolFile/Symtab/CMakeLists.txt lldb/source/Plugins/SymbolVendor/CMakeLists.txt lldb/source/Plugins/SymbolVendor/ELF/CMakeLists.txt lldb/source/Plugins/SymbolVendor/MacOSX/ +lldb/source/Plugins/SymbolVendor/wasm/CMakeLists.txt lldb/source/Plugins/SystemRuntime/ +lldb/source/Plugins/TypeSystem/CMakeLists.txt +lldb/source/Plugins/TypeSystem/Clang/CMakeLists.txt lldb/source/Plugins/UnwindAssembly/CMakeLists.txt lldb/source/Plugins/UnwindAssembly/InstEmulation/CMakeLists.txt lldb/source/Plugins/UnwindAssembly/x86/CMakeLists.txt @@ -436,13 +434,13 @@ lldb/tools/lldb-test/ lldb/tools/lldb-vscode/ lldb/unittests/ lldb/use_lldb_suite_root.py +lldb/utils/CMakeLists.txt lldb/utils/TableGen/CMakeLists.txt lldb/utils/lit-cpuid/ lldb/utils/lldb-dotest/ +lldb/utils/lldb-repro/ lldb/utils/lui/ lldb/utils/test/ -llgo/ -llvm/.arcconfig llvm/.clang-format llvm/.clang-tidy llvm/.gitattributes @@ -461,6 +459,9 @@ llvm/docs/ llvm/examples/ llvm/include/llvm/CMakeLists.txt llvm/include/llvm/Config/ +llvm/include/llvm/Frontend/CMakeLists.txt +llvm/include/llvm/Frontend/OpenACC/CMakeLists.txt +llvm/include/llvm/Frontend/OpenMP/CMakeLists.txt llvm/include/llvm/IR/CMakeLists.txt llvm/include/llvm/Support/CMakeLists.txt llvm/include/llvm/Support/LICENSE.TXT @@ -534,6 +535,7 @@ llvm/lib/ExecutionEngine/RuntimeDyld/LLVMBuild.txt llvm/lib/Extensions/ llvm/lib/Frontend/CMakeLists.txt llvm/lib/Frontend/LLVMBuild.txt +llvm/lib/Frontend/OpenACC/CMakeLists.txt llvm/lib/Frontend/OpenMP/CMakeLists.txt llvm/lib/Frontend/OpenMP/LLVMBuild.txt llvm/lib/FuzzMutate/CMakeLists.txt @@ -738,9 +740,11 @@ llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt llvm/lib/Target/SystemZ/MCTargetDesc/LLVMBuild.txt llvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt llvm/lib/Target/SystemZ/TargetInfo/LLVMBuild.txt +llvm/lib/Target/VE/AsmParser/CMakeLists.txt +llvm/lib/Target/VE/AsmParser/LLVMBuild.txt llvm/lib/Target/VE/CMakeLists.txt -llvm/lib/Target/VE/InstPrinter/CMakeLists.txt -llvm/lib/Target/VE/InstPrinter/LLVMBuild.txt +llvm/lib/Target/VE/Disassembler/CMakeLists.txt +llvm/lib/Target/VE/Disassembler/LLVMBuild.txt llvm/lib/Target/VE/LLVMBuild.txt llvm/lib/Target/VE/MCTargetDesc/CMakeLists.txt llvm/lib/Target/VE/MCTargetDesc/LLVMBuild.txt @@ -770,8 +774,6 @@ llvm/lib/Target/X86/README-X86-64.txt llvm/lib/Target/X86/README.txt llvm/lib/Target/X86/TargetInfo/CMakeLists.txt llvm/lib/Target/X86/TargetInfo/LLVMBuild.txt -llvm/lib/Target/X86/Utils/CMakeLists.txt -llvm/lib/Target/X86/Utils/LLVMBuild.txt llvm/lib/Target/XCore/CMakeLists.txt llvm/lib/Target/XCore/Disassembler/CMakeLists.txt llvm/lib/Target/XCore/Disassembler/LLVMBuild.txt @@ -871,6 +873,7 @@ llvm/tools/llvm-exegesis/ llvm/tools/llvm-extract/CMakeLists.txt llvm/tools/llvm-extract/LLVMBuild.txt llvm/tools/llvm-go/ +llvm/tools/llvm-gsymutil/ llvm/tools/llvm-ifs/ llvm/tools/llvm-isel-fuzzer/ llvm/tools/llvm-itanium-demangle-fuzzer/ @@ -890,6 +893,7 @@ llvm/tools/llvm-mc-disassemble-fuzzer/ llvm/tools/llvm-mca/CMakeLists.txt llvm/tools/llvm-mca/LLVMBuild.txt llvm/tools/llvm-microsoft-demangle-fuzzer/ +llvm/tools/llvm-ml/ llvm/tools/llvm-modextract/CMakeLists.txt llvm/tools/llvm-modextract/LLVMBuild.txt llvm/tools/llvm-mt/ @@ -942,7 +946,6 @@ llvm/utils/DSAclean.py llvm/utils/DSAextract.py llvm/utils/FileCheck/ llvm/utils/GenLibDeps.pl -llvm/utils/GetRepositoryPath llvm/utils/GetSourceVersion llvm/utils/KillTheDoctor/ llvm/utils/LLVMBuild.txt @@ -965,6 +968,7 @@ llvm/utils/bisect-skip-count llvm/utils/bugpoint/ llvm/utils/bugpoint_gisel_reducer.py llvm/utils/check-each-file +llvm/utils/check_ninja_deps.py llvm/utils/chunk-print-before-all.py llvm/utils/clang-parse-diagnostics-file llvm/utils/codegen-diff @@ -984,7 +988,7 @@ llvm/utils/findsym.pl llvm/utils/fpcmp/ llvm/utils/gdb-scripts/ llvm/utils/getsrcs.sh -llvm/utils/git-svn/ +llvm/utils/git/ llvm/utils/gn/ llvm/utils/indirect_calls.py llvm/utils/jedit/ @@ -1025,11 +1029,11 @@ llvm/utils/vscode/ llvm/utils/wciia.py llvm/utils/yaml-bench/ mlir/ -openmp/.arcconfig openmp/.gitignore openmp/CMakeLists.txt openmp/README.rst openmp/cmake/ +openmp/docs/ openmp/libomptarget/ openmp/runtime/.clang-format openmp/runtime/CMakeLists.txt @@ -1044,3 +1048,4 @@ openmp/www/ parallel-libs/ polly/ pstl/ +utils/ Modified: head/contrib/llvm-project/clang/include/clang-c/BuildSystem.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/BuildSystem.h Sun Aug 16 18:51:12 2020 (r364283) +++ head/contrib/llvm-project/clang/include/clang-c/BuildSystem.h Sun Aug 16 19:14:04 2020 (r364284) @@ -117,7 +117,7 @@ clang_ModuleMapDescriptor_setFrameworkModuleName(CXMod const char *name); /** - * Sets the umbrealla header name that the module.map describes. + * Sets the umbrella header name that the module.map describes. * \returns 0 for success, non-zero to indicate an error. */ CINDEX_LINKAGE enum CXErrorCode Modified: head/contrib/llvm-project/clang/include/clang-c/Index.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/Index.h Sun Aug 16 18:51:12 2020 (r364283) +++ head/contrib/llvm-project/clang/include/clang-c/Index.h Sun Aug 16 19:14:04 2020 (r364284) @@ -33,24 +33,19 @@ * compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable. */ #define CINDEX_VERSION_MAJOR 0 -#define CINDEX_VERSION_MINOR 59 +#define CINDEX_VERSION_MINOR 60 -#define CINDEX_VERSION_ENCODE(major, minor) ( \ - ((major) * 10000) \ - + ((minor) * 1)) +#define CINDEX_VERSION_ENCODE(major, minor) (((major)*10000) + ((minor)*1)) -#define CINDEX_VERSION CINDEX_VERSION_ENCODE( \ - CINDEX_VERSION_MAJOR, \ - CINDEX_VERSION_MINOR ) +#define CINDEX_VERSION \ + CINDEX_VERSION_ENCODE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR) -#define CINDEX_VERSION_STRINGIZE_(major, minor) \ - #major"."#minor -#define CINDEX_VERSION_STRINGIZE(major, minor) \ - CINDEX_VERSION_STRINGIZE_(major, minor) +#define CINDEX_VERSION_STRINGIZE_(major, minor) #major "." #minor +#define CINDEX_VERSION_STRINGIZE(major, minor) \ + CINDEX_VERSION_STRINGIZE_(major, minor) -#define CINDEX_VERSION_STRING CINDEX_VERSION_STRINGIZE( \ - CINDEX_VERSION_MAJOR, \ - CINDEX_VERSION_MINOR) +#define CINDEX_VERSION_STRING \ + CINDEX_VERSION_STRINGIZE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR) LLVM_CLANG_C_EXTERN_C_BEGIN @@ -382,7 +377,7 @@ typedef struct { * \param outID stores the returned CXFileUniqueID. * \returns If there was a failure getting the unique ID, returns non-zero, * otherwise returns 0. -*/ + */ CINDEX_LINKAGE int clang_getFileUniqueID(CXFile file, CXFileUniqueID *outID); /** @@ -390,8 +385,8 @@ CINDEX_LINKAGE int clang_getFileUniqueID(CXFile file, * multiple inclusions, either with the conventional * \#ifndef/\#define/\#endif macro guards or with \#pragma once. */ -CINDEX_LINKAGE unsigned -clang_isFileMultipleIncludeGuarded(CXTranslationUnit tu, CXFile file); +CINDEX_LINKAGE unsigned clang_isFileMultipleIncludeGuarded(CXTranslationUnit tu, + CXFile file); /** * Retrieve a file handle within the given translation unit. @@ -496,8 +491,7 @@ CINDEX_LINKAGE unsigned clang_equalLocations(CXSourceL * in a particular translation unit. */ CINDEX_LINKAGE CXSourceLocation clang_getLocation(CXTranslationUnit tu, - CXFile file, - unsigned line, + CXFile file, unsigned line, unsigned column); /** * Retrieves the source location associated with a given character offset @@ -566,8 +560,7 @@ CINDEX_LINKAGE int clang_Range_isNull(CXSourceRange ra * buffer to which the given source location points. */ CINDEX_LINKAGE void clang_getExpansionLocation(CXSourceLocation location, - CXFile *file, - unsigned *line, + CXFile *file, unsigned *line, unsigned *column, unsigned *offset); @@ -613,8 +606,7 @@ CINDEX_LINKAGE void clang_getExpansionLocation(CXSourc */ CINDEX_LINKAGE void clang_getPresumedLocation(CXSourceLocation location, CXString *filename, - unsigned *line, - unsigned *column); + unsigned *line, unsigned *column); /** * Legacy API to retrieve the file, line, column, and offset represented @@ -625,8 +617,7 @@ CINDEX_LINKAGE void clang_getPresumedLocation(CXSource * details. */ CINDEX_LINKAGE void clang_getInstantiationLocation(CXSourceLocation location, - CXFile *file, - unsigned *line, + CXFile *file, unsigned *line, unsigned *column, unsigned *offset); @@ -653,8 +644,7 @@ CINDEX_LINKAGE void clang_getInstantiationLocation(CXS * buffer to which the given source location points. */ CINDEX_LINKAGE void clang_getSpellingLocation(CXSourceLocation location, - CXFile *file, - unsigned *line, + CXFile *file, unsigned *line, unsigned *column, unsigned *offset); @@ -682,10 +672,8 @@ CINDEX_LINKAGE void clang_getSpellingLocation(CXSource * buffer to which the given source location points. */ CINDEX_LINKAGE void clang_getFileLocation(CXSourceLocation location, - CXFile *file, - unsigned *line, - unsigned *column, - unsigned *offset); + CXFile *file, unsigned *line, + unsigned *column, unsigned *offset); /** * Retrieve a source location representing the first character within a @@ -727,7 +715,8 @@ CINDEX_LINKAGE CXSourceRangeList *clang_getSkippedRang * The preprocessor will skip lines when they are surrounded by an * if/ifdef/ifndef directive whose condition does not evaluate to true. */ -CINDEX_LINKAGE CXSourceRangeList *clang_getAllSkippedRanges(CXTranslationUnit tu); +CINDEX_LINKAGE CXSourceRangeList * +clang_getAllSkippedRanges(CXTranslationUnit tu); /** * Destroy the given \c CXSourceRangeList. @@ -758,7 +747,7 @@ enum CXDiagnosticSeverity { * This diagnostic is a note that should be attached to the * previous (non-note) diagnostic. */ - CXDiagnostic_Note = 1, + CXDiagnostic_Note = 1, /** * This diagnostic indicates suspicious code that may not be @@ -769,14 +758,14 @@ enum CXDiagnosticSeverity { /** * This diagnostic indicates that the code is ill-formed. */ - CXDiagnostic_Error = 3, + CXDiagnostic_Error = 3, /** * This diagnostic indicates that the code is ill-formed such * that future parser recovery is unlikely to produce useful * results. */ - CXDiagnostic_Fatal = 4 + CXDiagnostic_Fatal = 4 }; /** @@ -849,9 +838,8 @@ enum CXLoadDiag_Error { * \returns A loaded CXDiagnosticSet if successful, and NULL otherwise. These * diagnostics should be released using clang_disposeDiagnosticSet(). */ -CINDEX_LINKAGE CXDiagnosticSet clang_loadDiagnostics(const char *file, - enum CXLoadDiag_Error *error, - CXString *errorString); +CINDEX_LINKAGE CXDiagnosticSet clang_loadDiagnostics( + const char *file, enum CXLoadDiag_Error *error, CXString *errorString); /** * Release a CXDiagnosticSet and all of its contained diagnostics. @@ -891,7 +879,7 @@ CINDEX_LINKAGE CXDiagnostic clang_getDiagnostic(CXTran * \param Unit the translation unit to query. */ CINDEX_LINKAGE CXDiagnosticSet - clang_getDiagnosticSetFromTU(CXTranslationUnit Unit); +clang_getDiagnosticSetFromTU(CXTranslationUnit Unit); /** * Destroy a diagnostic. @@ -997,7 +985,7 @@ CINDEX_LINKAGE unsigned clang_defaultDiagnosticDisplay * Determine the severity of the given diagnostic. */ CINDEX_LINKAGE enum CXDiagnosticSeverity -clang_getDiagnosticSeverity(CXDiagnostic); + clang_getDiagnosticSeverity(CXDiagnostic); /** * Retrieve the source location of the given diagnostic. @@ -1049,8 +1037,8 @@ CINDEX_LINKAGE unsigned clang_getDiagnosticCategory(CX * * \returns The name of the given diagnostic category. */ -CINDEX_DEPRECATED CINDEX_LINKAGE -CXString clang_getDiagnosticCategoryName(unsigned Category); +CINDEX_DEPRECATED CINDEX_LINKAGE CXString +clang_getDiagnosticCategoryName(unsigned Category); /** * Retrieve the diagnostic category text for a given diagnostic. @@ -1112,9 +1100,8 @@ CINDEX_LINKAGE unsigned clang_getDiagnosticNumFixIts(C * \returns A string containing text that should be replace the source * code indicated by the \c ReplacementRange. */ -CINDEX_LINKAGE CXString clang_getDiagnosticFixIt(CXDiagnostic Diagnostic, - unsigned FixIt, - CXSourceRange *ReplacementRange); +CINDEX_LINKAGE CXString clang_getDiagnosticFixIt( + CXDiagnostic Diagnostic, unsigned FixIt, CXSourceRange *ReplacementRange); /** * @} @@ -1177,12 +1164,9 @@ clang_getTranslationUnitSpelling(CXTranslationUnit CTU * guarantee their validity until the call to this function returns. */ CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnitFromSourceFile( - CXIndex CIdx, - const char *source_filename, - int num_clang_command_line_args, - const char * const *clang_command_line_args, - unsigned num_unsaved_files, - struct CXUnsavedFile *unsaved_files); + CXIndex CIdx, const char *source_filename, int num_clang_command_line_args, + const char *const *clang_command_line_args, unsigned num_unsaved_files, + struct CXUnsavedFile *unsaved_files); /** * Same as \c clang_createTranslationUnit2, but returns @@ -1190,9 +1174,8 @@ CINDEX_LINKAGE CXTranslationUnit clang_createTranslati * routine returns a \c NULL \c CXTranslationUnit, without further detailed * error codes. */ -CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnit( - CXIndex CIdx, - const char *ast_filename); +CINDEX_LINKAGE CXTranslationUnit +clang_createTranslationUnit(CXIndex CIdx, const char *ast_filename); /** * Create a translation unit from an AST file (\c -emit-ast). @@ -1202,10 +1185,9 @@ CINDEX_LINKAGE CXTranslationUnit clang_createTranslati * * \returns Zero on success, otherwise returns an error code. */ -CINDEX_LINKAGE enum CXErrorCode clang_createTranslationUnit2( - CXIndex CIdx, - const char *ast_filename, - CXTranslationUnit *out_TU); +CINDEX_LINKAGE enum CXErrorCode +clang_createTranslationUnit2(CXIndex CIdx, const char *ast_filename, + CXTranslationUnit *out_TU); /** * Flags that control the creation of translation units. @@ -1383,14 +1365,11 @@ CINDEX_LINKAGE unsigned clang_defaultEditingTranslatio * routine returns a \c NULL \c CXTranslationUnit, without further detailed * error codes. */ -CINDEX_LINKAGE CXTranslationUnit -clang_parseTranslationUnit(CXIndex CIdx, - const char *source_filename, - const char *const *command_line_args, - int num_command_line_args, - struct CXUnsavedFile *unsaved_files, - unsigned num_unsaved_files, - unsigned options); +CINDEX_LINKAGE CXTranslationUnit clang_parseTranslationUnit( + CXIndex CIdx, const char *source_filename, + const char *const *command_line_args, int num_command_line_args, + struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, + unsigned options); /** * Parse the given source file and the translation unit corresponding @@ -1436,15 +1415,11 @@ clang_parseTranslationUnit(CXIndex CIdx, * * \returns Zero on success, otherwise returns an error code. */ -CINDEX_LINKAGE enum CXErrorCode -clang_parseTranslationUnit2(CXIndex CIdx, - const char *source_filename, - const char *const *command_line_args, - int num_command_line_args, - struct CXUnsavedFile *unsaved_files, - unsigned num_unsaved_files, - unsigned options, - CXTranslationUnit *out_TU); +CINDEX_LINKAGE enum CXErrorCode clang_parseTranslationUnit2( + CXIndex CIdx, const char *source_filename, + const char *const *command_line_args, int num_command_line_args, + struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, + unsigned options, CXTranslationUnit *out_TU); /** * Same as clang_parseTranslationUnit2 but requires a full command line @@ -1623,14 +1598,14 @@ CINDEX_LINKAGE unsigned clang_defaultReparseOptions(CX * \c clang_disposeTranslationUnit(TU). The error codes returned by this * routine are described by the \c CXErrorCode enum. */ -CINDEX_LINKAGE int clang_reparseTranslationUnit(CXTranslationUnit TU, - unsigned num_unsaved_files, - struct CXUnsavedFile *unsaved_files, - unsigned options); +CINDEX_LINKAGE int +clang_reparseTranslationUnit(CXTranslationUnit TU, unsigned num_unsaved_files, + struct CXUnsavedFile *unsaved_files, + unsigned options); /** - * Categorizes how memory is being used by a translation unit. - */ + * Categorizes how memory is being used by a translation unit. + */ enum CXTUResourceUsageKind { CXTUResourceUsage_AST = 1, CXTUResourceUsage_Identifiers = 2, @@ -1648,16 +1623,16 @@ enum CXTUResourceUsageKind { CXTUResourceUsage_Preprocessor_HeaderSearch = 14, CXTUResourceUsage_MEMORY_IN_BYTES_BEGIN = CXTUResourceUsage_AST, CXTUResourceUsage_MEMORY_IN_BYTES_END = - CXTUResourceUsage_Preprocessor_HeaderSearch, + CXTUResourceUsage_Preprocessor_HeaderSearch, CXTUResourceUsage_First = CXTUResourceUsage_AST, CXTUResourceUsage_Last = CXTUResourceUsage_Preprocessor_HeaderSearch }; /** - * Returns the human-readable null-terminated C string that represents - * the name of the memory category. This string should never be freed. - */ + * Returns the human-readable null-terminated C string that represents + * the name of the memory category. This string should never be freed. + */ CINDEX_LINKAGE const char *clang_getTUResourceUsageName(enum CXTUResourceUsageKind kind); @@ -1670,8 +1645,8 @@ typedef struct CXTUResourceUsageEntry { } CXTUResourceUsageEntry; /** - * The memory usage of a CXTranslationUnit, broken into categories. - */ + * The memory usage of a CXTranslationUnit, broken into categories. + */ typedef struct CXTUResourceUsage { /* Private data member, used for queries. */ void *data; @@ -1686,10 +1661,11 @@ typedef struct CXTUResourceUsage { } CXTUResourceUsage; /** - * Return the memory usage of a translation unit. This object - * should be released with clang_disposeCXTUResourceUsage(). - */ -CINDEX_LINKAGE CXTUResourceUsage clang_getCXTUResourceUsage(CXTranslationUnit TU); + * Return the memory usage of a translation unit. This object + * should be released with clang_disposeCXTUResourceUsage(). + */ +CINDEX_LINKAGE CXTUResourceUsage +clang_getCXTUResourceUsage(CXTranslationUnit TU); CINDEX_LINKAGE void clang_disposeCXTUResourceUsage(CXTUResourceUsage usage); @@ -1704,24 +1680,21 @@ clang_getTranslationUnitTargetInfo(CXTranslationUnit C /** * Destroy the CXTargetInfo object. */ -CINDEX_LINKAGE void -clang_TargetInfo_dispose(CXTargetInfo Info); +CINDEX_LINKAGE void clang_TargetInfo_dispose(CXTargetInfo Info); /** * Get the normalized target triple as a string. * * Returns the empty string in case of any error. */ -CINDEX_LINKAGE CXString -clang_TargetInfo_getTriple(CXTargetInfo Info); +CINDEX_LINKAGE CXString clang_TargetInfo_getTriple(CXTargetInfo Info); /** * Get the pointer width of the target in bits. * * Returns -1 in case of error. */ -CINDEX_LINKAGE int -clang_TargetInfo_getPointerWidth(CXTargetInfo Info); +CINDEX_LINKAGE int clang_TargetInfo_getPointerWidth(CXTargetInfo Info); /** * @} @@ -1741,95 +1714,95 @@ enum CXCursorKind { * spelling, find their definitions, etc. However, the specific kind * of the declaration is not reported. */ - CXCursor_UnexposedDecl = 1, + CXCursor_UnexposedDecl = 1, /** A C or C++ struct. */ - CXCursor_StructDecl = 2, + CXCursor_StructDecl = 2, /** A C or C++ union. */ - CXCursor_UnionDecl = 3, + CXCursor_UnionDecl = 3, /** A C++ class. */ - CXCursor_ClassDecl = 4, + CXCursor_ClassDecl = 4, /** An enumeration. */ - CXCursor_EnumDecl = 5, + CXCursor_EnumDecl = 5, /** * A field (in C) or non-static data member (in C++) in a * struct, union, or C++ class. */ - CXCursor_FieldDecl = 6, + CXCursor_FieldDecl = 6, /** An enumerator constant. */ - CXCursor_EnumConstantDecl = 7, + CXCursor_EnumConstantDecl = 7, /** A function. */ - CXCursor_FunctionDecl = 8, + CXCursor_FunctionDecl = 8, /** A variable. */ - CXCursor_VarDecl = 9, + CXCursor_VarDecl = 9, /** A function or method parameter. */ - CXCursor_ParmDecl = 10, + CXCursor_ParmDecl = 10, /** An Objective-C \@interface. */ - CXCursor_ObjCInterfaceDecl = 11, + CXCursor_ObjCInterfaceDecl = 11, /** An Objective-C \@interface for a category. */ - CXCursor_ObjCCategoryDecl = 12, + CXCursor_ObjCCategoryDecl = 12, /** An Objective-C \@protocol declaration. */ - CXCursor_ObjCProtocolDecl = 13, + CXCursor_ObjCProtocolDecl = 13, /** An Objective-C \@property declaration. */ - CXCursor_ObjCPropertyDecl = 14, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Aug 16 20:52:25 2020 Return-Path: Delivered-To: svn-src-all@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 84DF63C5AD3; Sun, 16 Aug 2020 20:52:25 +0000 (UTC) (envelope-from kib@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 4BV8WF309Pz3Y6v; Sun, 16 Aug 2020 20:52:25 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4A0DC15CCD; Sun, 16 Aug 2020 20:52:25 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GKqPP5070412; Sun, 16 Aug 2020 20:52:25 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GKqPbA070411; Sun, 16 Aug 2020 20:52:25 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008162052.07GKqPbA070411@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 16 Aug 2020 20:52:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364285 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 364285 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 20:52:25 -0000 Author: kib Date: Sun Aug 16 20:52:24 2020 New Revision: 364285 URL: https://svnweb.freebsd.org/changeset/base/364285 Log: Atomically update vm_object vnp_size, where atomic is available. This will be used later, where it matters on 32bit arches. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D25968 Modified: head/sys/vm/vnode_pager.c Modified: head/sys/vm/vnode_pager.c ============================================================================== --- head/sys/vm/vnode_pager.c Sun Aug 16 19:14:04 2020 (r364284) +++ head/sys/vm/vnode_pager.c Sun Aug 16 20:52:24 2020 (r364285) @@ -520,7 +520,11 @@ vnode_pager_setsize(struct vnode *vp, vm_ooffset_t nsi vm_page_xunbusy(m); } out: +#if defined(__powerpc__) && !defined(__powerpc64__) object->un_pager.vnp.vnp_size = nsize; +#else + atomic_store_64(&object->un_pager.vnp.vnp_size, nsize); +#endif object->size = nobjsize; VM_OBJECT_WUNLOCK(object); } From owner-svn-src-all@freebsd.org Sun Aug 16 20:57:03 2020 Return-Path: Delivered-To: svn-src-all@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 7589D3C5DB7; Sun, 16 Aug 2020 20:57:03 +0000 (UTC) (envelope-from kib@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 4BV8cb2WJ2z3YMP; Sun, 16 Aug 2020 20:57:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 34CA016082; Sun, 16 Aug 2020 20:57:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GKv3QC070714; Sun, 16 Aug 2020 20:57:03 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GKv3jP070713; Sun, 16 Aug 2020 20:57:03 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008162057.07GKv3jP070713@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 16 Aug 2020 20:57:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364286 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 364286 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 20:57:03 -0000 Author: kib Date: Sun Aug 16 20:57:02 2020 New Revision: 364286 URL: https://svnweb.freebsd.org/changeset/base/364286 Log: vm_object: allow paging_in_progress to be acquired after object termination. The vm objects are type-stable, and can be accessed even after the last reference is dropped, or in case of vnode objects, after vgone() destroyed it as well. Stop asserting that pip == 0 after vm_object_terminate() waited for existing owners to drop it, we only want to drain them before setting OBJ_DEAD flag. Also stop asserting pip == 0 in object destructor. Update comments explaining the interaction between paging_in_progress and termination. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D25968 Modified: head/sys/vm/vm_object.c Modified: head/sys/vm/vm_object.c ============================================================================== --- head/sys/vm/vm_object.c Sun Aug 16 20:52:24 2020 (r364285) +++ head/sys/vm/vm_object.c Sun Aug 16 20:57:02 2020 (r364286) @@ -192,9 +192,6 @@ vm_object_zdtor(void *mem, int size, void *arg) ("object %p has reservations", object)); #endif - KASSERT(blockcount_read(&object->paging_in_progress) == 0, - ("object %p paging_in_progress = %d", - object, blockcount_read(&object->paging_in_progress))); KASSERT(!vm_object_busied(object), ("object %p busy = %d", object, blockcount_read(&object->busy))); KASSERT(object->resident_page_count == 0, @@ -294,6 +291,9 @@ vm_object_init(void) * The lock portion of struct vm_object must be type stable due * to vm_pageout_fallback_object_lock locking a vm object * without holding any references to it. + * + * paging_in_progress is valid always. Lockless references to + * the objects may acquire pip and then check OBJ_DEAD. */ obj_zone = uma_zcreate("VM OBJECT", sizeof (struct vm_object), NULL, #ifdef INVARIANTS @@ -936,12 +936,13 @@ vm_object_terminate(vm_object_t object) ("terminating shadow obj %p", object)); /* - * wait for the pageout daemon to be done with the object + * Wait for the pageout daemon and other current users to be + * done with the object. Note that new paging_in_progress + * users can come after this wait, but they must check + * OBJ_DEAD flag set (without unlocking the object), and avoid + * the object being terminated. */ vm_object_pip_wait(object, "objtrm"); - - KASSERT(!blockcount_read(&object->paging_in_progress), - ("vm_object_terminate: pageout in progress")); KASSERT(object->ref_count == 0, ("vm_object_terminate: object with references, ref_count=%d", From owner-svn-src-all@freebsd.org Sun Aug 16 21:02:46 2020 Return-Path: Delivered-To: svn-src-all@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 860F73C6D21; Sun, 16 Aug 2020 21:02:46 +0000 (UTC) (envelope-from kib@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 4BV8lB30YVz3ZWc; Sun, 16 Aug 2020 21:02:46 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 498BF16492; Sun, 16 Aug 2020 21:02:46 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GL2k3L076666; Sun, 16 Aug 2020 21:02:46 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GL2jDn076662; Sun, 16 Aug 2020 21:02:45 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008162102.07GL2jDn076662@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 16 Aug 2020 21:02:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364287 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 364287 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 21:02:46 -0000 Author: kib Date: Sun Aug 16 21:02:45 2020 New Revision: 364287 URL: https://svnweb.freebsd.org/changeset/base/364287 Log: VMIO read If possible, i.e. if the requested range is resident valid in the vm object queue, and some secondary conditions hold, copy data for read(2) directly from the valid cached pages, avoiding vnode lock and instantiating buffers. I intentionally do not start read-ahead, nor handle the advises on the cached range. Filesystems indicate support for VMIO reads by setting VIRF_PGREAD flag, which must not be cleared until vnode reclamation. Currently only filesystems that use vnode pager for v_objects can enable it, due to reliance on vnp_size. There is a WIP to handle it for tmpfs. Reviewed by: markj Discussed with: jeff Tested by: pho Benchmarked by: mjg Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D25968 Modified: head/sys/kern/vfs_subr.c head/sys/kern/vfs_vnops.c head/sys/sys/vnode.h Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Sun Aug 16 20:57:02 2020 (r364286) +++ head/sys/kern/vfs_subr.c Sun Aug 16 21:02:45 2020 (r364287) @@ -3959,7 +3959,9 @@ vn_printf(struct vnode *vp, const char *fmt, ...) buf[1] = '\0'; if (vp->v_irflag & VIRF_DOOMED) strlcat(buf, "|VIRF_DOOMED", sizeof(buf)); - flags = vp->v_irflag & ~(VIRF_DOOMED); + if (vp->v_irflag & VIRF_PGREAD) + strlcat(buf, "|VIRF_PGREAD", sizeof(buf)); + flags = vp->v_irflag & ~(VIRF_DOOMED | VIRF_PGREAD); if (flags != 0) { snprintf(buf2, sizeof(buf2), "|VIRF(0x%lx)", flags); strlcat(buf, buf2, sizeof(buf)); Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Sun Aug 16 20:57:02 2020 (r364286) +++ head/sys/kern/vfs_vnops.c Sun Aug 16 21:02:45 2020 (r364287) @@ -127,11 +127,15 @@ struct fileops vnops = { static const int io_hold_cnt = 16; static int vn_io_fault_enable = 1; -SYSCTL_INT(_debug, OID_AUTO, vn_io_fault_enable, CTLFLAG_RW, +SYSCTL_INT(_debug, OID_AUTO, vn_io_fault_enable, CTLFLAG_RWTUN, &vn_io_fault_enable, 0, "Enable vn_io_fault lock avoidance"); static int vn_io_fault_prefault = 0; -SYSCTL_INT(_debug, OID_AUTO, vn_io_fault_prefault, CTLFLAG_RW, +SYSCTL_INT(_debug, OID_AUTO, vn_io_fault_prefault, CTLFLAG_RWTUN, &vn_io_fault_prefault, 0, "Enable vn_io_fault prefaulting"); +static int vn_io_pgcache_read_enable = 1; +SYSCTL_INT(_debug, OID_AUTO, vn_io_pgcache_read_enable, CTLFLAG_RWTUN, + &vn_io_pgcache_read_enable, 0, + "Enable copying from page cache for reads, avoiding fs"); static u_long vn_io_faults_cnt; SYSCTL_ULONG(_debug, OID_AUTO, vn_io_faults, CTLFLAG_RD, &vn_io_faults_cnt, 0, "Count of vn_io_fault lock avoidance triggers"); @@ -844,6 +848,118 @@ get_advice(struct file *fp, struct uio *uio) return (ret); } +static int +vn_read_from_obj(struct vnode *vp, struct uio *uio) +{ + vm_object_t obj; + vm_page_t ma[io_hold_cnt + 2]; + off_t off, vsz; + ssize_t resid; + int error, i, j; + + obj = vp->v_object; + MPASS(uio->uio_resid <= ptoa(io_hold_cnt + 2)); + MPASS(obj != NULL); + MPASS(obj->type == OBJT_VNODE); + + /* + * Depends on type stability of vm_objects. + */ + vm_object_pip_add(obj, 1); + if ((obj->flags & OBJ_DEAD) != 0) { + /* + * Note that object might be already reused from the + * vnode, and the OBJ_DEAD flag cleared. This is fine, + * we recheck for DOOMED vnode state after all pages + * are busied, and retract then. + * + * But we check for OBJ_DEAD to ensure that we do not + * busy pages while vm_object_terminate_pages() + * processes the queue. + */ + error = EJUSTRETURN; + goto out_pip; + } + + resid = uio->uio_resid; + off = uio->uio_offset; + for (i = 0; resid > 0; i++) { + MPASS(i < io_hold_cnt + 2); + ma[i] = vm_page_grab_unlocked(obj, atop(off), + VM_ALLOC_NOCREAT | VM_ALLOC_SBUSY | VM_ALLOC_IGN_SBUSY | + VM_ALLOC_NOWAIT); + if (ma[i] == NULL) + break; + + /* + * Skip invalid pages. Valid mask can be partial only + * at EOF, and we clip later. + */ + if (vm_page_none_valid(ma[i])) { + vm_page_sunbusy(ma[i]); + break; + } + + resid -= PAGE_SIZE; + off += PAGE_SIZE; + } + if (i == 0) { + error = EJUSTRETURN; + goto out_pip; + } + + /* + * Check VIRF_DOOMED after we busied our pages. Since + * vgonel() terminates the vnode' vm_object, it cannot + * process past pages busied by us. + */ + if (VN_IS_DOOMED(vp)) { + error = EJUSTRETURN; + goto out; + } + + resid = PAGE_SIZE - (uio->uio_offset & PAGE_MASK) + ptoa(i - 1); + if (resid > uio->uio_resid) + resid = uio->uio_resid; + + /* + * Unlocked read of vnp_size is safe because truncation cannot + * pass busied page. But we load vnp_size into a local + * variable so that possible concurrent extension does not + * break calculation. + */ +#if defined(__powerpc__) && !defined(__powerpc64__) + vsz = object->un_pager.vnp.vnp_size; +#else + vsz = atomic_load_64(&obj->un_pager.vnp.vnp_size); +#endif + if (uio->uio_offset + resid > vsz) + resid = vsz - uio->uio_offset; + + error = vn_io_fault_pgmove(ma, uio->uio_offset & PAGE_MASK, resid, uio); + +out: + for (j = 0; j < i; j++) { + if (error == 0) + vm_page_reference(ma[j]); + vm_page_sunbusy(ma[j]); + } +out_pip: + vm_object_pip_wakeup(obj); + if (error != 0) + return (error); + return (uio->uio_resid == 0 ? 0 : EJUSTRETURN); +} + +static bool +do_vn_read_from_pgcache(struct vnode *vp, struct uio *uio, struct file *fp) +{ + return ((vp->v_irflag & (VIRF_DOOMED | VIRF_PGREAD)) == VIRF_PGREAD && + !mac_vnode_check_read_enabled() && + uio->uio_resid <= ptoa(io_hold_cnt) && uio->uio_offset >= 0 && + (fp->f_flag & O_DIRECT) == 0 && vn_io_pgcache_read_enable); +} + /* * File table vnode read routine. */ @@ -860,6 +976,15 @@ vn_read(struct file *fp, struct uio *uio, struct ucred uio->uio_td, td)); KASSERT(flags & FOF_OFFSET, ("No FOF_OFFSET")); vp = fp->f_vnode; + if (do_vn_read_from_pgcache(vp, uio, fp)) { + error = vn_read_from_obj(vp, uio); + if (error == 0) { + fp->f_nextoff[UIO_READ] = uio->uio_offset; + return (0); + } + if (error != EJUSTRETURN) + return (error); + } ioflag = 0; if (fp->f_flag & FNONBLOCK) ioflag |= IO_NDELAY; @@ -1164,8 +1289,8 @@ vn_io_fault1(struct vnode *vp, struct uio *uio, struct uio_clone->uio_iovcnt--; continue; } - if (len > io_hold_cnt * PAGE_SIZE) - len = io_hold_cnt * PAGE_SIZE; + if (len > ptoa(io_hold_cnt)) + len = ptoa(io_hold_cnt); addr = (uintptr_t)uio_clone->uio_iov->iov_base; end = round_page(addr + len); if (end < addr) { Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Sun Aug 16 20:57:02 2020 (r364286) +++ head/sys/sys/vnode.h Sun Aug 16 21:02:45 2020 (r364287) @@ -244,6 +244,8 @@ struct xvnode { #define VHOLD_ALL_FLAGS (VHOLD_NO_SMR) #define VIRF_DOOMED 0x0001 /* This vnode is being recycled */ +#define VIRF_PGREAD 0x0002 /* Direct reads from the page cache are permitted, + never cleared once set */ #define VI_TEXT_REF 0x0001 /* Text ref grabbed use ref */ #define VI_MOUNT 0x0002 /* Mount in progress */ From owner-svn-src-all@freebsd.org Sun Aug 16 21:05:57 2020 Return-Path: Delivered-To: svn-src-all@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 B279A3C6CDE; Sun, 16 Aug 2020 21:05:57 +0000 (UTC) (envelope-from kib@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 4BV8ps4L6dz3ZRG; Sun, 16 Aug 2020 21:05:57 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 73A6E162E8; Sun, 16 Aug 2020 21:05:57 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GL5v7l076878; Sun, 16 Aug 2020 21:05:57 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GL5vGA076876; Sun, 16 Aug 2020 21:05:57 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008162105.07GL5vGA076876@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 16 Aug 2020 21:05:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364288 - head/sys/fs/nullfs X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/fs/nullfs X-SVN-Commit-Revision: 364288 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 21:05:57 -0000 Author: kib Date: Sun Aug 16 21:05:56 2020 New Revision: 364288 URL: https://svnweb.freebsd.org/changeset/base/364288 Log: VMIO reads: enable for nullfs upper vnode if the lower vnode supports it. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D25968 Modified: head/sys/fs/nullfs/null_subr.c head/sys/fs/nullfs/null_vnops.c Modified: head/sys/fs/nullfs/null_subr.c ============================================================================== --- head/sys/fs/nullfs/null_subr.c Sun Aug 16 21:02:45 2020 (r364287) +++ head/sys/fs/nullfs/null_subr.c Sun Aug 16 21:05:56 2020 (r364288) @@ -259,12 +259,33 @@ null_nodeget(mp, lowervp, vpp) vp->v_vflag |= VV_ROOT; /* + * We might miss the case where lower vnode sets VIRF_PGREAD + * some time after construction, which is typical case. + * null_open rechecks. + */ + if ((lowervp->v_irflag & VIRF_PGREAD) != 0) { + MPASS(lowervp->v_object != NULL); + if ((vp->v_irflag & VIRF_PGREAD) == 0) { + if (vp->v_object == NULL) + vp->v_object = lowervp->v_object; + else + MPASS(vp->v_object == lowervp->v_object); + VI_LOCK(vp); + vp->v_irflag |= VIRF_PGREAD; + VI_UNLOCK(vp); + } else { + MPASS(vp->v_object != NULL); + } + } + + /* * Atomically insert our new node into the hash or vget existing * if someone else has beaten us to it. */ *vpp = null_hashins(mp, xp); if (*vpp != NULL) { vrele(lowervp); + vp->v_object = NULL; /* in case VIRF_PGREAD set it */ null_destroy_proto(vp, xp); return (0); } Modified: head/sys/fs/nullfs/null_vnops.c ============================================================================== --- head/sys/fs/nullfs/null_vnops.c Sun Aug 16 21:02:45 2020 (r364287) +++ head/sys/fs/nullfs/null_vnops.c Sun Aug 16 21:05:56 2020 (r364288) @@ -439,8 +439,17 @@ null_open(struct vop_open_args *ap) vp = ap->a_vp; ldvp = NULLVPTOLOWERVP(vp); retval = null_bypass(&ap->a_gen); - if (retval == 0) + if (retval == 0) { vp->v_object = ldvp->v_object; + if ((ldvp->v_irflag & VIRF_PGREAD) != 0) { + MPASS(vp->v_object != NULL); + if ((vp->v_irflag & VIRF_PGREAD) == 0) { + VI_LOCK(vp); + vp->v_irflag |= VIRF_PGREAD; + VI_UNLOCK(vp); + } + } + } return (retval); } From owner-svn-src-all@freebsd.org Sun Aug 16 21:07:20 2020 Return-Path: Delivered-To: svn-src-all@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 4A20F3C6CEC; Sun, 16 Aug 2020 21:07:20 +0000 (UTC) (envelope-from kib@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 4BV8rS1CrTz3b33; Sun, 16 Aug 2020 21:07:20 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0D636161DD; Sun, 16 Aug 2020 21:07:20 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GL7JwW076991; Sun, 16 Aug 2020 21:07:19 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GL7Jbi076990; Sun, 16 Aug 2020 21:07:19 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008162107.07GL7Jbi076990@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 16 Aug 2020 21:07:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364289 - head/sys/ufs/ufs X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/ufs/ufs X-SVN-Commit-Revision: 364289 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 21:07:20 -0000 Author: kib Date: Sun Aug 16 21:07:19 2020 New Revision: 364289 URL: https://svnweb.freebsd.org/changeset/base/364289 Log: VMIO reads: enable for UFS Move v_object creation earlier, so that VIRF_PGREAD is never set if v_object is NULL. There is no much harm from instantiating v_object when later check for append-only flags disallows open. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D25968 Modified: head/sys/ufs/ufs/ufs_vnops.c Modified: head/sys/ufs/ufs/ufs_vnops.c ============================================================================== --- head/sys/ufs/ufs/ufs_vnops.c Sun Aug 16 21:05:56 2020 (r364288) +++ head/sys/ufs/ufs/ufs_vnops.c Sun Aug 16 21:07:19 2020 (r364289) @@ -282,13 +282,20 @@ ufs_open(struct vop_open_args *ap) return (EOPNOTSUPP); ip = VTOI(vp); + vnode_create_vobject(vp, DIP(ip, i_size), ap->a_td); + if (vp->v_type == VREG && (vp->v_irflag & VIRF_PGREAD) == 0) { + VI_LOCK(vp); + vp->v_irflag |= VIRF_PGREAD; + VI_UNLOCK(vp); + } + /* * Files marked append-only must be opened for appending. */ if ((ip->i_flags & APPEND) && (ap->a_mode & (FWRITE | O_APPEND)) == FWRITE) return (EPERM); - vnode_create_vobject(vp, DIP(ip, i_size), ap->a_td); + return (0); } From owner-svn-src-all@freebsd.org Sun Aug 16 22:50:59 2020 Return-Path: Delivered-To: svn-src-all@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 E32D53C7F77; Sun, 16 Aug 2020 22:50:59 +0000 (UTC) (envelope-from kib@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 4BVC835Skrz3fFX; Sun, 16 Aug 2020 22:50:59 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9FEC21734B; Sun, 16 Aug 2020 22:50:59 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GMoxpb041926; Sun, 16 Aug 2020 22:50:59 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GMoxCv041925; Sun, 16 Aug 2020 22:50:59 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008162250.07GMoxCv041925@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 16 Aug 2020 22:50:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364290 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364290 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 22:51:00 -0000 Author: kib Date: Sun Aug 16 22:50:59 2020 New Revision: 364290 URL: https://svnweb.freebsd.org/changeset/base/364290 Log: Fix powerpc build. Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/vfs_vnops.c Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Sun Aug 16 21:07:19 2020 (r364289) +++ head/sys/kern/vfs_vnops.c Sun Aug 16 22:50:59 2020 (r364290) @@ -929,7 +929,7 @@ vn_read_from_obj(struct vnode *vp, struct uio *uio) * break calculation. */ #if defined(__powerpc__) && !defined(__powerpc64__) - vsz = object->un_pager.vnp.vnp_size; + vsz = obj->un_pager.vnp.vnp_size; #else vsz = atomic_load_64(&obj->un_pager.vnp.vnp_size); #endif From owner-svn-src-all@freebsd.org Sun Aug 16 23:55:24 2020 Return-Path: Delivered-To: svn-src-all@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 2B81A379AE9; Sun, 16 Aug 2020 23:55:24 +0000 (UTC) (envelope-from imp@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 4BVDZN0Lxbz3yMq; Sun, 16 Aug 2020 23:55:24 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E4BFA18386; Sun, 16 Aug 2020 23:55:23 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07GNtNph080498; Sun, 16 Aug 2020 23:55:23 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07GNtNbV080497; Sun, 16 Aug 2020 23:55:23 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008162355.07GNtNbV080497@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sun, 16 Aug 2020 23:55:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364291 - head/usr.bin/patch X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/usr.bin/patch X-SVN-Commit-Revision: 364291 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 23:55:24 -0000 Author: imp Date: Sun Aug 16 23:55:23 2020 New Revision: 364291 URL: https://svnweb.freebsd.org/changeset/base/364291 Log: Remove heuristic for dealing with trailing newlines being truncated by mailers. Every version of patch since the first one posted to mod.sources in 1985 have included a heuristic for coping with the state of email messaging at the time. This heuristic would add up to 4 blank lines to a patch if it thought it needed it. The trouble is, though this causes at least one bug. The bug in my case is that if you have a context diff whose last hunk only deletes 3 or fewer lines, then if you try to reverse apply it with -R, it will fail. The reason for this is the heuristic builds an internal representation that includes those blank lines. However, it should really replicate the lines from the pattern lines line it would any other time, not assume they are blank lines. Removing this heuristic will prevent patch from misapplying the lines removed after applying a 'fuzz' factor to the previous blank line in the file. I believe this will only affect 'new-style' 4.3BSD context diffs and not the older-style 4.2BSD diffs and plain, non-context diffs. It won't affect any of the newer formats, since they don't use the 'omitted' construct in the same way. Since this heuristic was put into patch at a time when email / etc ate trailing white space on a regular basis, and since it's clear that this heuristic is the wrong thing to do at least some of the time, it's better to remove it entirely. It's not been needed for maybe 20 years since patch files are not usually corrupted. If there are a small number of patch files that would benefit from this corruption fixing, those already-currupt patches can be fixed by the addition of blank lines. I'd wager that no one will ever come to me with an example of a once-working patch file that breaks with this change. However, I have 2 patches from the first 195 patches to 2.11BSD that are affected by this bug, suggesting that the relative frequency of the issue has changed signficantly since the original heuristic was put into place. Reviewed by: phk@ Differential Revision: https://reviews.freebsd.org/D26081 Modified: head/usr.bin/patch/pch.c Modified: head/usr.bin/patch/pch.c ============================================================================== --- head/usr.bin/patch/pch.c Sun Aug 16 22:50:59 2020 (r364290) +++ head/usr.bin/patch/pch.c Sun Aug 16 23:55:23 2020 (r364291) @@ -587,16 +587,11 @@ another_hunk(void) len = pgets(true); p_input_line++; if (len == 0) { - if (p_max - p_end < 4) { - /* assume blank lines got chopped */ - strlcpy(buf, " \n", buf_size); - } else { - if (repl_beginning && repl_could_be_missing) { - repl_missing = true; - goto hunk_done; - } - fatal("unexpected end of file in patch\n"); + if (repl_beginning && repl_could_be_missing) { + repl_missing = true; + goto hunk_done; } + fatal("unexpected end of file in patch\n"); } p_end++; if (p_end >= hunkmax) From owner-svn-src-all@freebsd.org Mon Aug 17 05:57:04 2020 Return-Path: Delivered-To: svn-src-all@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 C08B737FCA9; Mon, 17 Aug 2020 05:57:04 +0000 (UTC) (envelope-from delphij@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 4BVNbh4hZpz4FKL; Mon, 17 Aug 2020 05:57:04 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 840C31C423; Mon, 17 Aug 2020 05:57:04 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07H5v4bV001613; Mon, 17 Aug 2020 05:57:04 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07H5v3Do001606; Mon, 17 Aug 2020 05:57:03 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202008170557.07H5v3Do001606@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 17 Aug 2020 05:57:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364292 - in head: lib/libc/tests/sys lib/libfetch lib/libpam/libpam lib/msun/tests libexec/rtld-elf usr.bin/fetch usr.bin/unzip X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: in head: lib/libc/tests/sys lib/libfetch lib/libpam/libpam lib/msun/tests libexec/rtld-elf usr.bin/fetch usr.bin/unzip X-SVN-Commit-Revision: 364292 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 05:57:04 -0000 Author: delphij Date: Mon Aug 17 05:57:02 2020 New Revision: 364292 URL: https://svnweb.freebsd.org/changeset/base/364292 Log: Don't explicitly specify c99 or gnu99 as the default is now gnu99. MFC after: 2 weeks Modified: head/lib/libc/tests/sys/Makefile head/lib/libfetch/Makefile head/lib/libpam/libpam/Makefile head/lib/msun/tests/Makefile head/libexec/rtld-elf/Makefile head/usr.bin/fetch/Makefile head/usr.bin/unzip/Makefile Modified: head/lib/libc/tests/sys/Makefile ============================================================================== --- head/lib/libc/tests/sys/Makefile Sun Aug 16 23:55:23 2020 (r364291) +++ head/lib/libc/tests/sys/Makefile Mon Aug 17 05:57:02 2020 (r364292) @@ -70,8 +70,6 @@ NETBSD_ATF_TESTS_C+= wait_noproc_test NETBSD_ATF_TESTS_C+= wait_noproc_wnohang_test NETBSD_ATF_TESTS_C+= write_test -CSTD?= c99 - LIBADD.getpid_test+= pthread LIBADD.timer_create_test+= rt Modified: head/lib/libfetch/Makefile ============================================================================== --- head/lib/libfetch/Makefile Sun Aug 16 23:55:23 2020 (r364291) +++ head/lib/libfetch/Makefile Mon Aug 17 05:57:02 2020 (r364292) @@ -23,8 +23,6 @@ LIBADD+= md CFLAGS+= -DFTP_COMBINE_CWDS -CSTD?= c99 - SHLIB_MAJOR= 6 ftperr.h: ftp.errors ${.CURDIR}/Makefile Modified: head/lib/libpam/libpam/Makefile ============================================================================== --- head/lib/libpam/libpam/Makefile Sun Aug 16 23:55:23 2020 (r364291) +++ head/lib/libpam/libpam/Makefile Mon Aug 17 05:57:02 2020 (r364292) @@ -156,7 +156,6 @@ MAN?= openpam.3 \ MLINKS?= pam.conf.5 pam.d.5 -CSTD?= c99 CFLAGS+= -I${OPENPAM}/include CFLAGS+= -DLIB_MAJ=${SHLIB_MAJOR} CFLAGS+= -DHAVE_DLFUNC=1 Modified: head/lib/msun/tests/Makefile ============================================================================== --- head/lib/msun/tests/Makefile Sun Aug 16 23:55:23 2020 (r364291) +++ head/lib/msun/tests/Makefile Mon Aug 17 05:57:02 2020 (r364292) @@ -75,8 +75,6 @@ ATF_TESTS_C+= trig_test CFLAGS+= -O0 .endif -CSTD= c99 - #COPTS+= -Wfloat-equal IGNORE_PRAGMA= Modified: head/libexec/rtld-elf/Makefile ============================================================================== --- head/libexec/rtld-elf/Makefile Sun Aug 16 23:55:23 2020 (r364291) +++ head/libexec/rtld-elf/Makefile Mon Aug 17 05:57:02 2020 (r364292) @@ -29,7 +29,6 @@ SRCS= \ debug.c \ libmap.c MAN?= rtld.1 -CSTD?= gnu99 ACFLAGS+= -DLOCORE CFLAGS+= -Wall -DFREEBSD_ELF -DIN_RTLD -ffreestanding CFLAGS+= -I${SRCTOP}/lib/csu/common Modified: head/usr.bin/fetch/Makefile ============================================================================== --- head/usr.bin/fetch/Makefile Sun Aug 16 23:55:23 2020 (r364291) +++ head/usr.bin/fetch/Makefile Mon Aug 17 05:57:02 2020 (r364292) @@ -1,7 +1,6 @@ # $FreeBSD$ PROG= fetch -CSTD?= c99 LIBADD= fetch .include Modified: head/usr.bin/unzip/Makefile ============================================================================== --- head/usr.bin/unzip/Makefile Sun Aug 16 23:55:23 2020 (r364291) +++ head/usr.bin/unzip/Makefile Mon Aug 17 05:57:02 2020 (r364292) @@ -1,7 +1,6 @@ # $FreeBSD$ PROG = unzip -CSTD = c99 LIBADD= archive .include From owner-svn-src-all@freebsd.org Mon Aug 17 05:57:23 2020 Return-Path: Delivered-To: svn-src-all@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 DB63E37F3F7; Mon, 17 Aug 2020 05:57:23 +0000 (UTC) (envelope-from delphij@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 4BVNc35RMSz4Ff6; Mon, 17 Aug 2020 05:57:23 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9F3791C3AB; Mon, 17 Aug 2020 05:57:23 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07H5vN7j001673; Mon, 17 Aug 2020 05:57:23 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07H5vNuh001671; Mon, 17 Aug 2020 05:57:23 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202008170557.07H5vNuh001671@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 17 Aug 2020 05:57:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364293 - head/usr.sbin/edquota X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/usr.sbin/edquota X-SVN-Commit-Revision: 364293 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 05:57:23 -0000 Author: delphij Date: Mon Aug 17 05:57:22 2020 New Revision: 364293 URL: https://svnweb.freebsd.org/changeset/base/364293 Log: edquota(8): Cleanup to make it WARNS=6 clean. Tested with: make tinderbox MFC after: 2 weeks Modified: head/usr.sbin/edquota/Makefile head/usr.sbin/edquota/edquota.c Modified: head/usr.sbin/edquota/Makefile ============================================================================== --- head/usr.sbin/edquota/Makefile Mon Aug 17 05:57:02 2020 (r364292) +++ head/usr.sbin/edquota/Makefile Mon Aug 17 05:57:22 2020 (r364293) @@ -4,9 +4,6 @@ PROG= edquota MAN= edquota.8 -CSTD= gnu99 -WARNS?= 4 - LIBADD= util .include Modified: head/usr.sbin/edquota/edquota.c ============================================================================== --- head/usr.sbin/edquota/edquota.c Mon Aug 17 05:57:02 2020 (r364292) +++ head/usr.sbin/edquota/edquota.c Mon Aug 17 05:57:22 2020 (r364293) @@ -83,9 +83,9 @@ __FBSDID("$FreeBSD$"); #define dbtokb(db) (db) #endif -const char *qfextension[] = INITQFNAMES; -char tmpfil[] = _PATH_TMP; -int hflag; +static const char *qfextension[] = INITQFNAMES; +static char tmpfil[] = _PATH_TMP; +static int hflag; struct quotause { struct quotause *next; From owner-svn-src-all@freebsd.org Mon Aug 17 08:24:51 2020 Return-Path: Delivered-To: svn-src-all@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 934383AB295; Mon, 17 Aug 2020 08:24:51 +0000 (UTC) (envelope-from 0mp@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 4BVRtC3MWNz4MnB; Mon, 17 Aug 2020 08:24:51 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 52B311DAFD; Mon, 17 Aug 2020 08:24:51 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07H8OpaG092474; Mon, 17 Aug 2020 08:24:51 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07H8Opg6092473; Mon, 17 Aug 2020 08:24:51 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008170824.07H8Opg6092473@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Mon, 17 Aug 2020 08:24:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364294 - head/sbin/bectl X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/sbin/bectl X-SVN-Commit-Revision: 364294 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 08:24:51 -0000 Author: 0mp (doc,ports committer) Date: Mon Aug 17 08:24:50 2020 New Revision: 364294 URL: https://svnweb.freebsd.org/changeset/base/364294 Log: Remove an unnecessary macro MFC after: 2 days Modified: head/sbin/bectl/bectl.8 Modified: head/sbin/bectl/bectl.8 ============================================================================== --- head/sbin/bectl/bectl.8 Mon Aug 17 05:57:22 2020 (r364293) +++ head/sbin/bectl/bectl.8 Mon Aug 17 08:24:50 2020 (r364294) @@ -17,7 +17,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 18, 2020 +.Dd August 17, 2020 .Dt BECTL 8 .Os .Sh NAME @@ -102,7 +102,7 @@ Activate the given .Ar beName as the default boot filesystem. If the -.Op Fl t +.Fl t flag is given, this takes effect only for the next boot. .It Xo .Cm check From owner-svn-src-all@freebsd.org Mon Aug 17 08:43:37 2020 Return-Path: Delivered-To: svn-src-all@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 769163AC0C8; Mon, 17 Aug 2020 08:43:37 +0000 (UTC) (envelope-from 0mp@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 4BVSHs2WBHz4P49; Mon, 17 Aug 2020 08:43:37 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 398941DFF0; Mon, 17 Aug 2020 08:43:37 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07H8hbN7005274; Mon, 17 Aug 2020 08:43:37 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07H8hbWV005273; Mon, 17 Aug 2020 08:43:37 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008170843.07H8hbWV005273@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Mon, 17 Aug 2020 08:43:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364295 - head/sbin/bectl X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/sbin/bectl X-SVN-Commit-Revision: 364295 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 08:43:37 -0000 Author: 0mp (doc,ports committer) Date: Mon Aug 17 08:43:36 2020 New Revision: 364295 URL: https://svnweb.freebsd.org/changeset/base/364295 Log: Comment out TODO notes from bectl(8) manual page MFC after: 2 days Modified: head/sbin/bectl/bectl.8 Modified: head/sbin/bectl/bectl.8 ============================================================================== --- head/sbin/bectl/bectl.8 Mon Aug 17 08:24:50 2020 (r364294) +++ head/sbin/bectl/bectl.8 Mon Aug 17 08:43:36 2020 (r364295) @@ -337,11 +337,11 @@ prints usage information if or .Fl \&? is specified. -.Sh EXAMPLES -.Bl -bullet -.It -To fill in with jail upgrade example when behavior is firm. -.El +\" .Sh EXAMPLES +\" .Bl -bullet +\" .It +\" To fill in with jail upgrade example when behavior is firm. +\" .El .Sh SEE ALSO .Xr libbe 3 , .Xr beinstall.sh 8 , From owner-svn-src-all@freebsd.org Mon Aug 17 10:25:03 2020 Return-Path: Delivered-To: svn-src-all@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 3F8F73AE225; Mon, 17 Aug 2020 10:25:03 +0000 (UTC) (envelope-from 0mp@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 4BVVXv0tg8z4VTq; Mon, 17 Aug 2020 10:25:03 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F1E241F2BF; Mon, 17 Aug 2020 10:25:02 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HAP21J066784; Mon, 17 Aug 2020 10:25:02 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HAP2mj066783; Mon, 17 Aug 2020 10:25:02 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008171025.07HAP2mj066783@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Mon, 17 Aug 2020 10:25:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364296 - head/usr.sbin/nologin X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.sbin/nologin X-SVN-Commit-Revision: 364296 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 10:25:03 -0000 Author: 0mp (doc,ports committer) Date: Mon Aug 17 10:25:02 2020 New Revision: 364296 URL: https://svnweb.freebsd.org/changeset/base/364296 Log: Revert 363598 The original wording was better. Reported by: rgrimes Modified: head/usr.sbin/nologin/nologin.8 Modified: head/usr.sbin/nologin/nologin.8 ============================================================================== --- head/usr.sbin/nologin/nologin.8 Mon Aug 17 08:43:36 2020 (r364295) +++ head/usr.sbin/nologin/nologin.8 Mon Aug 17 10:25:02 2020 (r364296) @@ -44,7 +44,7 @@ have been disabled. .Pp When executed, .Nm -first logs about the login attempt using +first writes about the login attempt to .Xr syslog 3 and then displays a message that an account is not available. .Pp From owner-svn-src-all@freebsd.org Mon Aug 17 10:51:04 2020 Return-Path: Delivered-To: svn-src-all@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 6C1523AED43; Mon, 17 Aug 2020 10:51:04 +0000 (UTC) (envelope-from 0mp@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 4BVW6w2JV9z4WcQ; Mon, 17 Aug 2020 10:51:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 325E91FC8E; Mon, 17 Aug 2020 10:51:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HAp45b079167; Mon, 17 Aug 2020 10:51:04 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HAp4wK079166; Mon, 17 Aug 2020 10:51:04 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008171051.07HAp4wK079166@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Mon, 17 Aug 2020 10:51:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364297 - head/usr.sbin/pmcstat X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.sbin/pmcstat X-SVN-Commit-Revision: 364297 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 10:51:04 -0000 Author: 0mp (doc,ports committer) Date: Mon Aug 17 10:51:03 2020 New Revision: 364297 URL: https://svnweb.freebsd.org/changeset/base/364297 Log: pmcstat.8: Improve description of -T Modified: head/usr.sbin/pmcstat/pmcstat.8 Modified: head/usr.sbin/pmcstat/pmcstat.8 ============================================================================== --- head/usr.sbin/pmcstat/pmcstat.8 Mon Aug 17 10:25:02 2020 (r364296) +++ head/usr.sbin/pmcstat/pmcstat.8 Mon Aug 17 10:51:03 2020 (r364297) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 5, 2020 +.Dd August 17, 2020 .Dt PMCSTAT 8 .Os .Sh NAME @@ -224,11 +224,40 @@ Allocate a system mode sampling PMC measuring hardware specified in .Ar event-spec . .It Fl T -Use a top like mode for sampling PMCs. The following hotkeys -can be used: 'A' toggle symbol resolution, 'c+a' switch to accumulative mode, 'c+d' -switch to delta mode, 'I' toggle showing offsets into symbols, 'm' merge PMCs, 'n' -change view, 'p' show next PMC, ' ' pause, 'q' quit. calltree only: 'f' cost under -threshold is seen as a dot. +Use a +.Xr top 1 Ns -like +mode for sampling PMCs. The following hotkeys +can be used: +.Pp +.Bl -tag -compact -width "Ctrl+a" -offset 4n +.It Ic A +Toggle symbol resolution +.Sm off +.It Ic Ctrl + a +.Sm on +Switch to accumulative mode +.Sm off +.It Ic Ctrl + d +.Sm on +Switch to delta mode +.It Ic f +Represent the +.Dq f +cost under +threshold as a dot (calltree only) +.It Ic I +Toggle showing offsets into symbols +.It Ic m +Merge PMCs +.It Ic n +Change view +.It Ic p +Show next PMC +.It Ic q +Quit +.It Ic Space +Pause +.El .It Fl U Toggle capturing user-space call traces while in kernel mode. The default is for sampling PMCs to capture user-space callchain information From owner-svn-src-all@freebsd.org Mon Aug 17 12:38:36 2020 Return-Path: Delivered-To: svn-src-all@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 20E853B1677; Mon, 17 Aug 2020 12:38:36 +0000 (UTC) (envelope-from markj@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 4BVYW007zRz4dDb; Mon, 17 Aug 2020 12:38:36 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DCD5E20C54; Mon, 17 Aug 2020 12:38:35 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HCcZt1046874; Mon, 17 Aug 2020 12:38:35 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HCcZH1046872; Mon, 17 Aug 2020 12:38:35 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008171238.07HCcZH1046872@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 17 Aug 2020 12:38:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364298 - in stable/12/usr.bin/fortune: fortune strfile X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in stable/12/usr.bin/fortune: fortune strfile X-SVN-Commit-Revision: 364298 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 12:38:36 -0000 Author: markj Date: Mon Aug 17 12:38:35 2020 New Revision: 364298 URL: https://svnweb.freebsd.org/changeset/base/364298 Log: MFC r364083: fortune, strfile: Improve validation of command-line arguments. PR: 246050 Modified: stable/12/usr.bin/fortune/fortune/fortune.c stable/12/usr.bin/fortune/strfile/strfile.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/fortune/fortune/fortune.c ============================================================================== --- stable/12/usr.bin/fortune/fortune/fortune.c Mon Aug 17 10:51:03 2020 (r364297) +++ stable/12/usr.bin/fortune/fortune/fortune.c Mon Aug 17 12:38:35 2020 (r364298) @@ -400,11 +400,12 @@ form_file_list(char **files, int file_cnt) sp = files[i]; else { percent = 0; - for (sp = files[i]; isdigit((unsigned char)*sp); sp++) + for (sp = files[i]; isdigit((unsigned char)*sp); sp++) { percent = percent * 10 + *sp - '0'; - if (percent > 100) { - fprintf(stderr, "percentages must be <= 100\n"); - return (FALSE); + if (percent > 100) { + fprintf(stderr, "percentages must be <= 100\n"); + return (FALSE); + } } if (*sp == '.') { fprintf(stderr, "percentages must be integers\n"); Modified: stable/12/usr.bin/fortune/strfile/strfile.c ============================================================================== --- stable/12/usr.bin/fortune/strfile/strfile.c Mon Aug 17 10:51:03 2020 (r364297) +++ stable/12/usr.bin/fortune/strfile/strfile.c Mon Aug 17 12:38:35 2020 (r364298) @@ -295,16 +295,26 @@ getargs(int argc, char **argv) if (*argv) { Infile = *argv; - if (*++argv) - strcpy(Outfile, *argv); + if (*++argv) { + if (strlcpy(Outfile, *argv, sizeof(Outfile)) >= + sizeof(Outfile)) { + fprintf(stderr, + "output_file path is too long\n"); + exit(1); + } + } } if (!Infile) { puts("No input file name"); usage(); } if (*Outfile == '\0') { - strlcpy(Outfile, Infile, sizeof(Outfile)); - strlcat(Outfile, ".dat", sizeof(Outfile)); + if ((size_t)snprintf(Outfile, sizeof(Outfile), "%s.dat", + Infile) >= sizeof(Outfile)) { + fprintf(stderr, + "generated output_file path is too long\n"); + exit(1); + } } } From owner-svn-src-all@freebsd.org Mon Aug 17 12:43:08 2020 Return-Path: Delivered-To: svn-src-all@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 D3EA63B18C6; Mon, 17 Aug 2020 12:43:08 +0000 (UTC) (envelope-from bz@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 4BVYcD5DQvz4dZ8; Mon, 17 Aug 2020 12:43:08 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9672F20C6B; Mon, 17 Aug 2020 12:43:08 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HCh87X052938; Mon, 17 Aug 2020 12:43:08 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HCh7pq052932; Mon, 17 Aug 2020 12:43:07 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008171243.07HCh7pq052932@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 12:43:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364299 - in head: sbin/ifconfig sys/net80211 X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: in head: sbin/ifconfig sys/net80211 X-SVN-Commit-Revision: 364299 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 12:43:08 -0000 Author: bz Date: Mon Aug 17 12:43:07 2020 New Revision: 364299 URL: https://svnweb.freebsd.org/changeset/base/364299 Log: net80211 / ifconfig: cleanup the use of IEEE80211_FVHT_USEVHT* Rather then using magic numbers duplicate IEEE80211_FVHT_VHT* in ifconfig (cleanup of these and other flags used and not exposed by net80211 should happen later) and use those. In the kernel this simplifies one ioctl path (the other one currently relies on individual bit flags being passed in). We also re-order the 80P80 and 160 flag for 160 to come before 80+80 and more clearly leave the flags as TODO in one of the 160/80+80 cases. Reviewed by: adrian MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Differential Revision: https://reviews.freebsd.org/D26000 Modified: head/sbin/ifconfig/ifieee80211.c head/sys/net80211/ieee80211_ioctl.c head/sys/net80211/ieee80211_var.h head/sys/net80211/ieee80211_vht.c Modified: head/sbin/ifconfig/ifieee80211.c ============================================================================== --- head/sbin/ifconfig/ifieee80211.c Mon Aug 17 12:38:35 2020 (r364298) +++ head/sbin/ifconfig/ifieee80211.c Mon Aug 17 12:43:07 2020 (r364299) @@ -129,6 +129,15 @@ #define IEEE80211_NODE_UAPSD 0x400000 /* UAPSD enabled */ #endif +/* XXX should also figure out where to put these for k/u-space sharing. */ +#ifndef IEEE80211_FVHT_VHT +#define IEEE80211_FVHT_VHT 0x000000001 /* CONF: VHT supported */ +#define IEEE80211_FVHT_USEVHT40 0x000000002 /* CONF: Use VHT40 */ +#define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */ +#define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */ +#define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */ +#endif + #define MAXCHAN 1536 /* max 1.5K channels */ #define MAXCOL 78 @@ -5331,26 +5340,26 @@ end: if (IEEE80211_IS_CHAN_VHT(c) || verbose) { getvhtconf(s); - if (vhtconf & 0x1) + if (vhtconf & IEEE80211_FVHT_VHT) LINE_CHECK("vht"); else LINE_CHECK("-vht"); - if (vhtconf & 0x2) + if (vhtconf & IEEE80211_FVHT_USEVHT40) LINE_CHECK("vht40"); else LINE_CHECK("-vht40"); - if (vhtconf & 0x4) + if (vhtconf & IEEE80211_FVHT_USEVHT80) LINE_CHECK("vht80"); else LINE_CHECK("-vht80"); - if (vhtconf & 0x8) - LINE_CHECK("vht80p80"); - else - LINE_CHECK("-vht80p80"); - if (vhtconf & 0x10) + if (vhtconf & IEEE80211_FVHT_USEVHT160) LINE_CHECK("vht160"); else LINE_CHECK("-vht160"); + if (vhtconf & IEEE80211_FVHT_USEVHT80P80) + LINE_CHECK("vht80p80"); + else + LINE_CHECK("-vht80p80"); } if (get80211val(s, IEEE80211_IOC_WME, &wme) != -1) { @@ -5951,16 +5960,16 @@ static struct cmd ieee80211_cmds[] = { DEF_CMD("-ht40", 0, set80211htconf), DEF_CMD("ht", 3, set80211htconf), /* NB: 20+40 */ DEF_CMD("-ht", 0, set80211htconf), - DEF_CMD("vht", 1, set80211vhtconf), - DEF_CMD("-vht", 0, set80211vhtconf), - DEF_CMD("vht40", 2, set80211vhtconf), - DEF_CMD("-vht40", -2, set80211vhtconf), - DEF_CMD("vht80", 4, set80211vhtconf), - DEF_CMD("-vht80", -4, set80211vhtconf), - DEF_CMD("vht80p80", 8, set80211vhtconf), - DEF_CMD("-vht80p80", -8, set80211vhtconf), - DEF_CMD("vht160", 16, set80211vhtconf), - DEF_CMD("-vht160", -16, set80211vhtconf), + DEF_CMD("vht", IEEE80211_FVHT_VHT, set80211vhtconf), + DEF_CMD("-vht", 0, set80211vhtconf), + DEF_CMD("vht40", IEEE80211_FVHT_USEVHT40, set80211vhtconf), + DEF_CMD("-vht40", -IEEE80211_FVHT_USEVHT40, set80211vhtconf), + DEF_CMD("vht80", IEEE80211_FVHT_USEVHT80, set80211vhtconf), + DEF_CMD("-vht80", -IEEE80211_FVHT_USEVHT80, set80211vhtconf), + DEF_CMD("vht160", IEEE80211_FVHT_USEVHT160, set80211vhtconf), + DEF_CMD("-vht160", -IEEE80211_FVHT_USEVHT160, set80211vhtconf), + DEF_CMD("vht80p80", IEEE80211_FVHT_USEVHT80P80, set80211vhtconf), + DEF_CMD("-vht80p80", -IEEE80211_FVHT_USEVHT80P80, set80211vhtconf), DEF_CMD("rifs", 1, set80211rifs), DEF_CMD("-rifs", 0, set80211rifs), DEF_CMD("smps", IEEE80211_HTCAP_SMPS_ENA, set80211smps), Modified: head/sys/net80211/ieee80211_ioctl.c ============================================================================== --- head/sys/net80211/ieee80211_ioctl.c Mon Aug 17 12:38:35 2020 (r364298) +++ head/sys/net80211/ieee80211_ioctl.c Mon Aug 17 12:43:07 2020 (r364299) @@ -1162,17 +1162,7 @@ ieee80211_ioctl_get80211(struct ieee80211vap *vap, u_l /* VHT */ case IEEE80211_IOC_VHTCONF: - ireq->i_val = 0; - if (vap->iv_flags_vht & IEEE80211_FVHT_VHT) - ireq->i_val |= 1; - if (vap->iv_flags_vht & IEEE80211_FVHT_USEVHT40) - ireq->i_val |= 2; - if (vap->iv_flags_vht & IEEE80211_FVHT_USEVHT80) - ireq->i_val |= 4; - if (vap->iv_flags_vht & IEEE80211_FVHT_USEVHT80P80) - ireq->i_val |= 8; - if (vap->iv_flags_vht & IEEE80211_FVHT_USEVHT160) - ireq->i_val |= 16; + ireq->i_val = vap->iv_flags_vht & IEEE80211_FVHT_MASK; break; default: @@ -3493,30 +3483,30 @@ ieee80211_ioctl_set80211(struct ieee80211vap *vap, u_l /* VHT */ case IEEE80211_IOC_VHTCONF: - if (ireq->i_val & 1) + if (ireq->i_val & IEEE80211_FVHT_VHT) ieee80211_syncflag_vht(vap, IEEE80211_FVHT_VHT); else ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_VHT); - if (ireq->i_val & 2) + if (ireq->i_val & IEEE80211_FVHT_USEVHT40) ieee80211_syncflag_vht(vap, IEEE80211_FVHT_USEVHT40); else ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_USEVHT40); - if (ireq->i_val & 4) + if (ireq->i_val & IEEE80211_FVHT_USEVHT80) ieee80211_syncflag_vht(vap, IEEE80211_FVHT_USEVHT80); else ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_USEVHT80); - if (ireq->i_val & 8) - ieee80211_syncflag_vht(vap, IEEE80211_FVHT_USEVHT80P80); - else - ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_USEVHT80P80); - - if (ireq->i_val & 16) + if (ireq->i_val & IEEE80211_FVHT_USEVHT160) ieee80211_syncflag_vht(vap, IEEE80211_FVHT_USEVHT160); else ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_USEVHT160); + + if (ireq->i_val & IEEE80211_FVHT_USEVHT80P80) + ieee80211_syncflag_vht(vap, IEEE80211_FVHT_USEVHT80P80); + else + ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_USEVHT80P80); error = ENETRESET; break; Modified: head/sys/net80211/ieee80211_var.h ============================================================================== --- head/sys/net80211/ieee80211_var.h Mon Aug 17 12:38:35 2020 (r364298) +++ head/sys/net80211/ieee80211_var.h Mon Aug 17 12:43:07 2020 (r364299) @@ -724,10 +724,14 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_FVHT_VHT 0x000000001 /* CONF: VHT supported */ #define IEEE80211_FVHT_USEVHT40 0x000000002 /* CONF: Use VHT40 */ #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */ -#define IEEE80211_FVHT_USEVHT80P80 0x000000008 /* CONF: Use VHT 80+80 */ -#define IEEE80211_FVHT_USEVHT160 0x000000010 /* CONF: Use VHT160 */ +#define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */ +#define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_MASK \ + (IEEE80211_FVHT_VHT | IEEE80211_FVHT_USEVHT40 | \ + IEEE80211_FVHT_USEVHT80 | IEEE80211_FVHT_USEVHT160 | \ + IEEE80211_FVHT_USEVHT80P80) #define IEEE80211_VFHT_BITS \ - "\20\1VHT\2VHT40\3VHT80\4VHT80P80\5VHT160" + "\20\1VHT\2VHT40\3VHT80\4VHT160\5VHT80P80" #define IEEE80211_COM_DETACHED 0x00000001 /* ieee80211_ifdetach called */ #define IEEE80211_COM_REF_ADD 0x00000002 /* add / remove reference */ @@ -920,10 +924,10 @@ static __inline int ieee80211_vhtchanflags(const struct ieee80211_channel *c) { - if (IEEE80211_IS_CHAN_VHT160(c)) - return IEEE80211_FVHT_USEVHT160; if (IEEE80211_IS_CHAN_VHT80_80(c)) return IEEE80211_FVHT_USEVHT80P80; + if (IEEE80211_IS_CHAN_VHT160(c)) + return IEEE80211_FVHT_USEVHT160; if (IEEE80211_IS_CHAN_VHT80(c)) return IEEE80211_FVHT_USEVHT80; if (IEEE80211_IS_CHAN_VHT40(c)) Modified: head/sys/net80211/ieee80211_vht.c ============================================================================== --- head/sys/net80211/ieee80211_vht.c Mon Aug 17 12:38:35 2020 (r364298) +++ head/sys/net80211/ieee80211_vht.c Mon Aug 17 12:43:07 2020 (r364299) @@ -161,7 +161,13 @@ ieee80211_vht_vattach(struct ieee80211vap *vap) IEEE80211_FVHT_VHT | IEEE80211_FVHT_USEVHT40 | IEEE80211_FVHT_USEVHT80; +#if 0 /* XXX TODO: enable VHT80+80, VHT160 capabilities */ + if (XXX TODO FIXME) + vap->iv_flags_vht |= IEEE80211_FVHT_USEVHT160; + if (XXX TODO FIXME) + vap->iv_flags_vht |= IEEE80211_FVHT_USEVHT80P80; +#endif memcpy(&vap->iv_vht_mcsinfo, &ic->ic_vht_mcsinfo, sizeof(struct ieee80211_vht_mcs_info)); From owner-svn-src-all@freebsd.org Mon Aug 17 12:47:09 2020 Return-Path: Delivered-To: svn-src-all@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 532F43B1B5E; Mon, 17 Aug 2020 12:47:09 +0000 (UTC) (envelope-from markj@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 4BVYhs1VWWz4dyn; Mon, 17 Aug 2020 12:47:09 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 13F1921187; Mon, 17 Aug 2020 12:47:09 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HCl8J2053196; Mon, 17 Aug 2020 12:47:08 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HCl86L053194; Mon, 17 Aug 2020 12:47:08 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008171247.07HCl86L053194@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 17 Aug 2020 12:47:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364300 - head/sys/dev/asmc X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/dev/asmc X-SVN-Commit-Revision: 364300 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 12:47:09 -0000 Author: markj Date: Mon Aug 17 12:47:08 2020 New Revision: 364300 URL: https://svnweb.freebsd.org/changeset/base/364300 Log: asmc(4): Add support for MacBook7,1. PR: 248693 Submitted by: gcx61@interia.pl MFC after: 1 week Modified: head/sys/dev/asmc/asmc.c head/sys/dev/asmc/asmcvar.h Modified: head/sys/dev/asmc/asmc.c ============================================================================== --- head/sys/dev/asmc/asmc.c Mon Aug 17 12:43:07 2020 (r364299) +++ head/sys/dev/asmc/asmc.c Mon Aug 17 12:47:08 2020 (r364300) @@ -173,6 +173,12 @@ struct asmc_model asmc_models[] = { }, { + "MacBook7,1", "Apple SMC MacBook Core 2 Duo (mid 2010)", + ASMC_SMS_FUNCS, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS_DISABLED, + ASMC_MB71_TEMPS, ASMC_MB71_TEMPNAMES, ASMC_MB71_TEMPDESCS + }, + + { "MacBookPro1,1", "Apple SMC MacBook Pro Core Duo (15-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS Modified: head/sys/dev/asmc/asmcvar.h ============================================================================== --- head/sys/dev/asmc/asmcvar.h Mon Aug 17 12:43:07 2020 (r364299) +++ head/sys/dev/asmc/asmcvar.h Mon Aug 17 12:47:08 2020 (r364300) @@ -158,6 +158,21 @@ struct asmc_softc { "Heatsink 1","Heatsink 2" \ "Memory Bank A", } +#define ASMC_MB71_TEMPS { "TB0T", "TB1T", "TB2T", "TC0D", "TC0P", \ + "TH0P", "TN0D", "TN0P", "TN0S", "TN1D", \ + "TN1E", "TN1F", "TN1G", "TN1S", "Th1H", \ + "Ts0P", "Ts0S", NULL } + +#define ASMC_MB71_TEMPNAMES { "enclosure_bottom0", "battery_1", "battery_2", "cpu_package", "cpu_proximity", \ + "hdd_bay", "northbridge0_diode", "northbridge0_proximity", "TN0S", "mpc_die2", \ + "TN1E", "TN1F", "TN1G", "TN1S", "heatsink1", \ + "palm_rest", "memory_proximity", } + +#define ASMC_MB71_TEMPDESCS { "Enclosure Bottom 0", "Battery 1", "Battery 2", "CPU Package", "CPU Proximity", \ + "HDD Bay", "Northbridge Diode", "Northbridge Proximity", "TN0S", "MPC Die 2", \ + "TN1E", "TN1F", "TN1G", "TN1S", "Heatsink 1", \ + "Palm Rest", "Memory Proximity", } + #define ASMC_MBP_TEMPS { "TB0T", "Th0H", "Th1H", "Tm0P", \ "TG0H", "TG0P", "TG0T", NULL } From owner-svn-src-all@freebsd.org Mon Aug 17 12:52:59 2020 Return-Path: Delivered-To: svn-src-all@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 5A0873B1CE9; Mon, 17 Aug 2020 12:52:59 +0000 (UTC) (envelope-from bz@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 4BVYqb1k1pz4fBc; Mon, 17 Aug 2020 12:52:59 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1E5FD210CD; Mon, 17 Aug 2020 12:52:59 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HCqxov059100; Mon, 17 Aug 2020 12:52:59 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HCqvcm059095; Mon, 17 Aug 2020 12:52:57 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008171252.07HCqvcm059095@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 12:52:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364301 - in head: lib/lib80211 sbin/ifconfig sys/net80211 X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: in head: lib/lib80211 sbin/ifconfig sys/net80211 X-SVN-Commit-Revision: 364301 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 12:52:59 -0000 Author: bz Date: Mon Aug 17 12:52:57 2020 New Revision: 364301 URL: https://svnweb.freebsd.org/changeset/base/364301 Log: 80211: consistently spell 80P80 The standard uses 80+80 and 80p80 but nowhere 80_80. Switch the latter to 80P80 for all the macros and comments refering to #defined flags which I could find. The only place we leave as 80p80 is the ifconfig command line arguments as we spell them all in lower case. Ideally we would use 80+80 for any interactions with the user and 80P80 for anything internal but let us not confuse parsers and hence avoid the '+' in either case. Reviewed by: adrian, gnn MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Differential Revision: https://reviews.freebsd.org/D26001 Modified: head/lib/lib80211/lib80211_regdomain.c head/sbin/ifconfig/ifieee80211.c head/sys/net80211/_ieee80211.h head/sys/net80211/ieee80211_ht.c head/sys/net80211/ieee80211_var.h head/sys/net80211/ieee80211_vht.c Modified: head/lib/lib80211/lib80211_regdomain.c ============================================================================== --- head/lib/lib80211/lib80211_regdomain.c Mon Aug 17 12:47:08 2020 (r364300) +++ head/lib/lib80211/lib80211_regdomain.c Mon Aug 17 12:52:57 2020 (r364301) @@ -192,7 +192,7 @@ decode_flag(struct mystate *mt, const char *p, int len FLAG(IEEE80211_CHAN_VHT40), FLAG(IEEE80211_CHAN_VHT80), /* - * XXX VHT80_80? This likely should be done by + * XXX VHT80P80? This likely should be done by * 80MHz chan logic in net80211 / ifconfig. */ FLAG(IEEE80211_CHAN_VHT160), Modified: head/sbin/ifconfig/ifieee80211.c ============================================================================== --- head/sbin/ifconfig/ifieee80211.c Mon Aug 17 12:47:08 2020 (r364300) +++ head/sbin/ifconfig/ifieee80211.c Mon Aug 17 12:52:57 2020 (r364301) @@ -2177,7 +2177,7 @@ regdomain_addchans(struct ieee80211req_chaninfo *ci, /* * VHT first - HT is a subset. * - * XXX TODO: VHT80p80, VHT160 is not yet done. + * XXX TODO: VHT80P80, VHT160 is not yet done. */ if (flags & IEEE80211_CHAN_VHT) { if ((chanFlags & IEEE80211_CHAN_VHT20) && @@ -2387,7 +2387,7 @@ regdomain_makechannels( &dc->dc_chaninfo); } - /* XXX TODO: VHT80_80, VHT160 */ + /* XXX TODO: VHT80P80, VHT160 */ } if (!LIST_EMPTY(&rd->bands_11ng) && dc->dc_htcaps != 0) { @@ -4015,7 +4015,7 @@ chanpref(const struct ieee80211_channel *c) { if (IEEE80211_IS_CHAN_VHT160(c)) return 80; - if (IEEE80211_IS_CHAN_VHT80_80(c)) + if (IEEE80211_IS_CHAN_VHT80P80(c)) return 75; if (IEEE80211_IS_CHAN_VHT80(c)) return 70; Modified: head/sys/net80211/_ieee80211.h ============================================================================== --- head/sys/net80211/_ieee80211.h Mon Aug 17 12:47:08 2020 (r364300) +++ head/sys/net80211/_ieee80211.h Mon Aug 17 12:52:57 2020 (r364301) @@ -194,7 +194,7 @@ struct ieee80211_channel { #define IEEE80211_CHAN_VHT40U 0x02000000 /* VHT40 channel, ext above */ #define IEEE80211_CHAN_VHT40D 0x04000000 /* VHT40 channel, ext below */ #define IEEE80211_CHAN_VHT80 0x08000000 /* VHT80 channel */ -#define IEEE80211_CHAN_VHT80_80 0x10000000 /* VHT80+80 channel */ +#define IEEE80211_CHAN_VHT80P80 0x10000000 /* VHT80+80 channel */ #define IEEE80211_CHAN_VHT160 0x20000000 /* VHT160 channel */ /* XXX note: 0x80000000 is used in src/sbin/ifconfig/ifieee80211.c :( */ @@ -203,14 +203,14 @@ struct ieee80211_channel { #define IEEE80211_CHAN_VHT40 (IEEE80211_CHAN_VHT40U | IEEE80211_CHAN_VHT40D) #define IEEE80211_CHAN_VHT (IEEE80211_CHAN_VHT20 | IEEE80211_CHAN_VHT40 \ - | IEEE80211_CHAN_VHT80 | IEEE80211_CHAN_VHT80_80 \ + | IEEE80211_CHAN_VHT80 | IEEE80211_CHAN_VHT80P80 \ | IEEE80211_CHAN_VHT160) #define IEEE80211_CHAN_BITS \ "\20\1PRIV0\2PRIV2\3PRIV3\4PRIV4\5TURBO\6CCK\7OFDM\0102GHZ\0115GHZ" \ "\12PASSIVE\13DYN\14GFSK\15GSM\16STURBO\17HALF\20QUARTER\21HT20" \ "\22HT40U\23HT40D\24DFS\0254MSXMIT\26NOADHOC\27NOHOSTAP\03011D" \ - "\031VHT20\032VHT40U\033VHT40D\034VHT80\035VHT80_80\036VHT160" + "\031VHT20\032VHT40U\033VHT40D\034VHT80\035VHT80P80\036VHT160" /* * Useful combinations of channel characteristics. @@ -337,8 +337,8 @@ struct ieee80211_channel { ((_c)->ic_flags & IEEE80211_CHAN_VHT) != 0) #define IEEE80211_IS_CHAN_VHT80(_c) \ (((_c)->ic_flags & IEEE80211_CHAN_VHT80) != 0) -#define IEEE80211_IS_CHAN_VHT80_80(_c) \ - (((_c)->ic_flags & IEEE80211_CHAN_VHT80_80) != 0) +#define IEEE80211_IS_CHAN_VHT80P80(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_VHT80P80) != 0) #define IEEE80211_IS_CHAN_VHT160(_c) \ (((_c)->ic_flags & IEEE80211_CHAN_VHT160) != 0) Modified: head/sys/net80211/ieee80211_ht.c ============================================================================== --- head/sys/net80211/ieee80211_ht.c Mon Aug 17 12:47:08 2020 (r364300) +++ head/sys/net80211/ieee80211_ht.c Mon Aug 17 12:52:57 2020 (r364301) @@ -1957,7 +1957,7 @@ ieee80211_vht_get_vhtflags(struct ieee80211_node *ni, (MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2) && (vap->iv_flags_vht & IEEE80211_FVHT_USEVHT80P80)) { - vhtflags = IEEE80211_CHAN_VHT80_80; + vhtflags = IEEE80211_CHAN_VHT80P80; /* Mirror the HT40 flags */ if (htflags == IEEE80211_CHAN_HT40U) { vhtflags |= IEEE80211_CHAN_HT40U; Modified: head/sys/net80211/ieee80211_var.h ============================================================================== --- head/sys/net80211/ieee80211_var.h Mon Aug 17 12:47:08 2020 (r364300) +++ head/sys/net80211/ieee80211_var.h Mon Aug 17 12:52:57 2020 (r364301) @@ -924,7 +924,7 @@ static __inline int ieee80211_vhtchanflags(const struct ieee80211_channel *c) { - if (IEEE80211_IS_CHAN_VHT80_80(c)) + if (IEEE80211_IS_CHAN_VHT80P80(c)) return IEEE80211_FVHT_USEVHT80P80; if (IEEE80211_IS_CHAN_VHT160(c)) return IEEE80211_FVHT_USEVHT160; Modified: head/sys/net80211/ieee80211_vht.c ============================================================================== --- head/sys/net80211/ieee80211_vht.c Mon Aug 17 12:47:08 2020 (r364300) +++ head/sys/net80211/ieee80211_vht.c Mon Aug 17 12:52:57 2020 (r364301) @@ -705,7 +705,7 @@ ieee80211_vht_get_chwidth_ie(struct ieee80211_channel if (IEEE80211_IS_CHAN_VHT160(c)) { return IEEE80211_VHT_CHANWIDTH_160MHZ; } - if (IEEE80211_IS_CHAN_VHT80_80(c)) { + if (IEEE80211_IS_CHAN_VHT80P80(c)) { return IEEE80211_VHT_CHANWIDTH_80P80MHZ; } if (IEEE80211_IS_CHAN_VHT80(c)) { @@ -817,7 +817,7 @@ ieee80211_vht_adjust_channel(struct ieee80211com *ic, c = findvhtchan(ic, chan, IEEE80211_CHAN_VHT80); if ((c == NULL) && (flags & IEEE80211_FVHT_USEVHT80P80)) - c = findvhtchan(ic, chan, IEEE80211_CHAN_VHT80_80); + c = findvhtchan(ic, chan, IEEE80211_CHAN_VHT80P80); if ((c == NULL) && (flags & IEEE80211_FVHT_USEVHT80)) c = findvhtchan(ic, chan, IEEE80211_CHAN_VHT80); From owner-svn-src-all@freebsd.org Mon Aug 17 13:02:02 2020 Return-Path: Delivered-To: svn-src-all@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 EE6D33B2506; Mon, 17 Aug 2020 13:02:02 +0000 (UTC) (envelope-from markj@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 4BVZ2261JNz4fvc; Mon, 17 Aug 2020 13:02:02 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B333820F4F; Mon, 17 Aug 2020 13:02:02 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HD22Zg061643; Mon, 17 Aug 2020 13:02:02 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HD21qu061638; Mon, 17 Aug 2020 13:02:01 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008171302.07HD21qu061638@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 17 Aug 2020 13:02:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364302 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 364302 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 13:02:03 -0000 Author: markj Date: Mon Aug 17 13:02:01 2020 New Revision: 364302 URL: https://svnweb.freebsd.org/changeset/base/364302 Log: Remove the VM map zone. Today, the zone is only used to allocate a trio of kernel maps: the kernel map itself, and the exec and pipe submaps. Maps for user processes are dynamically allocated but are embedded in the vmspace structure, which is allocated from its own zone. Make the aforementioned kernel maps statically allocated and get rid of the zone. While here, remove a stale comment above vmspace_alloc() and change the names of locks initialized in vm_map_init() to match vmspace_zinit(). Reported by: alc Reviewed by: alc, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26052 Modified: head/sys/vm/vm_extern.h head/sys/vm/vm_init.c head/sys/vm/vm_kern.c head/sys/vm/vm_kern.h head/sys/vm/vm_map.c head/sys/vm/vm_map.h Modified: head/sys/vm/vm_extern.h ============================================================================== --- head/sys/vm/vm_extern.h Mon Aug 17 12:52:57 2020 (r364301) +++ head/sys/vm/vm_extern.h Mon Aug 17 13:02:01 2020 (r364302) @@ -77,8 +77,8 @@ void kmem_unback(vm_object_t, vm_offset_t, vm_size_t); /* Bootstrapping. */ void kmem_bootstrap_free(vm_offset_t, vm_size_t); -vm_map_t kmem_suballoc(vm_map_t, vm_offset_t *, vm_offset_t *, vm_size_t, - boolean_t); +void kmem_subinit(vm_map_t, vm_map_t, vm_offset_t *, vm_offset_t *, vm_size_t, + bool); void kmem_init(vm_offset_t, vm_offset_t); void kmem_init_zero_region(void); void kmeminit(void); Modified: head/sys/vm/vm_init.c ============================================================================== --- head/sys/vm/vm_init.c Mon Aug 17 12:52:57 2020 (r364301) +++ head/sys/vm/vm_init.c Mon Aug 17 13:02:01 2020 (r364302) @@ -253,8 +253,8 @@ again: exec_map_entries = 2 * mp_ncpus + 4; #endif exec_map_entry_size = round_page(PATH_MAX + ARG_MAX); - exec_map = kmem_suballoc(kernel_map, &minaddr, &maxaddr, - exec_map_entries * exec_map_entry_size + 64 * PAGE_SIZE, FALSE); - pipe_map = kmem_suballoc(kernel_map, &minaddr, &maxaddr, maxpipekva, - FALSE); + kmem_subinit(exec_map, kernel_map, &minaddr, &maxaddr, + exec_map_entries * exec_map_entry_size + 64 * PAGE_SIZE, false); + kmem_subinit(pipe_map, kernel_map, &minaddr, &maxaddr, maxpipekva, + false); } Modified: head/sys/vm/vm_kern.c ============================================================================== --- head/sys/vm/vm_kern.c Mon Aug 17 12:52:57 2020 (r364301) +++ head/sys/vm/vm_kern.c Mon Aug 17 13:02:01 2020 (r364302) @@ -97,9 +97,9 @@ __FBSDID("$FreeBSD$"); #include #include -vm_map_t kernel_map; -vm_map_t exec_map; -vm_map_t pipe_map; +struct vm_map kernel_map_store; +struct vm_map exec_map_store; +struct vm_map pipe_map_store; const void *zero_region; CTASSERT((ZERO_REGION_SIZE & PAGE_MASK) == 0); @@ -359,9 +359,9 @@ kmem_alloc_contig_domainset(struct domainset *ds, vm_s } /* - * kmem_suballoc: + * kmem_subinit: * - * Allocates a map to manage a subrange + * Initializes a map to manage a subrange * of the kernel virtual address space. * * Arguments are as follows: @@ -371,12 +371,11 @@ kmem_alloc_contig_domainset(struct domainset *ds, vm_s * size Size of range to find * superpage_align Request that min is superpage aligned */ -vm_map_t -kmem_suballoc(vm_map_t parent, vm_offset_t *min, vm_offset_t *max, - vm_size_t size, boolean_t superpage_align) +void +kmem_subinit(vm_map_t map, vm_map_t parent, vm_offset_t *min, vm_offset_t *max, + vm_size_t size, bool superpage_align) { int ret; - vm_map_t result; size = round_page(size); @@ -385,14 +384,11 @@ kmem_suballoc(vm_map_t parent, vm_offset_t *min, vm_of VMFS_SUPER_SPACE : VMFS_ANY_SPACE, VM_PROT_ALL, VM_PROT_ALL, MAP_ACC_NO_CHARGE); if (ret != KERN_SUCCESS) - panic("kmem_suballoc: bad status return of %d", ret); + panic("kmem_subinit: bad status return of %d", ret); *max = *min + size; - result = vm_map_create(vm_map_pmap(parent), *min, *max); - if (result == NULL) - panic("kmem_suballoc: cannot create submap"); - if (vm_map_submap(parent, *min, *max, result) != KERN_SUCCESS) - panic("kmem_suballoc: unable to change range to submap"); - return (result); + vm_map_init(map, vm_map_pmap(parent), *min, *max); + if (vm_map_submap(parent, *min, *max, map) != KERN_SUCCESS) + panic("kmem_subinit: unable to change range to submap"); } /* @@ -772,12 +768,12 @@ kmem_init(vm_offset_t start, vm_offset_t end) * that handle vm_page_array allocation can simply adjust virtual_avail * instead. */ - (void)vm_map_insert(m, NULL, 0, (vm_offset_t)vm_page_array, + (void)vm_map_insert(kernel_map, NULL, 0, (vm_offset_t)vm_page_array, (vm_offset_t)vm_page_array + round_2mpage(vm_page_array_size * sizeof(struct vm_page)), VM_PROT_RW, VM_PROT_RW, MAP_NOFAULT); #endif - vm_map_unlock(m); + vm_map_unlock(kernel_map); /* * Initialize the kernel_arena. This can grow on demand. Modified: head/sys/vm/vm_kern.h ============================================================================== --- head/sys/vm/vm_kern.h Mon Aug 17 12:52:57 2020 (r364301) +++ head/sys/vm/vm_kern.h Mon Aug 17 13:02:01 2020 (r364302) @@ -66,9 +66,12 @@ #define _VM_VM_KERN_H_ /* Kernel memory management definitions. */ -extern vm_map_t kernel_map; -extern vm_map_t exec_map; -extern vm_map_t pipe_map; +extern struct vm_map kernel_map_store; +#define kernel_map (&kernel_map_store) +extern struct vm_map exec_map_store; +#define exec_map (&exec_map_store) +extern struct vm_map pipe_map_store; +#define pipe_map (&pipe_map_store) extern struct vmem *kernel_arena; extern struct vmem *kmem_arena; extern struct vmem *buffer_arena; Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Mon Aug 17 12:52:57 2020 (r364301) +++ head/sys/vm/vm_map.c Mon Aug 17 13:02:01 2020 (r364302) @@ -128,10 +128,8 @@ __FBSDID("$FreeBSD$"); static struct mtx map_sleep_mtx; static uma_zone_t mapentzone; static uma_zone_t kmapentzone; -static uma_zone_t mapzone; static uma_zone_t vmspace_zone; static int vmspace_zinit(void *mem, int size, int flags); -static int vm_map_zinit(void *mem, int ize, int flags); static void _vm_map_init(vm_map_t map, pmap_t pmap, vm_offset_t min, vm_offset_t max); static void vm_map_entry_deallocate(vm_map_entry_t entry, boolean_t system_map); @@ -142,7 +140,6 @@ static int vm_map_growstack(vm_map_t map, vm_offset_t static void vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, vm_object_t object, vm_pindex_t pindex, vm_size_t size, int flags); #ifdef INVARIANTS -static void vm_map_zdtor(void *mem, int size, void *arg); static void vmspace_zdtor(void *mem, int size, void *arg); #endif static int vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, @@ -198,14 +195,6 @@ void vm_map_startup(void) { mtx_init(&map_sleep_mtx, "vm map sleep mutex", NULL, MTX_DEF); - mapzone = uma_zcreate("MAP", sizeof(struct vm_map), NULL, -#ifdef INVARIANTS - vm_map_zdtor, -#else - NULL, -#endif - vm_map_zinit, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); - uma_prealloc(mapzone, MAX_KMAP); kmapentzone = uma_zcreate("KMAP ENTRY", sizeof(struct vm_map_entry), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_MTXCLASS | UMA_ZONE_VM); @@ -224,24 +213,16 @@ static int vmspace_zinit(void *mem, int size, int flags) { struct vmspace *vm; + vm_map_t map; vm = (struct vmspace *)mem; + map = &vm->vm_map; - vm->vm_map.pmap = NULL; - (void)vm_map_zinit(&vm->vm_map, sizeof(vm->vm_map), flags); - PMAP_LOCK_INIT(vmspace_pmap(vm)); - return (0); -} - -static int -vm_map_zinit(void *mem, int size, int flags) -{ - vm_map_t map; - - map = (vm_map_t)mem; memset(map, 0, sizeof(*map)); - mtx_init(&map->system_mtx, "vm map (system)", NULL, MTX_DEF | MTX_DUPOK); + mtx_init(&map->system_mtx, "vm map (system)", NULL, + MTX_DEF | MTX_DUPOK); sx_init(&map->lock, "vm map (user)"); + PMAP_LOCK_INIT(vmspace_pmap(vm)); return (0); } @@ -252,29 +233,16 @@ vmspace_zdtor(void *mem, int size, void *arg) struct vmspace *vm; vm = (struct vmspace *)mem; - - vm_map_zdtor(&vm->vm_map, sizeof(vm->vm_map), arg); + KASSERT(vm->vm_map.nentries == 0, + ("vmspace %p nentries == %d on free", vm, vm->vm_map.nentries)); + KASSERT(vm->vm_map.size == 0, + ("vmspace %p size == %ju on free", vm, (uintmax_t)vm->vm_map.size)); } -static void -vm_map_zdtor(void *mem, int size, void *arg) -{ - vm_map_t map; - - map = (vm_map_t)mem; - KASSERT(map->nentries == 0, - ("map %p nentries == %d on free.", - map, map->nentries)); - KASSERT(map->size == 0, - ("map %p size == %lu on free.", - map, (unsigned long)map->size)); -} #endif /* INVARIANTS */ /* * Allocate a vmspace structure, including a vm_map and pmap, * and initialize those structures. The refcnt is set to 1. - * - * If 'pinit' is NULL then the embedded pmap is initialized via pmap_pinit(). */ struct vmspace * vmspace_alloc(vm_offset_t min, vm_offset_t max, pmap_pinit_t pinit) @@ -871,24 +839,6 @@ vmspace_resident_count(struct vmspace *vmspace) } /* - * vm_map_create: - * - * Creates and returns a new empty VM map with - * the given physical map structure, and having - * the given lower and upper address bounds. - */ -vm_map_t -vm_map_create(pmap_t pmap, vm_offset_t min, vm_offset_t max) -{ - vm_map_t result; - - result = uma_zalloc(mapzone, M_WAITOK); - CTR1(KTR_VM, "vm_map_create: %p", result); - _vm_map_init(result, pmap, min, max); - return (result); -} - -/* * Initialize an existing vm_map structure * such as that in the vmspace structure. */ @@ -918,8 +868,9 @@ vm_map_init(vm_map_t map, pmap_t pmap, vm_offset_t min { _vm_map_init(map, pmap, min, max); - mtx_init(&map->system_mtx, "system map", NULL, MTX_DEF | MTX_DUPOK); - sx_init(&map->lock, "user map"); + mtx_init(&map->system_mtx, "vm map (system)", NULL, + MTX_DEF | MTX_DUPOK); + sx_init(&map->lock, "vm map (user)"); } /* Modified: head/sys/vm/vm_map.h ============================================================================== --- head/sys/vm/vm_map.h Mon Aug 17 12:52:57 2020 (r364301) +++ head/sys/vm/vm_map.h Mon Aug 17 13:02:01 2020 (r364302) @@ -351,10 +351,6 @@ bool vm_map_range_valid_KBI(vm_map_t map, vm_offset_t long vmspace_resident_count(struct vmspace *vmspace); #endif /* _KERNEL */ - -/* XXX: number of kernel maps to statically allocate */ -#define MAX_KMAP 10 - /* * Copy-on-write flags for vm_map operations */ @@ -459,7 +455,6 @@ vm_map_entry_read_succ(void *token, struct vm_map_entr #ifdef _KERNEL boolean_t vm_map_check_protection (vm_map_t, vm_offset_t, vm_offset_t, vm_prot_t); -vm_map_t vm_map_create(pmap_t, vm_offset_t, vm_offset_t); int vm_map_delete(vm_map_t, vm_offset_t, vm_offset_t); int vm_map_find(vm_map_t, vm_object_t, vm_ooffset_t, vm_offset_t *, vm_size_t, vm_offset_t, int, vm_prot_t, vm_prot_t, int); From owner-svn-src-all@freebsd.org Mon Aug 17 13:04:19 2020 Return-Path: Delivered-To: svn-src-all@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 DF2303B22B0; Mon, 17 Aug 2020 13:04:19 +0000 (UTC) (envelope-from bz@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 4BVZ4g5bddz4g8x; Mon, 17 Aug 2020 13:04:19 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A35C12141E; Mon, 17 Aug 2020 13:04:19 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HD4JLl065611; Mon, 17 Aug 2020 13:04:19 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HD4Ieh065607; Mon, 17 Aug 2020 13:04:18 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008171304.07HD4Ieh065607@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 13:04:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364303 - in head: sbin/ifconfig sys/net80211 X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: in head: sbin/ifconfig sys/net80211 X-SVN-Commit-Revision: 364303 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 13:04:19 -0000 Author: bz Date: Mon Aug 17 13:04:18 2020 New Revision: 364303 URL: https://svnweb.freebsd.org/changeset/base/364303 Log: 80211: consistently order 160 and 80+80 For flags and checks the order goes VHT160 and then VHT80P80 unless checks are in reverse order ("more comes first") in which case we deal with VHT80P80 first. The one reverse order to pick out is where we check channel prefernences. While it may seem that VHT160 is better, finding two "free" channels (VHT 80+80) is more likely so we do prefer that. While dealing with VHT160 and VHT80P80 add extra clauses previously missing or marked TODO in a few places. Reviewed by: adrian, gnn MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Differential Revision: https://reviews.freebsd.org/D26002 Modified: head/sbin/ifconfig/ifieee80211.c head/sys/net80211/_ieee80211.h head/sys/net80211/ieee80211.c head/sys/net80211/ieee80211_vht.c Modified: head/sbin/ifconfig/ifieee80211.c ============================================================================== --- head/sbin/ifconfig/ifieee80211.c Mon Aug 17 13:02:01 2020 (r364302) +++ head/sbin/ifconfig/ifieee80211.c Mon Aug 17 13:04:18 2020 (r364303) @@ -2176,8 +2176,6 @@ regdomain_addchans(struct ieee80211req_chaninfo *ci, /* * VHT first - HT is a subset. - * - * XXX TODO: VHT80P80, VHT160 is not yet done. */ if (flags & IEEE80211_CHAN_VHT) { if ((chanFlags & IEEE80211_CHAN_VHT20) && @@ -2201,7 +2199,20 @@ regdomain_addchans(struct ieee80211req_chaninfo *ci, "VHT80 channel\n", freq); continue; } - + if ((chanFlags & IEEE80211_CHAN_VHT160) && + (flags & IEEE80211_CHAN_VHT160) == 0) { + if (verbose) + printf("%u: skip, not a " + "VHT160 channel\n", freq); + continue; + } + if ((chanFlags & IEEE80211_CHAN_VHT80P80) && + (flags & IEEE80211_CHAN_VHT80P80) == 0) { + if (verbose) + printf("%u: skip, not a " + "VHT80+80 channel\n", freq); + continue; + } flags &= ~IEEE80211_CHAN_VHT; flags |= chanFlags & IEEE80211_CHAN_VHT; } @@ -3958,8 +3969,11 @@ get_chaninfo(const struct ieee80211_channel *c, int pr if (IEEE80211_IS_CHAN_TURBO(c)) strlcat(buf, " Turbo", bsize); if (precise) { - /* XXX should make VHT80U, VHT80D */ - if (IEEE80211_IS_CHAN_VHT80(c) && + if (IEEE80211_IS_CHAN_VHT80P80(c)) + strlcat(buf, " vht/80p80", bsize); + else if (IEEE80211_IS_CHAN_VHT160(c)) + strlcat(buf, " vht/160", bsize); + else if (IEEE80211_IS_CHAN_VHT80(c) && IEEE80211_IS_CHAN_HT40D(c)) strlcat(buf, " vht/80-", bsize); else if (IEEE80211_IS_CHAN_VHT80(c) && @@ -4013,10 +4027,11 @@ print_chaninfo(const struct ieee80211_channel *c, int static int chanpref(const struct ieee80211_channel *c) { + + if (IEEE80211_IS_CHAN_VHT80P80(c)) + return 90; if (IEEE80211_IS_CHAN_VHT160(c)) return 80; - if (IEEE80211_IS_CHAN_VHT80P80(c)) - return 75; if (IEEE80211_IS_CHAN_VHT80(c)) return 70; if (IEEE80211_IS_CHAN_VHT40(c)) Modified: head/sys/net80211/_ieee80211.h ============================================================================== --- head/sys/net80211/_ieee80211.h Mon Aug 17 13:02:01 2020 (r364302) +++ head/sys/net80211/_ieee80211.h Mon Aug 17 13:04:18 2020 (r364303) @@ -157,7 +157,7 @@ struct ieee80211_channel { /* * Note: for VHT operation we will need significantly more than * IEEE80211_CHAN_MAX channels because of the combinations of - * VHT20, VHT40, VHT80, VHT80+80 and VHT160. + * VHT20, VHT40, VHT80, VHT160, and VHT80+80. */ #define IEEE80211_CHAN_MAX 1024 #define IEEE80211_CHAN_BYTES howmany(IEEE80211_CHAN_MAX, NBBY) @@ -194,8 +194,8 @@ struct ieee80211_channel { #define IEEE80211_CHAN_VHT40U 0x02000000 /* VHT40 channel, ext above */ #define IEEE80211_CHAN_VHT40D 0x04000000 /* VHT40 channel, ext below */ #define IEEE80211_CHAN_VHT80 0x08000000 /* VHT80 channel */ -#define IEEE80211_CHAN_VHT80P80 0x10000000 /* VHT80+80 channel */ -#define IEEE80211_CHAN_VHT160 0x20000000 /* VHT160 channel */ +#define IEEE80211_CHAN_VHT160 0x10000000 /* VHT160 channel */ +#define IEEE80211_CHAN_VHT80P80 0x20000000 /* VHT80+80 channel */ /* XXX note: 0x80000000 is used in src/sbin/ifconfig/ifieee80211.c :( */ #define IEEE80211_CHAN_HT40 (IEEE80211_CHAN_HT40U | IEEE80211_CHAN_HT40D) @@ -203,14 +203,14 @@ struct ieee80211_channel { #define IEEE80211_CHAN_VHT40 (IEEE80211_CHAN_VHT40U | IEEE80211_CHAN_VHT40D) #define IEEE80211_CHAN_VHT (IEEE80211_CHAN_VHT20 | IEEE80211_CHAN_VHT40 \ - | IEEE80211_CHAN_VHT80 | IEEE80211_CHAN_VHT80P80 \ - | IEEE80211_CHAN_VHT160) + | IEEE80211_CHAN_VHT80 | IEEE80211_CHAN_VHT160 \ + | IEEE80211_CHAN_VHT80P80) #define IEEE80211_CHAN_BITS \ "\20\1PRIV0\2PRIV2\3PRIV3\4PRIV4\5TURBO\6CCK\7OFDM\0102GHZ\0115GHZ" \ "\12PASSIVE\13DYN\14GFSK\15GSM\16STURBO\17HALF\20QUARTER\21HT20" \ "\22HT40U\23HT40D\24DFS\0254MSXMIT\26NOADHOC\27NOHOSTAP\03011D" \ - "\031VHT20\032VHT40U\033VHT40D\034VHT80\035VHT80P80\036VHT160" + "\031VHT20\032VHT40U\033VHT40D\034VHT80\035VHT160\036VHT80P80" /* * Useful combinations of channel characteristics. @@ -337,10 +337,10 @@ struct ieee80211_channel { ((_c)->ic_flags & IEEE80211_CHAN_VHT) != 0) #define IEEE80211_IS_CHAN_VHT80(_c) \ (((_c)->ic_flags & IEEE80211_CHAN_VHT80) != 0) -#define IEEE80211_IS_CHAN_VHT80P80(_c) \ - (((_c)->ic_flags & IEEE80211_CHAN_VHT80P80) != 0) #define IEEE80211_IS_CHAN_VHT160(_c) \ (((_c)->ic_flags & IEEE80211_CHAN_VHT160) != 0) +#define IEEE80211_IS_CHAN_VHT80P80(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_VHT80P80) != 0) #define IEEE80211_CHAN2IEEE(_c) (_c)->ic_ieee Modified: head/sys/net80211/ieee80211.c ============================================================================== --- head/sys/net80211/ieee80211.c Mon Aug 17 13:02:01 2020 (r364302) +++ head/sys/net80211/ieee80211.c Mon Aug 17 13:04:18 2020 (r364303) @@ -1367,8 +1367,8 @@ getflags_5ghz(const uint8_t bands[], uint32_t flags[], IEEE80211_CHAN_HT40D | IEEE80211_CHAN_VHT80; } - /* XXX VHT80+80 */ /* XXX VHT160 */ + /* XXX VHT80+80 */ flags[nmodes] = 0; } @@ -1555,6 +1555,9 @@ add_chanlist(struct ieee80211_channel chans[], int max * check used for (V)HT40. */ is_vht = !! (flags[j] & IEEE80211_CHAN_VHT); + + /* XXX TODO FIXME VHT80P80. */ + /* XXX TODO FIXME VHT160. */ /* * Test for VHT80. Modified: head/sys/net80211/ieee80211_vht.c ============================================================================== --- head/sys/net80211/ieee80211_vht.c Mon Aug 17 13:02:01 2020 (r364302) +++ head/sys/net80211/ieee80211_vht.c Mon Aug 17 13:04:18 2020 (r364303) @@ -211,10 +211,10 @@ ieee80211_vht_announce(struct ieee80211com *ic) /* Channel width */ ic_printf(ic, "[VHT] Channel Widths: 20MHz, 40MHz, 80MHz"); - if (MS(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2) - printf(" 80+80MHz"); if (MS(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= 1) printf(" 160MHz"); + if (MS(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2) + printf(" 80+80MHz"); printf("\n"); /* Features */ From owner-svn-src-all@freebsd.org Mon Aug 17 13:08:04 2020 Return-Path: Delivered-To: svn-src-all@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 EBBAA3B22D6; Mon, 17 Aug 2020 13:08:04 +0000 (UTC) (envelope-from markj@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 4BVZ905yV0z4g7c; Mon, 17 Aug 2020 13:08:04 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B04DA21265; Mon, 17 Aug 2020 13:08:04 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HD84Op065831; Mon, 17 Aug 2020 13:08:04 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HD84YI065830; Mon, 17 Aug 2020 13:08:04 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008171308.07HD84YI065830@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 17 Aug 2020 13:08:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364304 - head/usr.bin/cpuset X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/usr.bin/cpuset X-SVN-Commit-Revision: 364304 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 13:08:05 -0000 Author: markj Date: Mon Aug 17 13:08:04 2020 New Revision: 364304 URL: https://svnweb.freebsd.org/changeset/base/364304 Log: cpuset(1): Update the usage message. Parameters related to domain selection were not listed. MFC after: 1 week Sponsored by: Juniper Networks, Klara Inc. Modified: head/usr.bin/cpuset/cpuset.c Modified: head/usr.bin/cpuset/cpuset.c ============================================================================== --- head/usr.bin/cpuset/cpuset.c Mon Aug 17 13:04:18 2020 (r364303) +++ head/usr.bin/cpuset/cpuset.c Mon Aug 17 13:08:04 2020 (r364304) @@ -458,15 +458,16 @@ usage(void) { fprintf(stderr, - "usage: cpuset [-l cpu-list] [-s setid] cmd ...\n"); + "usage: cpuset [-l cpu-list] [-n policy:domain-list] [-s setid] cmd ...\n"); fprintf(stderr, - " cpuset [-l cpu-list] [-s setid] -p pid\n"); + " cpuset [-l cpu-list] [-n policy:domain-list] [-s setid] -p pid\n"); fprintf(stderr, - " cpuset [-c] [-l cpu-list] -C -p pid\n"); + " cpuset [-c] [-l cpu-list] [-n policy:domain-list] -C -p pid\n"); fprintf(stderr, - " cpuset [-c] [-l cpu-list] [-j jailid | -p pid | -t tid | -s setid | -x irq]\n"); + " cpuset [-c] [-l cpu-list] [-n policy:domain-list]\n" + " [-j jailid | -p pid | -t tid | -s setid | -x irq]\n"); fprintf(stderr, - " cpuset -g [-cir] [-d domain | -j jailid | -p pid | -t tid | -s setid |\n" - " -x irq]\n"); + " cpuset -g [-cir]\n" + " [-d domain | -j jailid | -p pid | -t tid | -s setid | -x irq]\n"); exit(1); } From owner-svn-src-all@freebsd.org Mon Aug 17 13:51:25 2020 Return-Path: Delivered-To: svn-src-all@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 CADC83B36C5; Mon, 17 Aug 2020 13:51:25 +0000 (UTC) (envelope-from bz@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 4BVb714zK3z3Tlc; Mon, 17 Aug 2020 13:51:25 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8F4E121DAD; Mon, 17 Aug 2020 13:51:25 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HDpPsn090717; Mon, 17 Aug 2020 13:51:25 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HDpPEk090716; Mon, 17 Aug 2020 13:51:25 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008171351.07HDpPEk090716@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 13:51:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364305 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 364305 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 13:51:25 -0000 Author: bz Date: Mon Aug 17 13:51:25 2020 New Revision: 364305 URL: https://svnweb.freebsd.org/changeset/base/364305 Log: For consistency and to avoid any problems getting past the 31bit boundry change the last two IF_Mbps(2500) and additionally one IF_Mbps(5000) to ULL as well. MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Modified: head/sys/net/if_media.h Modified: head/sys/net/if_media.h ============================================================================== --- head/sys/net/if_media.h Mon Aug 17 13:08:04 2020 (r364304) +++ head/sys/net/if_media.h Mon Aug 17 13:51:25 2020 (r364305) @@ -807,9 +807,9 @@ struct ifmedia_baudrate { { IFM_ETHER | IFM_10G_KR, IF_Gbps(10ULL) }, \ { IFM_ETHER | IFM_10G_CR1, IF_Gbps(10ULL) }, \ { IFM_ETHER | IFM_20G_KR2, IF_Gbps(20ULL) }, \ - { IFM_ETHER | IFM_2500_KX, IF_Mbps(2500) }, \ - { IFM_ETHER | IFM_2500_T, IF_Mbps(2500) }, \ - { IFM_ETHER | IFM_5000_T, IF_Mbps(5000) }, \ + { IFM_ETHER | IFM_2500_KX, IF_Mbps(2500ULL) }, \ + { IFM_ETHER | IFM_2500_T, IF_Mbps(2500ULL) }, \ + { IFM_ETHER | IFM_5000_T, IF_Mbps(5000ULL) }, \ { IFM_ETHER | IFM_50G_PCIE, IF_Gbps(50ULL) }, \ { IFM_ETHER | IFM_25G_PCIE, IF_Gbps(25ULL) }, \ { IFM_ETHER | IFM_1000_SGMII, IF_Mbps(1000) }, \ From owner-svn-src-all@freebsd.org Mon Aug 17 14:06:52 2020 Return-Path: Delivered-To: svn-src-all@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 421DC3B3570; Mon, 17 Aug 2020 14:06:52 +0000 (UTC) (envelope-from markj@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 4BVbSr129Rz3V5v; Mon, 17 Aug 2020 14:06:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0755322017; Mon, 17 Aug 2020 14:06:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HE6pJB002789; Mon, 17 Aug 2020 14:06:51 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HE6pFh002788; Mon, 17 Aug 2020 14:06:51 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008171406.07HE6pFh002788@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 17 Aug 2020 14:06:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364306 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 364306 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 14:06:52 -0000 Author: markj Date: Mon Aug 17 14:06:51 2020 New Revision: 364306 URL: https://svnweb.freebsd.org/changeset/base/364306 Log: Commit a missing piece of r364302. This had failed to apply due to a merge conflict. Reported by: Jenkins MFC with: r364302 Modified: head/sys/vm/vm_kern.c Modified: head/sys/vm/vm_kern.c ============================================================================== --- head/sys/vm/vm_kern.c Mon Aug 17 13:51:25 2020 (r364305) +++ head/sys/vm/vm_kern.c Mon Aug 17 14:06:51 2020 (r364306) @@ -745,15 +745,13 @@ kva_import_domain(void *arena, vmem_size_t size, int f void kmem_init(vm_offset_t start, vm_offset_t end) { - vm_map_t m; int domain; - m = vm_map_create(kernel_pmap, VM_MIN_KERNEL_ADDRESS, end); - m->system_map = 1; - vm_map_lock(m); + vm_map_init(kernel_map, kernel_pmap, VM_MIN_KERNEL_ADDRESS, end); + kernel_map->system_map = 1; + vm_map_lock(kernel_map); /* N.B.: cannot use kgdb to debug, starting with this assignment ... */ - kernel_map = m; - (void)vm_map_insert(m, NULL, 0, + (void)vm_map_insert(kernel_map, NULL, 0, #ifdef __amd64__ KERNBASE, #else From owner-svn-src-all@freebsd.org Mon Aug 17 14:07:30 2020 Return-Path: Delivered-To: svn-src-all@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 2EC0C3B357C; Mon, 17 Aug 2020 14:07:30 +0000 (UTC) (envelope-from emaste@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 4BVbTZ0XJ7z3VNf; Mon, 17 Aug 2020 14:07:30 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E9B5321F9D; Mon, 17 Aug 2020 14:07:29 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HE7TT1002870; Mon, 17 Aug 2020 14:07:29 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HE7TsH002869; Mon, 17 Aug 2020 14:07:29 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008171407.07HE7TsH002869@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 17 Aug 2020 14:07:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364307 - head X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 364307 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 14:07:30 -0000 Author: emaste Date: Mon Aug 17 14:07:29 2020 New Revision: 364307 URL: https://svnweb.freebsd.org/changeset/base/364307 Log: Add libprivateevent libs to ObsoleteFiles.inc Missed in r361607 Reported by: dim Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Mon Aug 17 14:06:51 2020 (r364306) +++ head/ObsoleteFiles.inc Mon Aug 17 14:07:29 2020 (r364307) @@ -535,6 +535,10 @@ OLD_LIBS+=usr/lib32/padlock.so # 20200528: libevent renamed libevent1 OLD_FILES+=usr/include/private/event/event.h +OLD_FILES+=usr/lib/libprivateevent.a +OLD_FILES+=usr/lib/libprivateevent.so +OLD_FILES+=usr/lib/libprivateevent.so.1 +OLD_FILES+=usr/lib/libprivateevent_p.a OLD_DIRS+=usr/include/private/event # 20200523: new clang import which bumps version from 10.0.0 to 10.0.1. From owner-svn-src-all@freebsd.org Mon Aug 17 15:05:42 2020 Return-Path: Delivered-To: svn-src-all@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 8EDE13B4570; Mon, 17 Aug 2020 15:05:42 +0000 (UTC) (envelope-from pfg@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 4BVcmk3GMhz3YMN; Mon, 17 Aug 2020 15:05:42 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4FC7D22758; Mon, 17 Aug 2020 15:05:42 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HF5gA5039508; Mon, 17 Aug 2020 15:05:42 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HF5gQL039507; Mon, 17 Aug 2020 15:05:42 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <202008171505.07HF5gQL039507@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 17 Aug 2020 15:05:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364308 - head/sys/fs/ext2fs X-SVN-Group: head X-SVN-Commit-Author: pfg X-SVN-Commit-Paths: head/sys/fs/ext2fs X-SVN-Commit-Revision: 364308 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 15:05:42 -0000 Author: pfg Date: Mon Aug 17 15:05:41 2020 New Revision: 364308 URL: https://svnweb.freebsd.org/changeset/base/364308 Log: extfs: remove redundant little endian conversion. The NSEC_TO_XTIME macro already calls the htole32(), so there is no need to call it twice. This code does nothing on LE platforms and affects only nanosecond and birthtime fields so it's difficult to notice on regular use. X-MFC with: r361136 Modified: head/sys/fs/ext2fs/ext2_inode_cnv.c Modified: head/sys/fs/ext2fs/ext2_inode_cnv.c ============================================================================== --- head/sys/fs/ext2fs/ext2_inode_cnv.c Mon Aug 17 14:07:29 2020 (r364307) +++ head/sys/fs/ext2fs/ext2_inode_cnv.c Mon Aug 17 15:05:41 2020 (r364308) @@ -213,11 +213,11 @@ ext2_i2ei(struct inode *ip, struct ext2fs_dinode *ei) ei->e2di_dtime = htole32(le16toh(ei->e2di_nlink) ? 0 : le32toh(ei->e2di_mtime)); if (E2DI_HAS_XTIME(ip)) { - ei->e2di_ctime_extra = htole32(NSEC_TO_XTIME(ip->i_ctimensec)); - ei->e2di_mtime_extra = htole32(NSEC_TO_XTIME(ip->i_mtimensec)); - ei->e2di_atime_extra = htole32(NSEC_TO_XTIME(ip->i_atimensec)); + ei->e2di_ctime_extra = NSEC_TO_XTIME(ip->i_ctimensec); + ei->e2di_mtime_extra = NSEC_TO_XTIME(ip->i_mtimensec); + ei->e2di_atime_extra = NSEC_TO_XTIME(ip->i_atimensec); ei->e2di_crtime = htole32(ip->i_birthtime); - ei->e2di_crtime_extra = htole32(NSEC_TO_XTIME(ip->i_birthnsec)); + ei->e2di_crtime_extra = NSEC_TO_XTIME(ip->i_birthnsec); } /* Keep these in host endian for a while since they change a lot */ ei->e2di_flags = 0; From owner-svn-src-all@freebsd.org Mon Aug 17 15:11:47 2020 Return-Path: Delivered-To: svn-src-all@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 706F33B51BD; Mon, 17 Aug 2020 15:11:47 +0000 (UTC) (envelope-from mav@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 4BVcvl2RQpz3YcD; Mon, 17 Aug 2020 15:11:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3774522B1E; Mon, 17 Aug 2020 15:11:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HFBlFj044727; Mon, 17 Aug 2020 15:11:47 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HFBkVn044725; Mon, 17 Aug 2020 15:11:46 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202008171511.07HFBkVn044725@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 17 Aug 2020 15:11:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364309 - head/sys/cam/scsi X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/cam/scsi X-SVN-Commit-Revision: 364309 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 15:11:47 -0000 Author: mav Date: Mon Aug 17 15:11:46 2020 New Revision: 364309 URL: https://svnweb.freebsd.org/changeset/base/364309 Log: Extend EIIOE field handling according to ses4r5 draft. It should not affect any existing systems. MFC after: 2 weeks Modified: head/sys/cam/scsi/scsi_enc_ses.c head/sys/cam/scsi/scsi_ses.h Modified: head/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- head/sys/cam/scsi/scsi_enc_ses.c Mon Aug 17 15:05:41 2020 (r364308) +++ head/sys/cam/scsi/scsi_enc_ses.c Mon Aug 17 15:11:46 2020 (r364309) @@ -1797,7 +1797,7 @@ ses_process_elm_addlstatus(enc_softc_t *enc, struct en ses_elem_index_type_t index_type; eip_hdr = (struct ses_elm_addlstatus_eip_hdr *)elm_hdr; - if (eip_hdr->byte2 & SES_ADDL_EIP_EIIOE) { + if (SES_ADDL_EIP_EIIOE_EI_GLOB(eip_hdr->byte2)) { index_type = SES_ELEM_INDEX_GLOBAL; expected_index = iter.global_element_index; } else { @@ -1807,8 +1807,8 @@ ses_process_elm_addlstatus(enc_softc_t *enc, struct en if (eip_hdr->element_index < expected_index) { ENC_VLOG(enc, "%s: provided %selement index " "%d is lower then expected %d\n", - __func__, (eip_hdr->byte2 & - SES_ADDL_EIP_EIIOE) ? "global " : "", + __func__, SES_ADDL_EIP_EIIOE_EI_GLOB( + eip_hdr->byte2) ? "global " : "", eip_hdr->element_index, expected_index); goto badindex; } @@ -1818,7 +1818,7 @@ ses_process_elm_addlstatus(enc_softc_t *enc, struct en if (telement == NULL) { ENC_VLOG(enc, "%s: provided %selement index " "%d does not exist\n", __func__, - (eip_hdr->byte2 & SES_ADDL_EIP_EIIOE) ? + SES_ADDL_EIP_EIIOE_EI_GLOB(eip_hdr->byte2) ? "global " : "", eip_hdr->element_index); goto badindex; } @@ -1827,7 +1827,7 @@ ses_process_elm_addlstatus(enc_softc_t *enc, struct en ENC_VLOG(enc, "%s: provided %selement index " "%d can't have additional status\n", __func__, - (eip_hdr->byte2 & SES_ADDL_EIP_EIIOE) ? + SES_ADDL_EIP_EIIOE_EI_GLOB(eip_hdr->byte2) ? "global " : "", eip_hdr->element_index); badindex: /* @@ -1843,7 +1843,7 @@ badindex: element = telement; } - if (eip_hdr->byte2 & SES_ADDL_EIP_EIIOE) + if (SES_ADDL_EIP_EIIOE_EI_GLOB(eip_hdr->byte2)) index = iter.global_element_index; else index = iter.individual_element_index; @@ -1852,8 +1852,8 @@ badindex: ENC_VLOG(enc, "%s: provided %s element" "index %d skips mandatory status " " element at index %d\n", - __func__, (eip_hdr->byte2 & - SES_ADDL_EIP_EIIOE) ? "global " : "", + __func__, SES_ADDL_EIP_EIIOE_EI_GLOB( + eip_hdr->byte2) ? "global " : "", index, expected_index); } } Modified: head/sys/cam/scsi/scsi_ses.h ============================================================================== --- head/sys/cam/scsi/scsi_ses.h Mon Aug 17 15:05:41 2020 (r364308) +++ head/sys/cam/scsi/scsi_ses.h Mon Aug 17 15:11:46 2020 (r364309) @@ -2439,7 +2439,13 @@ int ses_elm_addlstatus_invalid(struct ses_elm_addlstat struct ses_elm_addlstatus_eip_hdr { struct ses_elm_addlstatus_base_hdr base; uint8_t byte2; -#define SES_ADDL_EIP_EIIOE 1 +#define SES_ADDL_EIP_EIIOE_MASK 3 +#define SES_ADDL_EIP_EIIOE_SES2 0 +#define SES_ADDL_EIP_EIIOE_GLOB 1 +#define SES_ADDL_EIP_EIIOE_IND 2 +#define SES_ADDL_EIP_EIIOE_MIX 3 +#define SES_ADDL_EIP_EIIOE_EI_GLOB(x) \ + (((x) & SES_ADDL_EIP_EIIOE_MASK) == SES_ADDL_EIP_EIIOE_GLOB) uint8_t element_index; /* NB: This define (currently) applies to all eip=1 headers */ #define SES_EIP_HDR_EXTRA_LEN 2 From owner-svn-src-all@freebsd.org Mon Aug 17 15:37:09 2020 Return-Path: Delivered-To: svn-src-all@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 746823B5C88; Mon, 17 Aug 2020 15:37:09 +0000 (UTC) (envelope-from glebius@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 4BVdT12W2Pz3Zw4; Mon, 17 Aug 2020 15:37:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 38D1723085; Mon, 17 Aug 2020 15:37:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HFb9kN058298; Mon, 17 Aug 2020 15:37:09 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HFb8a6058296; Mon, 17 Aug 2020 15:37:08 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <202008171537.07HFb8a6058296@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Mon, 17 Aug 2020 15:37:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364310 - in head/sys: kern vm X-SVN-Group: head X-SVN-Commit-Author: glebius X-SVN-Commit-Paths: in head/sys: kern vm X-SVN-Commit-Revision: 364310 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 15:37:09 -0000 Author: glebius Date: Mon Aug 17 15:37:08 2020 New Revision: 364310 URL: https://svnweb.freebsd.org/changeset/base/364310 Log: With INVARIANTS panic immediately if M_WAITOK is requested in a non-sleepable context. Previously only _sleep() would panic. This will catch misuse of M_WAITOK at development stage rather than at stress load stage. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D26027 Modified: head/sys/kern/kern_malloc.c head/sys/vm/uma_core.c Modified: head/sys/kern/kern_malloc.c ============================================================================== --- head/sys/kern/kern_malloc.c Mon Aug 17 15:11:46 2020 (r364309) +++ head/sys/kern/kern_malloc.c Mon Aug 17 15:37:08 2020 (r364310) @@ -618,6 +618,9 @@ void * unsigned long osize = size; #endif + KASSERT((flags & M_WAITOK) == 0 || THREAD_CAN_SLEEP(), + ("malloc(M_WAITOK) in non-sleepable context")); + #ifdef MALLOC_DEBUG va = NULL; if (malloc_dbg(&va, &size, mtp, flags) != 0) Modified: head/sys/vm/uma_core.c ============================================================================== --- head/sys/vm/uma_core.c Mon Aug 17 15:11:46 2020 (r364309) +++ head/sys/vm/uma_core.c Mon Aug 17 15:37:08 2020 (r364310) @@ -3328,6 +3328,9 @@ uma_zalloc_smr(uma_zone_t zone, int flags) uma_cache_bucket_t bucket; uma_cache_t cache; + KASSERT((flags & M_WAITOK) == 0 || THREAD_CAN_SLEEP(), + ("uma_zalloc_smr(M_WAITOK) in non-sleepable context")); + #ifdef UMA_ZALLOC_DEBUG void *item; @@ -3351,6 +3354,9 @@ uma_zalloc_arg(uma_zone_t zone, void *udata, int flags { uma_cache_bucket_t bucket; uma_cache_t cache; + + KASSERT((flags & M_WAITOK) == 0 || THREAD_CAN_SLEEP(), + ("uma_zalloc(M_WAITOK) in non-sleepable context")); /* Enable entropy collection for RANDOM_ENABLE_UMA kernel option */ random_harvest_fast_uma(&zone, sizeof(zone), RANDOM_UMA); From owner-svn-src-all@freebsd.org Mon Aug 17 16:27:03 2020 Return-Path: Delivered-To: svn-src-all@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 EDB613B5FD1; Mon, 17 Aug 2020 16:27:03 +0000 (UTC) (envelope-from kib@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 4BVfZb5tWrz3crR; Mon, 17 Aug 2020 16:27:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A9FAA238A3; Mon, 17 Aug 2020 16:27:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HGR3IG088783; Mon, 17 Aug 2020 16:27:03 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HGR2gl088779; Mon, 17 Aug 2020 16:27:02 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008171627.07HGR2gl088779@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 17 Aug 2020 16:27:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364311 - stable/12/lib/libc/gen X-SVN-Group: stable-12 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/12/lib/libc/gen X-SVN-Commit-Revision: 364311 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 16:27:04 -0000 Author: kib Date: Mon Aug 17 16:27:02 2020 New Revision: 364311 URL: https://svnweb.freebsd.org/changeset/base/364311 Log: MFC r364091: Export scandir_b from libc. PR: 248572 Modified: stable/12/lib/libc/gen/Makefile.inc stable/12/lib/libc/gen/Symbol.map stable/12/lib/libc/gen/scandir-compat11.c stable/12/lib/libc/gen/scandir.c Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libc/gen/Makefile.inc ============================================================================== --- stable/12/lib/libc/gen/Makefile.inc Mon Aug 17 15:37:08 2020 (r364310) +++ stable/12/lib/libc/gen/Makefile.inc Mon Aug 17 16:27:02 2020 (r364311) @@ -110,6 +110,7 @@ SRCS+= __getosreldate.c \ recvmmsg.c \ rewinddir.c \ scandir.c \ + scandir_b.c \ seed48.c \ seekdir.c \ semctl.c \ Modified: stable/12/lib/libc/gen/Symbol.map ============================================================================== --- stable/12/lib/libc/gen/Symbol.map Mon Aug 17 15:37:08 2020 (r364310) +++ stable/12/lib/libc/gen/Symbol.map Mon Aug 17 16:27:02 2020 (r364311) @@ -416,7 +416,6 @@ FBSD_1.5 { readdir; readdir_r; scandir; - scandir_b; sem_clockwait_np; setproctitle_fast; timespec_get; @@ -425,6 +424,7 @@ FBSD_1.5 { FBSD_1.6 { __sysctlbyname; memalign; + scandir_b; sigandset; sigisemptyset; sigorset; Modified: stable/12/lib/libc/gen/scandir-compat11.c ============================================================================== --- stable/12/lib/libc/gen/scandir-compat11.c Mon Aug 17 15:37:08 2020 (r364310) +++ stable/12/lib/libc/gen/scandir-compat11.c Mon Aug 17 16:27:02 2020 (r364311) @@ -49,32 +49,25 @@ __FBSDID("$FreeBSD$"); #include "gen-compat.h" -#ifdef I_AM_SCANDIR_B -#include "block_abi.h" -#define SELECT(x) CALL_BLOCK(select, x) -#ifndef __BLOCKS__ -void -qsort_b(void *, size_t, size_t, void*); -#endif -#else +/* + * scandir_b@FBSD_1.4 was never exported from libc.so.7 due to a + * mistake, so there is no use of exporting it now with some earlier + * symbol version. As result, we do not need to implement compat + * function freebsd11_scandir_b(). + */ + #define SELECT(x) select(x) -#endif +void qsort_b(void *, size_t, size_t, void *); + static int freebsd11_alphasort_thunk(void *thunk, const void *p1, const void *p2); int -#ifdef I_AM_SCANDIR_B -freebsd11_scandir_b(const char *dirname, struct freebsd11_dirent ***namelist, - DECLARE_BLOCK(int, select, const struct freebsd11_dirent *), - DECLARE_BLOCK(int, dcomp, const struct freebsd11_dirent **, - const struct freebsd11_dirent **)) -#else freebsd11_scandir(const char *dirname, struct freebsd11_dirent ***namelist, int (*select)(const struct freebsd11_dirent *), int (*dcomp)(const struct freebsd11_dirent **, const struct freebsd11_dirent **)) -#endif { struct freebsd11_dirent *d, *p, **names = NULL; size_t arraysz, numitems; @@ -124,13 +117,8 @@ freebsd11_scandir(const char *dirname, struct freebsd1 } closedir(dirp); if (numitems && dcomp != NULL) -#ifdef I_AM_SCANDIR_B - qsort_b(names, numitems, sizeof(struct freebsd11_dirent *), - (void*)dcomp); -#else qsort_r(names, numitems, sizeof(struct freebsd11_dirent *), &dcomp, freebsd11_alphasort_thunk); -#endif *namelist = names; return (numitems); @@ -168,4 +156,3 @@ freebsd11_alphasort_thunk(void *thunk, const void *p1, __sym_compat(alphasort, freebsd11_alphasort, FBSD_1.0); __sym_compat(scandir, freebsd11_scandir, FBSD_1.0); -__sym_compat(scandir_b, freebsd11_scandir_b, FBSD_1.4); Modified: stable/12/lib/libc/gen/scandir.c ============================================================================== --- stable/12/lib/libc/gen/scandir.c Mon Aug 17 15:37:08 2020 (r364310) +++ stable/12/lib/libc/gen/scandir.c Mon Aug 17 16:27:02 2020 (r364311) @@ -50,8 +50,7 @@ __FBSDID("$FreeBSD$"); #include "block_abi.h" #define SELECT(x) CALL_BLOCK(select, x) #ifndef __BLOCKS__ -void -qsort_b(void *, size_t, size_t, void*); +void qsort_b(void *, size_t, size_t, void *); #endif #else #define SELECT(x) select(x) @@ -134,6 +133,7 @@ fail: return (-1); } +#ifndef I_AM_SCANDIR_B /* * Alphabetic order comparison routine for those who want it. * POSIX 2008 requires that alphasort() uses strcoll(). @@ -153,3 +153,4 @@ alphasort_thunk(void *thunk, const void *p1, const voi dc = *(int (**)(const struct dirent **, const struct dirent **))thunk; return (dc((const struct dirent **)p1, (const struct dirent **)p2)); } +#endif From owner-svn-src-all@freebsd.org Mon Aug 17 16:29:01 2020 Return-Path: Delivered-To: svn-src-all@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 34FB43B6893; Mon, 17 Aug 2020 16:29:01 +0000 (UTC) (envelope-from bz@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 4BVfcs0j36z3dQh; Mon, 17 Aug 2020 16:29:01 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F1008239F2; Mon, 17 Aug 2020 16:29:00 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HGT082089088; Mon, 17 Aug 2020 16:29:00 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HGT0HR089083; Mon, 17 Aug 2020 16:29:00 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008171629.07HGT0HR089083@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 16:29:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364312 - head/sys/net80211 X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head/sys/net80211 X-SVN-Commit-Revision: 364312 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 16:29:01 -0000 Author: bz Date: Mon Aug 17 16:28:59 2020 New Revision: 364312 URL: https://svnweb.freebsd.org/changeset/base/364312 Log: net80211: remove vertical whitespace No functional changes. MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Modified: head/sys/net80211/ieee80211.c head/sys/net80211/ieee80211_ioctl.c head/sys/net80211/ieee80211_vht.c Modified: head/sys/net80211/ieee80211.c ============================================================================== --- head/sys/net80211/ieee80211.c Mon Aug 17 16:27:02 2020 (r364311) +++ head/sys/net80211/ieee80211.c Mon Aug 17 16:28:59 2020 (r364312) @@ -529,8 +529,7 @@ ieee80211_vap_setup(struct ieee80211com *ic, struct ie ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { - ic_printf(ic, "%s: unable to allocate ifnet\n", - __func__); + ic_printf(ic, "%s: unable to allocate ifnet\n", __func__); return ENOMEM; } if_initname(ifp, name, unit); @@ -1210,9 +1209,7 @@ set_vht_extchan(struct ieee80211_channel *c) } printf("%s: unknown VHT channel type (ieee=%d, flags=0x%08x)\n", - __func__, - c->ic_ieee, - c->ic_flags); + __func__, c->ic_ieee, c->ic_flags); return (0); } @@ -1247,11 +1244,7 @@ addchan(struct ieee80211_channel chans[], int maxchans #if 0 printf("%s: %d: ieee=%d, freq=%d, flags=0x%08x\n", - __func__, - *nchans, - ieee, - freq, - flags); + __func__, *nchans, ieee, freq, flags); #endif c = &chans[(*nchans)++]; @@ -1281,9 +1274,7 @@ copychan_prev(struct ieee80211_channel chans[], int ma #if 0 printf("%s: %d: flags=0x%08x\n", - __func__, - *nchans, - flags); + __func__, *nchans, flags); #endif c = &chans[(*nchans)++]; @@ -1779,11 +1770,7 @@ ieee80211_lookup_channel_rxstatus(struct ieee80211vap IEEE80211_DPRINTF(vap, IEEE80211_MSG_INPUT, "%s: freq=%d, ieee=%d, flags=0x%08x; c=%p\n", - __func__, - (int) rxs->c_freq, - (int) rxs->c_ieee, - flags, - c); + __func__, (int) rxs->c_freq, (int) rxs->c_ieee, flags, c); return (c); } Modified: head/sys/net80211/ieee80211_ioctl.c ============================================================================== --- head/sys/net80211/ieee80211_ioctl.c Mon Aug 17 16:27:02 2020 (r364311) +++ head/sys/net80211/ieee80211_ioctl.c Mon Aug 17 16:28:59 2020 (r364312) @@ -1159,12 +1159,9 @@ ieee80211_ioctl_get80211(struct ieee80211vap *vap, u_l if (vap->iv_flags_ext & IEEE80211_FEXT_UAPSD) ireq->i_val = 1; break; - - /* VHT */ case IEEE80211_IOC_VHTCONF: ireq->i_val = vap->iv_flags_vht & IEEE80211_FVHT_MASK; break; - default: error = ieee80211_ioctl_getdefault(vap, ireq); break; Modified: head/sys/net80211/ieee80211_vht.c ============================================================================== --- head/sys/net80211/ieee80211_vht.c Mon Aug 17 16:27:02 2020 (r364311) +++ head/sys/net80211/ieee80211_vht.c Mon Aug 17 16:28:59 2020 (r364312) @@ -93,9 +93,7 @@ vht_recv_action_placeholder(struct ieee80211_node *ni, #ifdef IEEE80211_DEBUG ieee80211_note(ni->ni_vap, "%s: called; fc=0x%.2x/0x%.2x", - __func__, - wh->i_fc[0], - wh->i_fc[1]); + __func__, wh->i_fc[0], wh->i_fc[1]); #endif return (0); } @@ -107,9 +105,7 @@ vht_send_action_placeholder(struct ieee80211_node *ni, #ifdef IEEE80211_DEBUG ieee80211_note(ni->ni_vap, "%s: called; category=%d, action=%d", - __func__, - category, - action); + __func__, category, action); #endif return (EINVAL); } @@ -229,9 +225,7 @@ ieee80211_vht_announce(struct ieee80211com *ic) if (tx == 3 && rx == 3) continue; ic_printf(ic, "[VHT] NSS %d: TX MCS 0..%d, RX MCS 0..%d\n", - i + 1, - vht_mcs_to_num(tx), - vht_mcs_to_num(rx)); + i + 1, vht_mcs_to_num(tx), vht_mcs_to_num(rx)); } } @@ -269,10 +263,7 @@ ieee80211_parse_vhtopmode(struct ieee80211_node *ni, c #if 0 printf("%s: chan1=%d, chan2=%d, chanwidth=%d, basicmcs=0x%04x\n", - __func__, - ni->ni_vht_chan1, - ni->ni_vht_chan2, - ni->ni_vht_chanwidth, + __func__, ni->ni_vht_chan1, ni->ni_vht_chan2, ni->ni_vht_chanwidth, ni->ni_vht_basicmcs); #endif } @@ -702,27 +693,20 @@ ieee80211_vht_get_chwidth_ie(struct ieee80211_channel * well? */ - if (IEEE80211_IS_CHAN_VHT160(c)) { + if (IEEE80211_IS_CHAN_VHT160(c)) return IEEE80211_VHT_CHANWIDTH_160MHZ; - } - if (IEEE80211_IS_CHAN_VHT80P80(c)) { + if (IEEE80211_IS_CHAN_VHT80P80(c)) return IEEE80211_VHT_CHANWIDTH_80P80MHZ; - } - if (IEEE80211_IS_CHAN_VHT80(c)) { + if (IEEE80211_IS_CHAN_VHT80(c)) return IEEE80211_VHT_CHANWIDTH_80MHZ; - } - if (IEEE80211_IS_CHAN_VHT40(c)) { + if (IEEE80211_IS_CHAN_VHT40(c)) return IEEE80211_VHT_CHANWIDTH_USE_HT; - } - if (IEEE80211_IS_CHAN_VHT20(c)) { + if (IEEE80211_IS_CHAN_VHT20(c)) return IEEE80211_VHT_CHANWIDTH_USE_HT; - } /* We shouldn't get here */ printf("%s: called on a non-VHT channel (freq=%d, flags=0x%08x\n", - __func__, - (int) c->ic_freq, - c->ic_flags); + __func__, (int) c->ic_freq, c->ic_flags); return IEEE80211_VHT_CHANWIDTH_USE_HT; } From owner-svn-src-all@freebsd.org Mon Aug 17 16:34:11 2020 Return-Path: Delivered-To: svn-src-all@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 7A7563B6A24; Mon, 17 Aug 2020 16:34:11 +0000 (UTC) (envelope-from dim@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 4BVfkq2bhDz3f2x; Mon, 17 Aug 2020 16:34:11 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3C4A423C07; Mon, 17 Aug 2020 16:34:11 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HGYBVo094985; Mon, 17 Aug 2020 16:34:11 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HGYAta094983; Mon, 17 Aug 2020 16:34:10 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008171634.07HGYAta094983@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 17 Aug 2020 16:34:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364313 - head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Commit-Revision: 364313 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 16:34:11 -0000 Author: dim Date: Mon Aug 17 16:34:10 2020 New Revision: 364313 URL: https://svnweb.freebsd.org/changeset/base/364313 Log: Revert r364275, for reapplying the final upstream fix: Tentatively apply https://reviews.llvm.org/D85659, which fixes an assertion failure when building world for powerpc. This has been reported upstream as . Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp Mon Aug 17 16:28:59 2020 (r364312) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp Mon Aug 17 16:34:10 2020 (r364313) @@ -2653,31 +2653,22 @@ const unsigned *PPCInstrInfo::getLoadOpcodesForSpillAr return LoadSpillOpcodesArray[getSpillTarget()]; } -void PPCInstrInfo::fixupIsDeadOrKill(MachineInstr *StartMI, MachineInstr *EndMI, +void PPCInstrInfo::fixupIsDeadOrKill(MachineInstr &StartMI, MachineInstr &EndMI, unsigned RegNo) const { // Conservatively clear kill flag for the register if the instructions are in // different basic blocks and in SSA form, because the kill flag may no longer // be right. There is no need to bother with dead flags since defs with no // uses will be handled by DCE. - MachineRegisterInfo &MRI = StartMI->getParent()->getParent()->getRegInfo(); - if (MRI.isSSA() && (StartMI->getParent() != EndMI->getParent())) { + MachineRegisterInfo &MRI = StartMI.getParent()->getParent()->getRegInfo(); + if (MRI.isSSA() && (StartMI.getParent() != EndMI.getParent())) { MRI.clearKillFlags(RegNo); return; } // Instructions between [StartMI, EndMI] should be in same basic block. - assert((StartMI->getParent() == EndMI->getParent()) && + assert((StartMI.getParent() == EndMI.getParent()) && "Instructions are not in same basic block"); - // If before RA, StartMI may be def through copy, we need to adjust it to the - // real def. See function getForwardingDefMI. - if (MRI.isSSA() && StartMI->findRegisterUseOperandIdx(RegNo) < 0 && - StartMI->findRegisterDefOperandIdx(RegNo) < 0) { - assert(Register::isVirtualRegister(RegNo) && "Must be a virtual register"); - // Get real def and ignore copies. - StartMI = MRI.getVRegDef(RegNo); - } - bool IsKillSet = false; auto clearOperandKillInfo = [=] (MachineInstr &MI, unsigned Index) { @@ -2690,21 +2681,21 @@ void PPCInstrInfo::fixupIsDeadOrKill(MachineInstr *Sta // Set killed flag for EndMI. // No need to do anything if EndMI defines RegNo. int UseIndex = - EndMI->findRegisterUseOperandIdx(RegNo, false, &getRegisterInfo()); + EndMI.findRegisterUseOperandIdx(RegNo, false, &getRegisterInfo()); if (UseIndex != -1) { - EndMI->getOperand(UseIndex).setIsKill(true); + EndMI.getOperand(UseIndex).setIsKill(true); IsKillSet = true; // Clear killed flag for other EndMI operands related to RegNo. In some // upexpected cases, killed may be set multiple times for same register // operand in same MI. - for (int i = 0, e = EndMI->getNumOperands(); i != e; ++i) + for (int i = 0, e = EndMI.getNumOperands(); i != e; ++i) if (i != UseIndex) - clearOperandKillInfo(*EndMI, i); + clearOperandKillInfo(EndMI, i); } // Walking the inst in reverse order (EndMI -> StartMI]. - MachineBasicBlock::reverse_iterator It = *EndMI; - MachineBasicBlock::reverse_iterator E = EndMI->getParent()->rend(); + MachineBasicBlock::reverse_iterator It = EndMI; + MachineBasicBlock::reverse_iterator E = EndMI.getParent()->rend(); // EndMI has been handled above, skip it here. It++; MachineOperand *MO = nullptr; @@ -2730,13 +2721,13 @@ void PPCInstrInfo::fixupIsDeadOrKill(MachineInstr *Sta } else if ((MO = It->findRegisterDefOperand(RegNo, false, true, &getRegisterInfo()))) { // No use found, set dead for its def. - assert(&*It == StartMI && "No new def between StartMI and EndMI."); + assert(&*It == &StartMI && "No new def between StartMI and EndMI."); MO->setIsDead(true); break; } } - if ((&*It) == StartMI) + if ((&*It) == &StartMI) break; } // Ensure RegMo liveness is killed after EndMI. @@ -3867,7 +3858,7 @@ bool PPCInstrInfo::simplifyToLI(MachineInstr &MI, Mach // ForwardingOperandReg = LI imm1 // y = op2 imm2, ForwardingOperandReg(killed) if (IsForwardingOperandKilled) - fixupIsDeadOrKill(&DefMI, &MI, ForwardingOperandReg); + fixupIsDeadOrKill(DefMI, MI, ForwardingOperandReg); LLVM_DEBUG(dbgs() << "With:\n"); LLVM_DEBUG(MI.dump()); @@ -3959,9 +3950,9 @@ bool PPCInstrInfo::transformToNewImmFormFedByAdd( // Update kill flag if (RegMO->isKill() || IsKilledFor(RegMO->getReg())) - fixupIsDeadOrKill(&DefMI, &MI, RegMO->getReg()); + fixupIsDeadOrKill(DefMI, MI, RegMO->getReg()); if (ForwardKilledOperandReg != ~0U) - fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); + fixupIsDeadOrKill(DefMI, MI, ForwardKilledOperandReg); } LLVM_DEBUG(dbgs() << "With:\n"); @@ -4072,12 +4063,12 @@ bool PPCInstrInfo::transformToImmFormFedByAdd( // x = ADD reg(killed), imm // y = XOP 0, x if (IsFwdFeederRegKilled || RegMO->isKill()) - fixupIsDeadOrKill(&DefMI, &MI, RegMO->getReg()); + fixupIsDeadOrKill(DefMI, MI, RegMO->getReg()); // Pattern 3: // ForwardKilledOperandReg = ADD reg, imm // y = XOP 0, ForwardKilledOperandReg(killed) if (ForwardKilledOperandReg != ~0U) - fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); + fixupIsDeadOrKill(DefMI, MI, ForwardKilledOperandReg); LLVM_DEBUG(dbgs() << "With:\n"); LLVM_DEBUG(MI.dump()); @@ -4233,7 +4224,7 @@ bool PPCInstrInfo::transformToImmFormFedByLI(MachineIn // ForwardKilledOperandReg = LI imm // y = XOP reg, ForwardKilledOperandReg(killed) if (ForwardKilledOperandReg != ~0U) - fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); + fixupIsDeadOrKill(DefMI, MI, ForwardKilledOperandReg); return true; } Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h Mon Aug 17 16:28:59 2020 (r364312) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h Mon Aug 17 16:34:10 2020 (r364313) @@ -577,7 +577,7 @@ class PPCInstrInfo : public PPCGenInstrInfo { (public) /// we conservatively clear kill flag for all uses of \p RegNo for pre-RA /// and for post-RA, we give an assertion as without reaching definition /// analysis post-RA, \p StartMI and \p EndMI are hard to keep right. - void fixupIsDeadOrKill(MachineInstr *StartMI, MachineInstr *EndMI, + void fixupIsDeadOrKill(MachineInstr &StartMI, MachineInstr &EndMI, unsigned RegNo) const; void replaceInstrWithLI(MachineInstr &MI, const LoadImmediateInfo &LII) const; void replaceInstrOperandWithImm(MachineInstr &MI, unsigned OpNo, From owner-svn-src-all@freebsd.org Mon Aug 17 16:37:47 2020 Return-Path: Delivered-To: svn-src-all@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 35E9F3B6CD8; Mon, 17 Aug 2020 16:37:47 +0000 (UTC) (envelope-from dim@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 4BVfpz0h65z3f6q; Mon, 17 Aug 2020 16:37:47 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EEC76236F6; Mon, 17 Aug 2020 16:37:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HGbkb4095344; Mon, 17 Aug 2020 16:37:46 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HGbkkR095342; Mon, 17 Aug 2020 16:37:46 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008171637.07HGbkkR095342@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 17 Aug 2020 16:37:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364314 - head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Commit-Revision: 364314 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 16:37:47 -0000 Author: dim Date: Mon Aug 17 16:37:46 2020 New Revision: 364314 URL: https://svnweb.freebsd.org/changeset/base/364314 Log: Merge commit 4d52ebb9b9c7 from llvm git (by Chen Zheng): [PowerPC] Make StartMI ignore COPY like instructions. Reviewed By: lkail Differential Revision: https://reviews.llvm.org/D85659 This fixes an assertion failure when building world for powerpc. It was reported upstream as . Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp Mon Aug 17 16:34:10 2020 (r364313) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp Mon Aug 17 16:37:46 2020 (r364314) @@ -2653,22 +2653,35 @@ const unsigned *PPCInstrInfo::getLoadOpcodesForSpillAr return LoadSpillOpcodesArray[getSpillTarget()]; } -void PPCInstrInfo::fixupIsDeadOrKill(MachineInstr &StartMI, MachineInstr &EndMI, +void PPCInstrInfo::fixupIsDeadOrKill(MachineInstr *StartMI, MachineInstr *EndMI, unsigned RegNo) const { // Conservatively clear kill flag for the register if the instructions are in // different basic blocks and in SSA form, because the kill flag may no longer // be right. There is no need to bother with dead flags since defs with no // uses will be handled by DCE. - MachineRegisterInfo &MRI = StartMI.getParent()->getParent()->getRegInfo(); - if (MRI.isSSA() && (StartMI.getParent() != EndMI.getParent())) { + MachineRegisterInfo &MRI = StartMI->getParent()->getParent()->getRegInfo(); + if (MRI.isSSA() && (StartMI->getParent() != EndMI->getParent())) { MRI.clearKillFlags(RegNo); return; } // Instructions between [StartMI, EndMI] should be in same basic block. - assert((StartMI.getParent() == EndMI.getParent()) && + assert((StartMI->getParent() == EndMI->getParent()) && "Instructions are not in same basic block"); + // If before RA, StartMI may be def through COPY, we need to adjust it to the + // real def. See function getForwardingDefMI. + if (MRI.isSSA()) { + bool Reads, Writes; + std::tie(Reads, Writes) = StartMI->readsWritesVirtualRegister(RegNo); + if (!Reads && !Writes) { + assert(Register::isVirtualRegister(RegNo) && + "Must be a virtual register"); + // Get real def and ignore copies. + StartMI = MRI.getVRegDef(RegNo); + } + } + bool IsKillSet = false; auto clearOperandKillInfo = [=] (MachineInstr &MI, unsigned Index) { @@ -2681,21 +2694,21 @@ void PPCInstrInfo::fixupIsDeadOrKill(MachineInstr &Sta // Set killed flag for EndMI. // No need to do anything if EndMI defines RegNo. int UseIndex = - EndMI.findRegisterUseOperandIdx(RegNo, false, &getRegisterInfo()); + EndMI->findRegisterUseOperandIdx(RegNo, false, &getRegisterInfo()); if (UseIndex != -1) { - EndMI.getOperand(UseIndex).setIsKill(true); + EndMI->getOperand(UseIndex).setIsKill(true); IsKillSet = true; // Clear killed flag for other EndMI operands related to RegNo. In some // upexpected cases, killed may be set multiple times for same register // operand in same MI. - for (int i = 0, e = EndMI.getNumOperands(); i != e; ++i) + for (int i = 0, e = EndMI->getNumOperands(); i != e; ++i) if (i != UseIndex) - clearOperandKillInfo(EndMI, i); + clearOperandKillInfo(*EndMI, i); } // Walking the inst in reverse order (EndMI -> StartMI]. - MachineBasicBlock::reverse_iterator It = EndMI; - MachineBasicBlock::reverse_iterator E = EndMI.getParent()->rend(); + MachineBasicBlock::reverse_iterator It = *EndMI; + MachineBasicBlock::reverse_iterator E = EndMI->getParent()->rend(); // EndMI has been handled above, skip it here. It++; MachineOperand *MO = nullptr; @@ -2721,13 +2734,13 @@ void PPCInstrInfo::fixupIsDeadOrKill(MachineInstr &Sta } else if ((MO = It->findRegisterDefOperand(RegNo, false, true, &getRegisterInfo()))) { // No use found, set dead for its def. - assert(&*It == &StartMI && "No new def between StartMI and EndMI."); + assert(&*It == StartMI && "No new def between StartMI and EndMI."); MO->setIsDead(true); break; } } - if ((&*It) == &StartMI) + if ((&*It) == StartMI) break; } // Ensure RegMo liveness is killed after EndMI. @@ -3858,7 +3871,7 @@ bool PPCInstrInfo::simplifyToLI(MachineInstr &MI, Mach // ForwardingOperandReg = LI imm1 // y = op2 imm2, ForwardingOperandReg(killed) if (IsForwardingOperandKilled) - fixupIsDeadOrKill(DefMI, MI, ForwardingOperandReg); + fixupIsDeadOrKill(&DefMI, &MI, ForwardingOperandReg); LLVM_DEBUG(dbgs() << "With:\n"); LLVM_DEBUG(MI.dump()); @@ -3950,9 +3963,9 @@ bool PPCInstrInfo::transformToNewImmFormFedByAdd( // Update kill flag if (RegMO->isKill() || IsKilledFor(RegMO->getReg())) - fixupIsDeadOrKill(DefMI, MI, RegMO->getReg()); + fixupIsDeadOrKill(&DefMI, &MI, RegMO->getReg()); if (ForwardKilledOperandReg != ~0U) - fixupIsDeadOrKill(DefMI, MI, ForwardKilledOperandReg); + fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); } LLVM_DEBUG(dbgs() << "With:\n"); @@ -4063,12 +4076,12 @@ bool PPCInstrInfo::transformToImmFormFedByAdd( // x = ADD reg(killed), imm // y = XOP 0, x if (IsFwdFeederRegKilled || RegMO->isKill()) - fixupIsDeadOrKill(DefMI, MI, RegMO->getReg()); + fixupIsDeadOrKill(&DefMI, &MI, RegMO->getReg()); // Pattern 3: // ForwardKilledOperandReg = ADD reg, imm // y = XOP 0, ForwardKilledOperandReg(killed) if (ForwardKilledOperandReg != ~0U) - fixupIsDeadOrKill(DefMI, MI, ForwardKilledOperandReg); + fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); LLVM_DEBUG(dbgs() << "With:\n"); LLVM_DEBUG(MI.dump()); @@ -4224,7 +4237,7 @@ bool PPCInstrInfo::transformToImmFormFedByLI(MachineIn // ForwardKilledOperandReg = LI imm // y = XOP reg, ForwardKilledOperandReg(killed) if (ForwardKilledOperandReg != ~0U) - fixupIsDeadOrKill(DefMI, MI, ForwardKilledOperandReg); + fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); return true; } Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h Mon Aug 17 16:34:10 2020 (r364313) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h Mon Aug 17 16:37:46 2020 (r364314) @@ -570,14 +570,16 @@ class PPCInstrInfo : public PPCGenInstrInfo { (public) /// up. Before calling this function, /// 1. Ensure that \p RegNo liveness is killed after instruction \p EndMI. /// 2. Ensure that there is no new definition between (\p StartMI, \p EndMI) - /// and possible definition for \p RegNo is \p StartMI or \p EndMI. + /// and possible definition for \p RegNo is \p StartMI or \p EndMI. For + /// pre-RA cases, definition may be \p StartMI through COPY, \p StartMI + /// will be adjust to true definition. /// 3. We can do accurate fixup for the case when all instructions between /// [\p StartMI, \p EndMI] are in same basic block. /// 4. For the case when \p StartMI and \p EndMI are not in same basic block, /// we conservatively clear kill flag for all uses of \p RegNo for pre-RA /// and for post-RA, we give an assertion as without reaching definition /// analysis post-RA, \p StartMI and \p EndMI are hard to keep right. - void fixupIsDeadOrKill(MachineInstr &StartMI, MachineInstr &EndMI, + void fixupIsDeadOrKill(MachineInstr *StartMI, MachineInstr *EndMI, unsigned RegNo) const; void replaceInstrWithLI(MachineInstr &MI, const LoadImmediateInfo &LII) const; void replaceInstrOperandWithImm(MachineInstr &MI, unsigned OpNo, From owner-svn-src-all@freebsd.org Mon Aug 17 16:43:02 2020 Return-Path: Delivered-To: svn-src-all@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 8CAA53B7100; Mon, 17 Aug 2020 16:43:02 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com [IPv6:2607:f8b0:4864:20::b2d]) (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 4BVfx15l1xz3fVp; Mon, 17 Aug 2020 16:43:01 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: by mail-yb1-xb2d.google.com with SMTP id e14so9780097ybf.4; Mon, 17 Aug 2020 09:43:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=wIMrm5afCFm1XqzpWRtBOvyMgY7SI1QXAmdueFoZwIo=; b=OoNKOipPmIeMRJuPBUwwdmW7w1qIUYV6TpqncMxJV6znYYy0oo8O5NtvwfiRyn7sX7 7eFaovMa4hmzeYxnuhT6QqAPNidZxey1Q0MPVDk7gmicQNm6KAX1+xTaY3Cujtx6OIH3 HJ2VvdiO8udstS9zvCGxY2HQQnrYcVYvFv9y0zHRftsukoB10eR632xy0rrawpKY11qR yqhU8SWCIuU761x2eLXZeawDWaG1YKbLm4O3I4hSUpYnkFtr5TSYYefXg5R8Tj9VRZVz pHsQ4mLsLtgil4OLv9nGVFA9AIaahW27cHGPvBgaUf8CVBcrr0/C2xSVF+tj0Nz6AHc3 dz8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=wIMrm5afCFm1XqzpWRtBOvyMgY7SI1QXAmdueFoZwIo=; b=IBHFXlXWD/k79l47ya4Z7MmneRr7v33jumZ4JQMU6yz3/Y5KX4dAEAlGqG2xozIaic EBBCdh2oOzVwQcf3xijrAjqOdd2SE0pqjlfd2YfC7J9St6J1ue4TxnHjfslrXofiEzbz /uZjCgcLTfUbT403f4RIFiJbvoPVnE/Vbshv6dfgawKZuzwuP4zf/ZHlpOJPdqi7sH/G md1wGqvKqYg+wYPIc/2xFoKHysOfK6t1800bWZu2FfjbeIaNRK78LyBc0CgGHmo6XWIR b37gLokA2upXPAMfo71hz/xKrZwOxDTwdERneyU159FvjErQs7HFLfrt8cRXoShwxO+k bf8Q== X-Gm-Message-State: AOAM532hF+sX3do5pUNQbTO1QaDEO2PU21zmkK9QaKHRdtKGYFJsd+ZT deoqFo2ciZKINXGU7BPX4apZ9pwScI1RJXSTZnab4wLJ X-Google-Smtp-Source: ABdhPJzhrz4rx4Z28dhBwOVuX3WfG1Y4/7UFvcKy49vJyCLEl0rCI4KEaYInsy/E5Sz0bKtgpGepeODhUW5STniIO9A= X-Received: by 2002:a25:b8a:: with SMTP id 132mr21238915ybl.258.1597682579719; Mon, 17 Aug 2020 09:42:59 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a25:db03:0:0:0:0:0 with HTTP; Mon, 17 Aug 2020 09:42:59 -0700 (PDT) In-Reply-To: <202008171629.07HGT0HR089083@repo.freebsd.org> References: <202008171629.07HGT0HR089083@repo.freebsd.org> From: Oliver Pinter Date: Mon, 17 Aug 2020 18:42:59 +0200 Message-ID: Subject: Re: svn commit: r364312 - head/sys/net80211 To: "Bjoern A. Zeeb" Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" X-Rspamd-Queue-Id: 4BVfx15l1xz3fVp X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 16:43:02 -0000 On Monday, August 17, 2020, Bjoern A. Zeeb wrote: > Author: bz > Date: Mon Aug 17 16:28:59 2020 > New Revision: 364312 > URL: https://svnweb.freebsd.org/changeset/base/364312 > > Log: > net80211: remove vertical whitespace > > No functional changes. > > MFC after: 2 weeks > Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") > > Modified: > head/sys/net80211/ieee80211.c > head/sys/net80211/ieee80211_ioctl.c > head/sys/net80211/ieee80211_vht.c > > Modified: head/sys/net80211/ieee80211.c > ============================================================ > ================== > --- head/sys/net80211/ieee80211.c Mon Aug 17 16:27:02 2020 > (r364311) > +++ head/sys/net80211/ieee80211.c Mon Aug 17 16:28:59 2020 > (r364312) > @@ -529,8 +529,7 @@ ieee80211_vap_setup(struct ieee80211com *ic, struct ie > > ifp = if_alloc(IFT_ETHER); > if (ifp == NULL) { > - ic_printf(ic, "%s: unable to allocate ifnet\n", > - __func__); > + ic_printf(ic, "%s: unable to allocate ifnet\n", __func__); > return ENOMEM; > } > if_initname(ifp, name, unit); > @@ -1210,9 +1209,7 @@ set_vht_extchan(struct ieee80211_channel *c) > } > > printf("%s: unknown VHT channel type (ieee=%d, flags=0x%08x)\n", > - __func__, > - c->ic_ieee, > - c->ic_flags); > + __func__, c->ic_ieee, c->ic_flags); > > return (0); > } > @@ -1247,11 +1244,7 @@ addchan(struct ieee80211_channel chans[], int > maxchans > > #if 0 > printf("%s: %d: ieee=%d, freq=%d, flags=0x%08x\n", > - __func__, > - *nchans, > - ieee, > - freq, > - flags); > + __func__, *nchans, ieee, freq, flags); > #endif > > c = &chans[(*nchans)++]; > @@ -1281,9 +1274,7 @@ copychan_prev(struct ieee80211_channel chans[], int > ma > > #if 0 > printf("%s: %d: flags=0x%08x\n", > - __func__, > - *nchans, > - flags); > + __func__, *nchans, flags); > #endif > > c = &chans[(*nchans)++]; > @@ -1779,11 +1770,7 @@ ieee80211_lookup_channel_rxstatus(struct > ieee80211vap > > IEEE80211_DPRINTF(vap, IEEE80211_MSG_INPUT, > "%s: freq=%d, ieee=%d, flags=0x%08x; c=%p\n", > - __func__, > - (int) rxs->c_freq, > - (int) rxs->c_ieee, > - flags, > - c); > + __func__, (int) rxs->c_freq, (int) rxs->c_ieee, flags, c); > > return (c); > } > > Modified: head/sys/net80211/ieee80211_ioctl.c > ============================================================ > ================== > --- head/sys/net80211/ieee80211_ioctl.c Mon Aug 17 16:27:02 2020 > (r364311) > +++ head/sys/net80211/ieee80211_ioctl.c Mon Aug 17 16:28:59 2020 > (r364312) > @@ -1159,12 +1159,9 @@ ieee80211_ioctl_get80211(struct ieee80211vap *vap, > u_l > if (vap->iv_flags_ext & IEEE80211_FEXT_UAPSD) > ireq->i_val = 1; > break; > - > - /* VHT */ Removed comment. > case IEEE80211_IOC_VHTCONF: > ireq->i_val = vap->iv_flags_vht & IEEE80211_FVHT_MASK; > break; > - > default: > error = ieee80211_ioctl_getdefault(vap, ireq); > break; > > Modified: head/sys/net80211/ieee80211_vht.c > ============================================================ > ================== > --- head/sys/net80211/ieee80211_vht.c Mon Aug 17 16:27:02 2020 > (r364311) > +++ head/sys/net80211/ieee80211_vht.c Mon Aug 17 16:28:59 2020 > (r364312) > @@ -93,9 +93,7 @@ vht_recv_action_placeholder(struct ieee80211_node *ni, > > #ifdef IEEE80211_DEBUG > ieee80211_note(ni->ni_vap, "%s: called; fc=0x%.2x/0x%.2x", > - __func__, > - wh->i_fc[0], > - wh->i_fc[1]); > + __func__, wh->i_fc[0], wh->i_fc[1]); > #endif > return (0); > } > @@ -107,9 +105,7 @@ vht_send_action_placeholder(struct ieee80211_node *ni, > > #ifdef IEEE80211_DEBUG > ieee80211_note(ni->ni_vap, "%s: called; category=%d, action=%d", > - __func__, > - category, > - action); > + __func__, category, action); > #endif > return (EINVAL); > } > @@ -229,9 +225,7 @@ ieee80211_vht_announce(struct ieee80211com *ic) > if (tx == 3 && rx == 3) > continue; > ic_printf(ic, "[VHT] NSS %d: TX MCS 0..%d, RX MCS 0..%d\n", > - i + 1, > - vht_mcs_to_num(tx), > - vht_mcs_to_num(rx)); > + i + 1, vht_mcs_to_num(tx), vht_mcs_to_num(rx)); > } > } > > @@ -269,10 +263,7 @@ ieee80211_parse_vhtopmode(struct ieee80211_node *ni, > c > > #if 0 > printf("%s: chan1=%d, chan2=%d, chanwidth=%d, basicmcs=0x%04x\n", > - __func__, > - ni->ni_vht_chan1, > - ni->ni_vht_chan2, > - ni->ni_vht_chanwidth, > + __func__, ni->ni_vht_chan1, ni->ni_vht_chan2, > ni->ni_vht_chanwidth, > ni->ni_vht_basicmcs); > #endif > } > @@ -702,27 +693,20 @@ ieee80211_vht_get_chwidth_ie(struct > ieee80211_channel > * well? > */ > > - if (IEEE80211_IS_CHAN_VHT160(c)) { > + if (IEEE80211_IS_CHAN_VHT160(c)) > return IEEE80211_VHT_CHANWIDTH_160MHZ; > - } > - if (IEEE80211_IS_CHAN_VHT80P80(c)) { > + if (IEEE80211_IS_CHAN_VHT80P80(c)) > return IEEE80211_VHT_CHANWIDTH_80P80MHZ; > - } > - if (IEEE80211_IS_CHAN_VHT80(c)) { > + if (IEEE80211_IS_CHAN_VHT80(c)) > return IEEE80211_VHT_CHANWIDTH_80MHZ; > - } > - if (IEEE80211_IS_CHAN_VHT40(c)) { > + if (IEEE80211_IS_CHAN_VHT40(c)) > return IEEE80211_VHT_CHANWIDTH_USE_HT; > - } > - if (IEEE80211_IS_CHAN_VHT20(c)) { > + if (IEEE80211_IS_CHAN_VHT20(c)) > return IEEE80211_VHT_CHANWIDTH_USE_HT; > - } > > /* We shouldn't get here */ > printf("%s: called on a non-VHT channel (freq=%d, flags=0x%08x\n", > - __func__, > - (int) c->ic_freq, > - c->ic_flags); > + __func__, (int) c->ic_freq, c->ic_flags); > return IEEE80211_VHT_CHANWIDTH_USE_HT; > } > > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > From owner-svn-src-all@freebsd.org Mon Aug 17 16:46:56 2020 Return-Path: Delivered-To: svn-src-all@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 236AF3B7061; Mon, 17 Aug 2020 16:46:56 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BVg1X078pz3fSs; Mon, 17 Aug 2020 16:46:56 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id C0F372107F; Mon, 17 Aug 2020 16:46:55 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 1F27E8D4A38B; Mon, 17 Aug 2020 16:46:53 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 93877E70815; Mon, 17 Aug 2020 16:46:52 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id VdRg8r8fRf5Y; Mon, 17 Aug 2020 16:46:51 +0000 (UTC) Received: from [169.254.45.172] (unknown [IPv6:fde9:577b:c1a9:4902:c86c:7fc4:a1fa:7846]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 23272E707B1; Mon, 17 Aug 2020 16:46:51 +0000 (UTC) From: "Bjoern A. Zeeb" To: "Oliver Pinter" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364312 - head/sys/net80211 Date: Mon, 17 Aug 2020 16:46:50 +0000 X-Mailer: MailMate (2.0BETAr6146) Message-ID: In-Reply-To: References: <202008171629.07HGT0HR089083@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 16:46:56 -0000 On 17 Aug 2020, at 16:42, Oliver Pinter wrote: > On Monday, August 17, 2020, Bjoern A. Zeeb wrote: > >> Author: bz >> Date: Mon Aug 17 16:28:59 2020 >> New Revision: 364312 >> URL: https://svnweb.freebsd.org/changeset/base/364312 >> >> Log: >> net80211: remove vertical whitespace >> >> No functional changes. >> >> MFC after: 2 weeks >> Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") >> >> Modified: >> head/sys/net80211/ieee80211.c >> head/sys/net80211/ieee80211_ioctl.c >> head/sys/net80211/ieee80211_vht.c >> >> Modified: head/sys/net80211/ieee80211_ioctl.c >> ============================================================ >> ================== >> --- head/sys/net80211/ieee80211_ioctl.c Mon Aug 17 16:27:02 2020 >> (r364311) >> +++ head/sys/net80211/ieee80211_ioctl.c Mon Aug 17 16:28:59 2020 >> (r364312) >> @@ -1159,12 +1159,9 @@ ieee80211_ioctl_get80211(struct ieee80211vap >> *vap, >> u_l >> if (vap->iv_flags_ext & IEEE80211_FEXT_UAPSD) >> ireq->i_val = 1; >> break; >> - >> - /* VHT */ > > Removed comment. > >> case IEEE80211_IOC_VHTCONF: >> ireq->i_val = vap->iv_flags_vht & >> IEEE80211_FVHT_MASK; >> break; >> - >> default: >> error = ieee80211_ioctl_getdefault(vap, ireq); >> break; >> Yes. We don’t do comments on any of the other cases and this one did not say much anyway. /bz From owner-svn-src-all@freebsd.org Mon Aug 17 16:51:22 2020 Return-Path: Delivered-To: svn-src-all@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 962613B728B; Mon, 17 Aug 2020 16:51:22 +0000 (UTC) (envelope-from bz@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 4BVg6f3XLfz3g57; Mon, 17 Aug 2020 16:51:22 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5DC5E23DEF; Mon, 17 Aug 2020 16:51:22 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HGpMqP002768; Mon, 17 Aug 2020 16:51:22 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HGpMdl002767; Mon, 17 Aug 2020 16:51:22 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008171651.07HGpMdl002767@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 16:51:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364315 - head/sys/net80211 X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head/sys/net80211 X-SVN-Commit-Revision: 364315 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 16:51:22 -0000 Author: bz Date: Mon Aug 17 16:51:21 2020 New Revision: 364315 URL: https://svnweb.freebsd.org/changeset/base/364315 Log: net80211: return 80P80 before 160 In ieee80211_vht_get_chwidth_ie() we need to return 80P80 (3) before VHT160 (2) as otherwise we'll never use 80P80. Fix the order. MFC after: 2 weeks X-MFC with: r364303 (which missed this) Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Modified: head/sys/net80211/ieee80211_vht.c Modified: head/sys/net80211/ieee80211_vht.c ============================================================================== --- head/sys/net80211/ieee80211_vht.c Mon Aug 17 16:37:46 2020 (r364314) +++ head/sys/net80211/ieee80211_vht.c Mon Aug 17 16:51:21 2020 (r364315) @@ -693,10 +693,10 @@ ieee80211_vht_get_chwidth_ie(struct ieee80211_channel * well? */ - if (IEEE80211_IS_CHAN_VHT160(c)) - return IEEE80211_VHT_CHANWIDTH_160MHZ; if (IEEE80211_IS_CHAN_VHT80P80(c)) return IEEE80211_VHT_CHANWIDTH_80P80MHZ; + if (IEEE80211_IS_CHAN_VHT160(c)) + return IEEE80211_VHT_CHANWIDTH_160MHZ; if (IEEE80211_IS_CHAN_VHT80(c)) return IEEE80211_VHT_CHANWIDTH_80MHZ; if (IEEE80211_IS_CHAN_VHT40(c)) From owner-svn-src-all@freebsd.org Mon Aug 17 17:07:07 2020 Return-Path: Delivered-To: svn-src-all@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 831FC3B75C8; Mon, 17 Aug 2020 17:07:07 +0000 (UTC) (envelope-from cem@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 4BVgSq2wgYz3yCt; Mon, 17 Aug 2020 17:07:07 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4795A24205; Mon, 17 Aug 2020 17:07:07 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HH77Ha014423; Mon, 17 Aug 2020 17:07:07 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HH76p6014419; Mon, 17 Aug 2020 17:07:06 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202008171707.07HH76p6014419@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Mon, 17 Aug 2020 17:07:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364316 - in head: lib/geom/part sys/geom/part sys/sys/disk X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: in head: lib/geom/part sys/geom/part sys/sys/disk X-SVN-Commit-Revision: 364316 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 17:07:07 -0000 Author: cem Date: Mon Aug 17 17:07:05 2020 New Revision: 364316 URL: https://svnweb.freebsd.org/changeset/base/364316 Log: gpart(8): Recognize apple-zfs and solaris-reserved partition ids Introduce G_PART_ALIAS_SOLARIS_RESERVED, GPT_ENT_TYPE_SOLARIS_RESERVED et al., to make gpart show output more convenient on systems with illumos/openindiana disks visible. Submitted by: Juraj Lutter Reviewed by: bcr(manpages), delphij, myself Differential Revision: https://reviews.freebsd.org/D26012 Modified: head/lib/geom/part/gpart.8 head/sys/geom/part/g_part.c head/sys/geom/part/g_part.h head/sys/geom/part/g_part_gpt.c head/sys/sys/disk/gpt.h Modified: head/lib/geom/part/gpart.8 ============================================================================== --- head/lib/geom/part/gpart.8 Mon Aug 17 16:51:21 2020 (r364315) +++ head/lib/geom/part/gpart.8 Mon Aug 17 17:07:05 2020 (r364316) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 23, 2019 +.Dd August 17, 2020 .Dt GPART 8 .Os .Sh NAME @@ -312,7 +312,7 @@ option. The partition cannot be actively used by the kernel. .Pp The -.cm delete +.Cm delete command accepts these options: .Bl -tag -width 10n .It Fl f Ar flags @@ -755,6 +755,15 @@ for MBR, for APM and .Qq Li "!55465300-0000-11aa-aa11-00306543ecac" for GPT. +.It Cm apple-zfs +An Apple Mac OS X partition that contains a ZFS volume. +The scheme-specific type is +.Qq Li "!6a898cc3-1dd2-11b2-99a6-080020736631" +for GPT. The same GUID is being used also for +.Sy illumos/Solaris /usr partition . +See +.Sx CAVEATS +section below. .It Cm dragonfly-label32 A DragonFlyBSD partition subdivided into filesystems with a .Bx @@ -920,8 +929,48 @@ notably those made by IBM. The scheme-specific types are .Qq Li "!65" for MBR and -.Qq Li "!0x9e1a2d38-c612-4316-aa26-8b49521e5a8b" +.Qq Li "!9e1a2d38-c612-4316-aa26-8b49521e5a8b" for GPT. +.It Cm solaris-boot +A illumos/Solaris partition dedicated to boot loader. +The scheme-specific type is +.Qq Li "!6a82cb45-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-root +A illumos/Solaris partition dedicated to root filesystem. +The scheme-specific type is +.Qq Li "!6a85cf4d-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-swap +A illumos/Solaris partition dedicated to swap. +The scheme-specific type is +.Qq Li "!6a87c46f-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-backup +A illumos/Solaris partition dedicated to backup. +The scheme-specific type is +.Qq Li "!6a8b642b-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-var +A illumos/Solaris partition dedicated to /var filesystem. +The scheme-specific type is +.Qq Li "!6a8ef2e9-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-home +A illumos/Solaris partition dedicated to /home filesystem. +The scheme-specific type is +.Qq Li "!6a90ba39-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-altsec +A illumos/Solaris partition dedicated to alternate sector. +The scheme-specific type is +.Qq Li "!6a9283a5-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-reserved +A illumos/Solaris partition dedicated to reserved space. +The scheme-specific type is +.Qq Li "!6a945a3b-1dd2-11b2-99a6-080020736631" +for GPT. .It Cm vmware-vmfs A partition that contains a VMware File System (VMFS). The scheme-specific types are @@ -1466,3 +1515,8 @@ utility appeared in .Fx 7.0 . .Sh AUTHORS .An Marcel Moolenaar Aq Mt marcel@FreeBSD.org +.Sh CAVEATS +Partition type +.Em apple-zfs +(6a898cc3-1dd2-11b2-99a6-080020736631) is also being used +on illumos/Solaris platforms for ZFS volumes. Modified: head/sys/geom/part/g_part.c ============================================================================== --- head/sys/geom/part/g_part.c Mon Aug 17 16:51:21 2020 (r364315) +++ head/sys/geom/part/g_part.c Mon Aug 17 17:07:05 2020 (r364316) @@ -76,6 +76,7 @@ struct g_part_alias_list { { "apple-raid-offline", G_PART_ALIAS_APPLE_RAID_OFFLINE }, { "apple-tv-recovery", G_PART_ALIAS_APPLE_TV_RECOVERY }, { "apple-ufs", G_PART_ALIAS_APPLE_UFS }, + { "apple-zfs", G_PART_ALIAS_APPLE_ZFS }, { "bios-boot", G_PART_ALIAS_BIOS_BOOT }, { "chromeos-firmware", G_PART_ALIAS_CHROMEOS_FIRMWARE }, { "chromeos-kernel", G_PART_ALIAS_CHROMEOS_KERNEL }, @@ -122,6 +123,14 @@ struct g_part_alias_list { { "ntfs", G_PART_ALIAS_MS_NTFS }, { "openbsd-data", G_PART_ALIAS_OPENBSD_DATA }, { "prep-boot", G_PART_ALIAS_PREP_BOOT }, + { "solaris-boot", G_PART_ALIAS_SOLARIS_BOOT }, + { "solaris-root", G_PART_ALIAS_SOLARIS_ROOT }, + { "solaris-swap", G_PART_ALIAS_SOLARIS_SWAP }, + { "solaris-backup", G_PART_ALIAS_SOLARIS_BACKUP }, + { "solaris-var", G_PART_ALIAS_SOLARIS_VAR }, + { "solaris-home", G_PART_ALIAS_SOLARIS_HOME }, + { "solaris-altsec", G_PART_ALIAS_SOLARIS_ALTSEC }, + { "solaris-reserved", G_PART_ALIAS_SOLARIS_RESERVED }, { "vmware-reserved", G_PART_ALIAS_VMRESERVED }, { "vmware-vmfs", G_PART_ALIAS_VMFS }, { "vmware-vmkdiag", G_PART_ALIAS_VMKDIAG }, Modified: head/sys/geom/part/g_part.h ============================================================================== --- head/sys/geom/part/g_part.h Mon Aug 17 16:51:21 2020 (r364315) +++ head/sys/geom/part/g_part.h Mon Aug 17 17:07:05 2020 (r364316) @@ -47,6 +47,8 @@ enum g_part_alias { G_PART_ALIAS_APPLE_RAID_OFFLINE,/* An Apple RAID (offline) part entry.*/ G_PART_ALIAS_APPLE_TV_RECOVERY, /* An Apple TV recovery part entry. */ G_PART_ALIAS_APPLE_UFS, /* An Apple UFS partition entry. */ + G_PART_ALIAS_APPLE_ZFS, /* An Apple ZFS partition entry. + Also used for Solaris /usr partition. */ G_PART_ALIAS_BIOS_BOOT, /* A GRUB 2 boot partition entry. */ G_PART_ALIAS_CHROMEOS_FIRMWARE, /* A ChromeOS firmware part. entry. */ G_PART_ALIAS_CHROMEOS_KERNEL, /* A ChromeOS Kernel part. entry. */ @@ -93,6 +95,14 @@ enum g_part_alias { G_PART_ALIAS_NETBSD_SWAP, /* A NetBSD swap partition entry. */ G_PART_ALIAS_OPENBSD_DATA, /* An OpenBSD data partition entry. */ G_PART_ALIAS_PREP_BOOT, /* A PREP/CHRP boot partition entry. */ + G_PART_ALIAS_SOLARIS_BOOT, /* A Solaris boot partition entry. */ + G_PART_ALIAS_SOLARIS_ROOT, /* A Solaris root partition entry. */ + G_PART_ALIAS_SOLARIS_SWAP, /* A Solaris swap partition entry. */ + G_PART_ALIAS_SOLARIS_BACKUP, /* A Solaris backup partition entry. */ + G_PART_ALIAS_SOLARIS_VAR, /* A Solaris /var partition entry. */ + G_PART_ALIAS_SOLARIS_HOME, /* A Solaris /home partition entry. */ + G_PART_ALIAS_SOLARIS_ALTSEC, /* A Solaris alternate sector partition entry. */ + G_PART_ALIAS_SOLARIS_RESERVED, /* A Solaris reserved partition entry. */ G_PART_ALIAS_VMFS, /* A VMware VMFS partition entry */ G_PART_ALIAS_VMKDIAG, /* A VMware vmkDiagnostic partition entry */ G_PART_ALIAS_VMRESERVED, /* A VMware reserved partition entry */ Modified: head/sys/geom/part/g_part_gpt.c ============================================================================== --- head/sys/geom/part/g_part_gpt.c Mon Aug 17 16:51:21 2020 (r364315) +++ head/sys/geom/part/g_part_gpt.c Mon Aug 17 17:07:05 2020 (r364316) @@ -168,6 +168,7 @@ static struct uuid gpt_uuid_apple_raid = GPT_ENT_TYPE_ static struct uuid gpt_uuid_apple_raid_offline = GPT_ENT_TYPE_APPLE_RAID_OFFLINE; static struct uuid gpt_uuid_apple_tv_recovery = GPT_ENT_TYPE_APPLE_TV_RECOVERY; static struct uuid gpt_uuid_apple_ufs = GPT_ENT_TYPE_APPLE_UFS; +static struct uuid gpt_uuid_apple_zfs = GPT_ENT_TYPE_APPLE_ZFS; static struct uuid gpt_uuid_bios_boot = GPT_ENT_TYPE_BIOS_BOOT; static struct uuid gpt_uuid_chromeos_firmware = GPT_ENT_TYPE_CHROMEOS_FIRMWARE; static struct uuid gpt_uuid_chromeos_kernel = GPT_ENT_TYPE_CHROMEOS_KERNEL; @@ -209,6 +210,14 @@ static struct uuid gpt_uuid_netbsd_raid = GPT_ENT_TYPE static struct uuid gpt_uuid_netbsd_swap = GPT_ENT_TYPE_NETBSD_SWAP; static struct uuid gpt_uuid_openbsd_data = GPT_ENT_TYPE_OPENBSD_DATA; static struct uuid gpt_uuid_prep_boot = GPT_ENT_TYPE_PREP_BOOT; +static struct uuid gpt_uuid_solaris_boot = GPT_ENT_TYPE_SOLARIS_BOOT; +static struct uuid gpt_uuid_solaris_root = GPT_ENT_TYPE_SOLARIS_ROOT; +static struct uuid gpt_uuid_solaris_swap = GPT_ENT_TYPE_SOLARIS_SWAP; +static struct uuid gpt_uuid_solaris_backup = GPT_ENT_TYPE_SOLARIS_BACKUP; +static struct uuid gpt_uuid_solaris_var = GPT_ENT_TYPE_SOLARIS_VAR; +static struct uuid gpt_uuid_solaris_home = GPT_ENT_TYPE_SOLARIS_HOME; +static struct uuid gpt_uuid_solaris_altsec = GPT_ENT_TYPE_SOLARIS_ALTSEC; +static struct uuid gpt_uuid_solaris_reserved = GPT_ENT_TYPE_SOLARIS_RESERVED; static struct uuid gpt_uuid_unused = GPT_ENT_TYPE_UNUSED; static struct uuid gpt_uuid_vmfs = GPT_ENT_TYPE_VMFS; static struct uuid gpt_uuid_vmkdiag = GPT_ENT_TYPE_VMKDIAG; @@ -229,6 +238,7 @@ static struct g_part_uuid_alias { { &gpt_uuid_apple_raid_offline, G_PART_ALIAS_APPLE_RAID_OFFLINE, 0 }, { &gpt_uuid_apple_tv_recovery, G_PART_ALIAS_APPLE_TV_RECOVERY, 0 }, { &gpt_uuid_apple_ufs, G_PART_ALIAS_APPLE_UFS, 0 }, + { &gpt_uuid_apple_zfs, G_PART_ALIAS_APPLE_ZFS, 0 }, { &gpt_uuid_bios_boot, G_PART_ALIAS_BIOS_BOOT, 0 }, { &gpt_uuid_chromeos_firmware, G_PART_ALIAS_CHROMEOS_FIRMWARE, 0 }, { &gpt_uuid_chromeos_kernel, G_PART_ALIAS_CHROMEOS_KERNEL, 0 }, @@ -270,6 +280,14 @@ static struct g_part_uuid_alias { { &gpt_uuid_netbsd_swap, G_PART_ALIAS_NETBSD_SWAP, 0 }, { &gpt_uuid_openbsd_data, G_PART_ALIAS_OPENBSD_DATA, 0 }, { &gpt_uuid_prep_boot, G_PART_ALIAS_PREP_BOOT, 0x41 }, + { &gpt_uuid_solaris_boot, G_PART_ALIAS_SOLARIS_BOOT, 0 }, + { &gpt_uuid_solaris_root, G_PART_ALIAS_SOLARIS_ROOT, 0 }, + { &gpt_uuid_solaris_swap, G_PART_ALIAS_SOLARIS_SWAP, 0 }, + { &gpt_uuid_solaris_backup, G_PART_ALIAS_SOLARIS_BACKUP, 0 }, + { &gpt_uuid_solaris_var, G_PART_ALIAS_SOLARIS_VAR, 0 }, + { &gpt_uuid_solaris_home, G_PART_ALIAS_SOLARIS_HOME, 0 }, + { &gpt_uuid_solaris_altsec, G_PART_ALIAS_SOLARIS_ALTSEC, 0 }, + { &gpt_uuid_solaris_reserved, G_PART_ALIAS_SOLARIS_RESERVED, 0 }, { &gpt_uuid_vmfs, G_PART_ALIAS_VMFS, 0 }, { &gpt_uuid_vmkdiag, G_PART_ALIAS_VMKDIAG, 0 }, { &gpt_uuid_vmreserved, G_PART_ALIAS_VMRESERVED, 0 }, Modified: head/sys/sys/disk/gpt.h ============================================================================== --- head/sys/sys/disk/gpt.h Mon Aug 17 16:51:21 2020 (r364315) +++ head/sys/sys/disk/gpt.h Mon Aug 17 17:07:05 2020 (r364316) @@ -230,6 +230,23 @@ CTASSERT(sizeof(struct gpt_ent) == 128); #define GPT_ENT_TYPE_OPENBSD_DATA \ {0x824cc7a0,0x36a8,0x11e3,0x89,0x0a,{0x95,0x25,0x19,0xad,0x3f,0x61}} +#define GPT_ENT_TYPE_SOLARIS_BOOT \ + {0x6a82cb45,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_ROOT \ + {0x6a85cf4d,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_SWAP \ + {0x6a87c46f,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_BACKUP \ + {0x6a8b642b,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_VAR \ + {0x6a8ef2e9,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_HOME \ + {0x6a90ba39,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_ALTSEC \ + {0x6a9283a5,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_RESERVED \ + {0x6a945a3b,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} + /* * Boot partition used by GRUB 2. */ From owner-svn-src-all@freebsd.org Mon Aug 17 17:14:57 2020 Return-Path: Delivered-To: svn-src-all@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 A23E63B7D15; Mon, 17 Aug 2020 17:14:57 +0000 (UTC) (envelope-from markj@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 4BVgds3pSNz3yPN; Mon, 17 Aug 2020 17:14:57 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 65EEF23E45; Mon, 17 Aug 2020 17:14:57 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HHEvsj020333; Mon, 17 Aug 2020 17:14:57 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HHEvRV020332; Mon, 17 Aug 2020 17:14:57 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008171714.07HHEvRV020332@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 17 Aug 2020 17:14:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364317 - head/sys/compat/linux X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/compat/linux X-SVN-Commit-Revision: 364317 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 17:14:57 -0000 Author: markj Date: Mon Aug 17 17:14:56 2020 New Revision: 364317 URL: https://svnweb.freebsd.org/changeset/base/364317 Log: Skip Linux madvise(MADV_DONTNEED) on unmanaged objects. vm_object_madvise() is a no-op for unmanaged objects, but we should also limit the scope of mappings on which pmap_remove() is called. In particular, with the WIP largepage shm objects patch the kernel must remove mappings of such objects along superpage boundaries, and without this check Linux madvise(MADV_DONTNEED) could violate that requirement. Reviewed by: alc, kib MFC with: r362631 Sponsored by: Juniper Networks, Klara Inc. Differential Revision: https://reviews.freebsd.org/D26084 Modified: head/sys/compat/linux/linux_mmap.c Modified: head/sys/compat/linux/linux_mmap.c ============================================================================== --- head/sys/compat/linux/linux_mmap.c Mon Aug 17 17:07:05 2020 (r364316) +++ head/sys/compat/linux/linux_mmap.c Mon Aug 17 17:14:56 2020 (r364317) @@ -282,6 +282,8 @@ linux_madvise_dontneed(struct thread *td, vm_offset_t object = entry->object.vm_object; if (object == NULL) continue; + if ((object->flags & (OBJ_UNMANAGED | OBJ_FICTITIOUS)) != 0) + continue; pstart = OFF_TO_IDX(entry->offset); if (start > entry->start) { From owner-svn-src-all@freebsd.org Mon Aug 17 17:17:33 2020 Return-Path: Delivered-To: svn-src-all@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 BB0303B7C37; Mon, 17 Aug 2020 17:17:33 +0000 (UTC) (envelope-from jhb@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 4BVghs4YD0z3yYc; Mon, 17 Aug 2020 17:17:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7FB4124407; Mon, 17 Aug 2020 17:17:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HHHXMF020502; Mon, 17 Aug 2020 17:17:33 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HHHXMa020501; Mon, 17 Aug 2020 17:17:33 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202008171717.07HHHXMa020501@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 17 Aug 2020 17:17:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364318 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 364318 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 17:17:33 -0000 Author: jhb Date: Mon Aug 17 17:17:33 2020 New Revision: 364318 URL: https://svnweb.freebsd.org/changeset/base/364318 Log: Move -L${LIBCOMPATTMP}/usr/lib${libcompat} from CFLAGS to LDFLAGS. This is only needed when linking and fixes various "unused command line argument" warnings during the lib32 build. Reviewed by: bdrewery Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26068 Modified: head/share/mk/bsd.compat.mk Modified: head/share/mk/bsd.compat.mk ============================================================================== --- head/share/mk/bsd.compat.mk Mon Aug 17 17:14:56 2020 (r364317) +++ head/share/mk/bsd.compat.mk Mon Aug 17 17:17:33 2020 (r364318) @@ -38,7 +38,7 @@ LIB32_MACHINE_ARCH= i386 LIB32WMAKEENV= MACHINE_CPU="i686 mmx sse sse2" LIB32WMAKEFLAGS= \ AS="${XAS} --32" \ - LD="${XLD} -m elf_i386_fbsd -L${LIBCOMPATTMP}/usr/lib32" + LD="${XLD} -m elf_i386_fbsd" .elif ${COMPAT_ARCH} == "powerpc64" HAS_COMPAT=32 @@ -146,9 +146,10 @@ LIBCOMPAT_OBJTOP?= ${OBJTOP}/obj-lib${libcompat} LIBCOMPATTMP?= ${LIBCOMPAT_OBJTOP}/tmp LIBCOMPATCFLAGS+= ${LIBCOMPATCPUFLAGS} \ - -L${LIBCOMPATTMP}/usr/lib${libcompat} \ --sysroot=${LIBCOMPATTMP} \ ${BFLAGS} + +LIBCOMPATLDFLAGS+= -L${LIBCOMPATTMP}/usr/lib${libcompat} LIBCOMPATWMAKEENV+= MACHINE=${LIBCOMPAT_MACHINE} LIBCOMPATWMAKEENV+= MACHINE_ARCH=${LIBCOMPAT_MACHINE_ARCH} From owner-svn-src-all@freebsd.org Mon Aug 17 17:47:05 2020 Return-Path: Delivered-To: svn-src-all@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 88C7F3B8399; Mon, 17 Aug 2020 17:47:05 +0000 (UTC) (envelope-from emaste@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 4BVhLx30ncz41Y4; Mon, 17 Aug 2020 17:47:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4BBE3246AD; Mon, 17 Aug 2020 17:47:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HHl5sX039396; Mon, 17 Aug 2020 17:47:05 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HHl59i039395; Mon, 17 Aug 2020 17:47:05 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008171747.07HHl59i039395@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 17 Aug 2020 17:47:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364319 - stable/12/share/mk X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/share/mk X-SVN-Commit-Revision: 364319 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 17:47:05 -0000 Author: emaste Date: Mon Aug 17 17:47:04 2020 New Revision: 364319 URL: https://svnweb.freebsd.org/changeset/base/364319 Log: MFC r360501: src.opts.mk: add WITHOUT_OPENSSL dependencies A number of components require OpenSSL and fail to build if it is not enabled. As a first phase force these off under WITHOUT_OPENSSL. A second phase should make these more fine-grained, allowing the component to build but without OpenSSL. PR: 245931 Sponsored by: The FreeBSD Foundation Modified: stable/12/share/mk/src.opts.mk Directory Properties: stable/12/ (props changed) Modified: stable/12/share/mk/src.opts.mk ============================================================================== --- stable/12/share/mk/src.opts.mk Mon Aug 17 17:17:33 2020 (r364318) +++ stable/12/share/mk/src.opts.mk Mon Aug 17 17:47:04 2020 (r364319) @@ -507,6 +507,10 @@ MK_DMAGENT:= no MK_OPENSSH:= no MK_KERBEROS:= no MK_LDNS:= no +MK_PKGBOOTSTRAP:= no +MK_SVN:= no +MK_SVNLITE:= no +MK_WIRELESS:= no .endif .if ${MK_LDNS} == "no" From owner-svn-src-all@freebsd.org Mon Aug 17 17:48:29 2020 Return-Path: Delivered-To: svn-src-all@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 46F903B83D7; Mon, 17 Aug 2020 17:48:29 +0000 (UTC) (envelope-from emaste@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 4BVhNY1Bxlz41Zb; Mon, 17 Aug 2020 17:48:29 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0D57A24814; Mon, 17 Aug 2020 17:48:29 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HHmSPL039540; Mon, 17 Aug 2020 17:48:28 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HHmSOe039539; Mon, 17 Aug 2020 17:48:28 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008171748.07HHmSOe039539@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 17 Aug 2020 17:48:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364320 - stable/12/tests/sys/geom/class X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/tests/sys/geom/class X-SVN-Commit-Revision: 364320 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 17:48:29 -0000 Author: emaste Date: Mon Aug 17 17:48:28 2020 New Revision: 364320 URL: https://svnweb.freebsd.org/changeset/base/364320 Log: MFC r360509: geli tests require OpenSSL - exclude them under WITHOUT_OPENSSL PR: 245931 Submitted by: The FreeBSD Foundation Modified: stable/12/tests/sys/geom/class/Makefile Directory Properties: stable/12/ (props changed) Modified: stable/12/tests/sys/geom/class/Makefile ============================================================================== --- stable/12/tests/sys/geom/class/Makefile Mon Aug 17 17:47:04 2020 (r364319) +++ stable/12/tests/sys/geom/class/Makefile Mon Aug 17 17:48:28 2020 (r364320) @@ -1,11 +1,15 @@ # $FreeBSD$ +.include + PACKAGE= tests TESTSDIR= ${TESTSBASE}/sys/geom/class TESTS_SUBDIRS+= concat +.if ${MK_OPENSSL} != "no" TESTS_SUBDIRS+= eli +.endif TESTS_SUBDIRS+= gate TESTS_SUBDIRS+= mirror TESTS_SUBDIRS+= multipath From owner-svn-src-all@freebsd.org Mon Aug 17 18:53:23 2020 Return-Path: Delivered-To: svn-src-all@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 A9EAA3B98BE; Mon, 17 Aug 2020 18:53:23 +0000 (UTC) (envelope-from emaste@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 4BVjqR44gCz45Gc; Mon, 17 Aug 2020 18:53:23 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7009525516; Mon, 17 Aug 2020 18:53:23 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HIrNRe082124; Mon, 17 Aug 2020 18:53:23 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HIrNAC082123; Mon, 17 Aug 2020 18:53:23 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008171853.07HIrNAC082123@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 17 Aug 2020 18:53:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364321 - head/sbin/ipfw X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sbin/ipfw X-SVN-Commit-Revision: 364321 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 18:53:23 -0000 Author: emaste Date: Mon Aug 17 18:53:23 2020 New Revision: 364321 URL: https://svnweb.freebsd.org/changeset/base/364321 Log: ipfw: line up `ipfw -t list` with and without timestamp From the PR: When I run `ipfw -t list` on release/12 or current, I get misaligned output between lines that do and do not have a last match timestamp, like so: 00100 Tue Aug 11 03:03:26 2020 allow ip from any to any via lo0 00200 deny ip from any to 127.0.0.0/8 (specifically, the "allow" and "deny" strings do not line up) PR: 248608 Submitted by: Taylor Stearns MFC after: 3 days Modified: head/sbin/ipfw/ipfw2.c Modified: head/sbin/ipfw/ipfw2.c ============================================================================== --- head/sbin/ipfw/ipfw2.c Mon Aug 17 17:48:28 2020 (r364320) +++ head/sbin/ipfw/ipfw2.c Mon Aug 17 18:53:23 2020 (r364321) @@ -2199,7 +2199,7 @@ show_static_rule(struct cmdline_opts *co, struct forma *strchr(timestr, '\n') = '\0'; bprintf(bp, "%s ", timestr); } else { - bprintf(bp, "%*s", twidth, " "); + bprintf(bp, "%*s", twidth + 1, " "); } } From owner-svn-src-all@freebsd.org Mon Aug 17 19:14:09 2020 Return-Path: Delivered-To: svn-src-all@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 C6D2A3BA28D; Mon, 17 Aug 2020 19:14:09 +0000 (UTC) (envelope-from kib@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 4BVkHP4vr0z46J8; Mon, 17 Aug 2020 19:14:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8C3FB25A11; Mon, 17 Aug 2020 19:14:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HJE9Wg094602; Mon, 17 Aug 2020 19:14:09 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HJE9N2094601; Mon, 17 Aug 2020 19:14:09 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008171914.07HJE9N2094601@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 17 Aug 2020 19:14:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364322 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 364322 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 19:14:09 -0000 Author: kib Date: Mon Aug 17 19:14:09 2020 New Revision: 364322 URL: https://svnweb.freebsd.org/changeset/base/364322 Log: scandir-compat11.c: Remove unused declaration for qsort_b(). Sponsored by: The FreeBSD Foundation MFC after: 0 days Modified: head/lib/libc/gen/scandir-compat11.c Modified: head/lib/libc/gen/scandir-compat11.c ============================================================================== --- head/lib/libc/gen/scandir-compat11.c Mon Aug 17 18:53:23 2020 (r364321) +++ head/lib/libc/gen/scandir-compat11.c Mon Aug 17 19:14:09 2020 (r364322) @@ -58,8 +58,6 @@ __FBSDID("$FreeBSD$"); #define SELECT(x) select(x) -void qsort_b(void *, size_t, size_t, void *); - static int freebsd11_alphasort_thunk(void *thunk, const void *p1, const void *p2); From owner-svn-src-all@freebsd.org Mon Aug 17 19:17:55 2020 Return-Path: Delivered-To: svn-src-all@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 708E63B9EEB; Mon, 17 Aug 2020 19:17:55 +0000 (UTC) (envelope-from kib@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 4BVkMl28zQz46f1; Mon, 17 Aug 2020 19:17:55 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2E929259B5; Mon, 17 Aug 2020 19:17:55 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HJHtpm094842; Mon, 17 Aug 2020 19:17:55 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HJHt29094841; Mon, 17 Aug 2020 19:17:55 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008171917.07HJHt29094841@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 17 Aug 2020 19:17:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364323 - stable/12/lib/libc/gen X-SVN-Group: stable-12 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/12/lib/libc/gen X-SVN-Commit-Revision: 364323 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 19:17:55 -0000 Author: kib Date: Mon Aug 17 19:17:54 2020 New Revision: 364323 URL: https://svnweb.freebsd.org/changeset/base/364323 Log: Insta-MFC r364322: Remove unused declaration for qsort_b(). This should fix the build on gcc arches. It seems that gcc 4.2 port of the blocks support defines the guard symbol unconditionally. Modified: stable/12/lib/libc/gen/scandir-compat11.c Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libc/gen/scandir-compat11.c ============================================================================== --- stable/12/lib/libc/gen/scandir-compat11.c Mon Aug 17 19:14:09 2020 (r364322) +++ stable/12/lib/libc/gen/scandir-compat11.c Mon Aug 17 19:17:54 2020 (r364323) @@ -58,8 +58,6 @@ __FBSDID("$FreeBSD$"); #define SELECT(x) select(x) -void qsort_b(void *, size_t, size_t, void *); - static int freebsd11_alphasort_thunk(void *thunk, const void *p1, const void *p2); From owner-svn-src-all@freebsd.org Mon Aug 17 20:07:15 2020 Return-Path: Delivered-To: svn-src-all@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 D35DB3BAFB8; Mon, 17 Aug 2020 20:07:15 +0000 (UTC) (envelope-from bz@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 4BVlSg1THyz4BHh; Mon, 17 Aug 2020 20:07:15 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 170A625FB9; Mon, 17 Aug 2020 20:07:15 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HK7Ecp026319; Mon, 17 Aug 2020 20:07:14 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HK7E2o026318; Mon, 17 Aug 2020 20:07:14 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008172007.07HK7E2o026318@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 20:07:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364324 - head/sys/dev/mmc/host X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head/sys/dev/mmc/host X-SVN-Commit-Revision: 364324 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 20:07:15 -0000 Author: bz Date: Mon Aug 17 20:07:14 2020 New Revision: 364324 URL: https://svnweb.freebsd.org/changeset/base/364324 Log: dwmmc: remove printf even under bootverbose Remove two debugging printfs, even if hidden under boot -v. They seemed to be of debug nature and always spit onto the console when running camcontrol devlist -v. Reviewed by: manu MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25962 Modified: head/sys/dev/mmc/host/dwmmc.c Modified: head/sys/dev/mmc/host/dwmmc.c ============================================================================== --- head/sys/dev/mmc/host/dwmmc.c Mon Aug 17 19:17:54 2020 (r364323) +++ head/sys/dev/mmc/host/dwmmc.c Mon Aug 17 20:07:14 2020 (r364324) @@ -1461,9 +1461,6 @@ dwmmc_cam_action(struct cam_sim *sim, union ccb *ccb) { struct ccb_trans_settings *cts = &ccb->cts; - if (bootverbose) - device_printf(sc->dev, "Got XPT_GET_TRAN_SETTINGS\n"); - cts->protocol = PROTO_MMCSD; cts->protocol_version = 1; cts->transport = XPORT_MMCSD; @@ -1481,8 +1478,7 @@ dwmmc_cam_action(struct cam_sim *sim, union ccb *ccb) } case XPT_SET_TRAN_SETTINGS: { - if (bootverbose) - device_printf(sc->dev, "Got XPT_SET_TRAN_SETTINGS\n"); + dwmmc_cam_settran_settings(sc, ccb); ccb->ccb_h.status = CAM_REQ_CMP; break; From owner-svn-src-all@freebsd.org Mon Aug 17 20:11:44 2020 Return-Path: Delivered-To: svn-src-all@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 343663BB154; Mon, 17 Aug 2020 20:11:44 +0000 (UTC) (envelope-from jhb@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 4BVlYr0gqVz4CW4; Mon, 17 Aug 2020 20:11:44 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EE90026481; Mon, 17 Aug 2020 20:11:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HKBhuq029203; Mon, 17 Aug 2020 20:11:43 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HKBh8F029202; Mon, 17 Aug 2020 20:11:43 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202008172011.07HKBh8F029202@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 17 Aug 2020 20:11:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364325 - head X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 364325 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 20:11:44 -0000 Author: jhb Date: Mon Aug 17 20:11:43 2020 New Revision: 364325 URL: https://svnweb.freebsd.org/changeset/base/364325 Log: Add a USE_GCC_TOOLCHAINS knob to make universe. This uses GCC toolchains instead of LLVM on architectures supported by GCC. Currently this uses GCC 6 on aarch64, amd64, i386, and mips. Although this does also try to use GCC 6 on powerpc, it is always skipped for now since a powerpc-gcc6 package is not available and the structure of make universe makes it hard to skip a subset of arches for a target. This should be short-lived as freebsd-gcc9 does include a powerpc-gcc9 package so powerpc should work once this switches to GCC 9. Discussed with: emaste Differential Revision: https://reviews.freebsd.org/D25732 Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Mon Aug 17 20:07:14 2020 (r364324) +++ head/Makefile Mon Aug 17 20:11:43 2020 (r364325) @@ -513,14 +513,20 @@ TARGET_ARCHES_riscv?= riscv64 riscv64sf TARGET_ARCHES_${target}?= ${target} .endfor -# Remove architectures only supported by external toolchain from -# universe if required toolchain packages are missing. -# Note: We no longer have targets that require an external toolchain, but for -# now keep this block in case a new non-LLVM architecture is added and to reuse -# it for a future extenal GCC make universe variant. -_external_toolchain_targets= -.for target in ${_external_toolchain_targets} -.if ${_UNIVERSE_TARGETS:M${target}} +.if defined(USE_GCC_TOOLCHAINS) +TOOLCHAINS_amd64= amd64-gcc6 +TOOLCHAINS_arm64= aarch64-gcc6 +TOOLCHAINS_i386= i386-gcc6 +TOOLCHAINS_mips= mips-gcc6 +TOOLCHAINS_powerpc= powerpc-gcc6 powerpc64-gcc6 +TOOLCHAIN_powerpc64= powerpc64-gcc6 +.endif + +# If a target is using an external toolchain, set MAKE_PARAMS to enable use +# of the toolchain. If the external toolchain is missing, exclude the target +# from universe. +.for target in ${_UNIVERSE_TARGETS} +.if !empty(TOOLCHAINS_${target}) .for toolchain in ${TOOLCHAINS_${target}} .if !exists(/usr/local/share/toolchains/${toolchain}.mk) _UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:N${target}} @@ -530,6 +536,10 @@ universe_${toolchain}_skip: universe_prologue .PHONY @echo ">> ${target} skipped - install ${toolchain} port or package to build" .endif .endfor +.for arch in ${TARGET_ARCHES_${target}} +TOOLCHAIN_${arch}?= ${TOOLCHAINS_${target}:[1]} +MAKE_PARAMS_${arch}?= CROSS_TOOLCHAIN=${TOOLCHAIN_${arch}} +.endfor .endif .endfor @@ -604,7 +614,7 @@ universe_${target}_worlds: .PHONY _need_clang_${target}_${target_arch} != \ env TARGET=${target} TARGET_ARCH=${target_arch} \ ${SUB_MAKE} -C ${.CURDIR} -f Makefile.inc1 test-system-compiler \ - ${MAKE_PARAMS_${target}} -V MK_CLANG_BOOTSTRAP 2>/dev/null || \ + ${MAKE_PARAMS_${target_arch}} -V MK_CLANG_BOOTSTRAP 2>/dev/null || \ echo unknown .export _need_clang_${target}_${target_arch} .endif @@ -612,7 +622,7 @@ _need_clang_${target}_${target_arch} != \ _need_lld_${target}_${target_arch} != \ env TARGET=${target} TARGET_ARCH=${target_arch} \ ${SUB_MAKE} -C ${.CURDIR} -f Makefile.inc1 test-system-linker \ - ${MAKE_PARAMS_${target}} -V MK_LLD_BOOTSTRAP 2>/dev/null || \ + ${MAKE_PARAMS_${target_arch}} -V MK_LLD_BOOTSTRAP 2>/dev/null || \ echo unknown .export _need_lld_${target}_${target_arch} .endif @@ -628,7 +638,7 @@ _need_lld_${target}_${target_arch} != \ # supports all TARGETS though. # For now we only pass UNIVERSE_TOOLCHAIN_PATH which will be added at the end # of STRICTTMPPATH to ensure that the target-specific binaries come first. -MAKE_PARAMS_${target}+= \ +MAKE_PARAMS_${target_arch}+= \ XCC="${HOST_OBJTOP}/tmp/usr/bin/cc" \ XCXX="${HOST_OBJTOP}/tmp/usr/bin/c++" \ XCPP="${HOST_OBJTOP}/tmp/usr/bin/cpp" \ @@ -636,7 +646,7 @@ MAKE_PARAMS_${target}+= \ .endif .if defined(_need_lld_${target}_${target_arch}) && \ ${_need_lld_${target}_${target_arch}} == "yes" -MAKE_PARAMS_${target}+= \ +MAKE_PARAMS_${target_arch}+= \ XLD="${HOST_OBJTOP}/tmp/usr/bin/ld" .endif .endfor @@ -659,7 +669,7 @@ universe_${target}_${target_arch}: universe_${target}_ ${SUB_MAKE} ${JFLAG} ${UNIVERSE_TARGET} \ TARGET=${target} \ TARGET_ARCH=${target_arch} \ - ${MAKE_PARAMS_${target}} \ + ${MAKE_PARAMS_${target_arch}} \ > _.${target}.${target_arch}.${UNIVERSE_TARGET} 2>&1 || \ (echo "${target}.${target_arch} ${UNIVERSE_TARGET} failed," \ "check _.${target}.${target_arch}.${UNIVERSE_TARGET} for details" | \ @@ -724,7 +734,7 @@ universe_kernconf_${TARGET}_${kernel}: .MAKE ${SUB_MAKE} ${JFLAG} buildkernel \ TARGET=${TARGET} \ TARGET_ARCH=${TARGET_ARCH_${kernel}} \ - ${MAKE_PARAMS_${TARGET}} \ + ${MAKE_PARAMS_${TARGET_ARCH}} \ KERNCONF=${kernel} \ > _.${TARGET}.${kernel} 2>&1 || \ (echo "${TARGET} ${kernel} kernel failed," \ From owner-svn-src-all@freebsd.org Mon Aug 17 20:16:34 2020 Return-Path: Delivered-To: svn-src-all@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 49BDE3BB173; Mon, 17 Aug 2020 20:16:34 +0000 (UTC) (envelope-from bz@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 4BVlgQ1KQ6z4Cxr; Mon, 17 Aug 2020 20:16:34 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1129C262B8; Mon, 17 Aug 2020 20:16:34 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HKGXL9032742; Mon, 17 Aug 2020 20:16:33 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HKGXhh032741; Mon, 17 Aug 2020 20:16:33 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008172016.07HKGXhh032741@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 20:16:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364326 - head/sys/net80211 X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head/sys/net80211 X-SVN-Commit-Revision: 364326 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 20:16:34 -0000 Author: bz Date: Mon Aug 17 20:16:33 2020 New Revision: 364326 URL: https://svnweb.freebsd.org/changeset/base/364326 Log: net80211: VHT correct NSS Set loop boundary For the tuple, NSS is 1..8 (or in our loop case 0..7 but not 0..6). Correct the boundry to check for < 8 and not < 7. MFC after: 2 weeks Reviewed by: adrian Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Differential Revision: https://reviews.freebsd.org/D26087 Modified: head/sys/net80211/ieee80211_vht.c Modified: head/sys/net80211/ieee80211_vht.c ============================================================================== --- head/sys/net80211/ieee80211_vht.c Mon Aug 17 20:11:43 2020 (r364325) +++ head/sys/net80211/ieee80211_vht.c Mon Aug 17 20:16:33 2020 (r364326) @@ -218,7 +218,7 @@ ieee80211_vht_announce(struct ieee80211com *ic) IEEE80211_VHTCAP_BITS); /* For now, just 5GHz VHT. Worry about 2GHz VHT later */ - for (i = 0; i < 7; i++) { + for (i = 0; i < 8; i++) { /* Each stream is 2 bits */ tx = (ic->ic_vht_mcsinfo.tx_mcs_map >> (2*i)) & 0x3; rx = (ic->ic_vht_mcsinfo.rx_mcs_map >> (2*i)) & 0x3; From owner-svn-src-all@freebsd.org Mon Aug 17 20:18:02 2020 Return-Path: Delivered-To: svn-src-all@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 9755C3BB35C; Mon, 17 Aug 2020 20:18:02 +0000 (UTC) (envelope-from bz@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 4BVlj63SR1z4DLW; Mon, 17 Aug 2020 20:18:02 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5A26D26564; Mon, 17 Aug 2020 20:18:02 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HKI2jA032898; Mon, 17 Aug 2020 20:18:02 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HKI2UR032897; Mon, 17 Aug 2020 20:18:02 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008172018.07HKI2UR032897@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Mon, 17 Aug 2020 20:18:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364327 - head/sys/net80211 X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head/sys/net80211 X-SVN-Commit-Revision: 364327 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 20:18:02 -0000 Author: bz Date: Mon Aug 17 20:18:01 2020 New Revision: 364327 URL: https://svnweb.freebsd.org/changeset/base/364327 Log: net80211: replace magic number by define Rather than coding an array size of [4] replace the number with WME_NUM_AC. MFC after: 2 weeks Reviewed by: adrian Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Differential Revision: https://reviews.freebsd.org/D26090 Modified: head/sys/net80211/ieee80211_proto.h Modified: head/sys/net80211/ieee80211_proto.h ============================================================================== --- head/sys/net80211/ieee80211_proto.h Mon Aug 17 20:16:33 2020 (r364326) +++ head/sys/net80211/ieee80211_proto.h Mon Aug 17 20:18:01 2020 (r364327) @@ -286,7 +286,7 @@ struct ieee80211_wme_state { u_int wme_hipri_switch_thresh;/* aggressive mode switch thresh */ u_int wme_hipri_switch_hysteresis;/* aggressive mode switch hysteresis */ - struct wmeParams wme_params[4]; /* from assoc resp for each AC*/ + struct wmeParams wme_params[WME_NUM_AC]; /* from assoc resp for each AC */ struct chanAccParams wme_wmeChanParams; /* WME params applied to self */ struct chanAccParams wme_wmeBssChanParams;/* WME params bcast to stations */ struct chanAccParams wme_chanParams; /* params applied to self */ From owner-svn-src-all@freebsd.org Mon Aug 17 20:23:52 2020 Return-Path: Delivered-To: svn-src-all@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 579BF3BB8B1; Mon, 17 Aug 2020 20:23:52 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BVlqq4ltSz4DfJ; Mon, 17 Aug 2020 20:23:51 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 07HKNh1u061926; Mon, 17 Aug 2020 13:23:43 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 07HKNh1q061925; Mon, 17 Aug 2020 13:23:43 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202008172023.07HKNh1q061925@gndrsh.dnsmgr.net> Subject: Re: svn commit: r364321 - head/sbin/ipfw In-Reply-To: <202008171853.07HIrNAC082123@repo.freebsd.org> To: Ed Maste Date: Mon, 17 Aug 2020 13:23:43 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4BVlqq4ltSz4DfJ X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 20:23:52 -0000 [ Charset UTF-8 unsupported, converting... ] > Author: emaste > Date: Mon Aug 17 18:53:23 2020 > New Revision: 364321 > URL: https://svnweb.freebsd.org/changeset/base/364321 > > Log: > ipfw: line up `ipfw -t list` with and without timestamp > > From the PR: > When I run `ipfw -t list` on release/12 or current, I get misaligned > output between lines that do and do not have a last match timestamp, > like so: > > 00100 Tue Aug 11 03:03:26 2020 allow ip from any to any via lo0 > 00200 deny ip from any to 127.0.0.0/8 > > (specifically, the "allow" and "deny" strings do not line up) > > PR: 248608 > Submitted by: Taylor Stearns > MFC after: 3 days > > Modified: > head/sbin/ipfw/ipfw2.c > > Modified: head/sbin/ipfw/ipfw2.c > ============================================================================== > --- head/sbin/ipfw/ipfw2.c Mon Aug 17 17:48:28 2020 (r364320) > +++ head/sbin/ipfw/ipfw2.c Mon Aug 17 18:53:23 2020 (r364321) > @@ -2199,7 +2199,7 @@ show_static_rule(struct cmdline_opts *co, struct forma > *strchr(timestr, '\n') = '\0'; > bprintf(bp, "%s ", timestr); ^ Isnt this the +1 space? > } else { > - bprintf(bp, "%*s", twidth, " "); > + bprintf(bp, "%*s", twidth + 1, " "); ^missing from this string? > } > } > > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Mon Aug 17 21:30:16 2020 Return-Path: Delivered-To: svn-src-all@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 314173BCADE; Mon, 17 Aug 2020 21:30:16 +0000 (UTC) (envelope-from markj@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 4BVnJS0XK7z4JVV; Mon, 17 Aug 2020 21:30:16 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E571426D5C; Mon, 17 Aug 2020 21:30:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HLUFAL076860; Mon, 17 Aug 2020 21:30:15 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HLUFl8076859; Mon, 17 Aug 2020 21:30:15 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008172130.07HLUFl8076859@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 17 Aug 2020 21:30:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364328 - head/sys/compat/linux X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/compat/linux X-SVN-Commit-Revision: 364328 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 21:30:16 -0000 Author: markj Date: Mon Aug 17 21:30:15 2020 New Revision: 364328 URL: https://svnweb.freebsd.org/changeset/base/364328 Log: Fix a lock leak when emulating futex(FUTEX_WAIT_BITSET). Reported by: syzkaller MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/compat/linux/linux_futex.c Modified: head/sys/compat/linux/linux_futex.c ============================================================================== --- head/sys/compat/linux/linux_futex.c Mon Aug 17 20:18:01 2020 (r364327) +++ head/sys/compat/linux/linux_futex.c Mon Aug 17 21:30:15 2020 (r364328) @@ -643,6 +643,7 @@ futex_wait(struct futex *f, struct waiting_proc *wp, s if (bitset == 0) { LIN_SDT_PROBE1(futex, futex_wait, return, EINVAL); + futex_put(f, wp); return (EINVAL); } From owner-svn-src-all@freebsd.org Mon Aug 17 21:30:49 2020 Return-Path: Delivered-To: svn-src-all@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 CBFC43BCD4C; Mon, 17 Aug 2020 21:30:49 +0000 (UTC) (envelope-from markj@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 4BVnK5557Dz4JRM; Mon, 17 Aug 2020 21:30:49 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 928D426F3B; Mon, 17 Aug 2020 21:30:49 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07HLUnKt076923; Mon, 17 Aug 2020 21:30:49 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07HLUnmI076922; Mon, 17 Aug 2020 21:30:49 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008172130.07HLUnmI076922@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 17 Aug 2020 21:30:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364329 - head/sys/compat/linux X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/compat/linux X-SVN-Commit-Revision: 364329 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 21:30:49 -0000 Author: markj Date: Mon Aug 17 21:30:49 2020 New Revision: 364329 URL: https://svnweb.freebsd.org/changeset/base/364329 Log: Remove "emulation" of clone(CLONE_PARENT | CLONE_THREAD). On Linux this is supposed to result in EINVAL. Reported by: syzkaller MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/compat/linux/linux_fork.c Modified: head/sys/compat/linux/linux_fork.c ============================================================================== --- head/sys/compat/linux/linux_fork.c Mon Aug 17 21:30:15 2020 (r364328) +++ head/sys/compat/linux/linux_fork.c Mon Aug 17 21:30:49 2020 (r364329) @@ -244,6 +244,8 @@ linux_clone_thread(struct thread *td, struct linux_clo td->td_tid, (unsigned)args->flags, args->parent_tidptr, args->child_tidptr); + if ((args->flags & LINUX_CLONE_PARENT) != 0) + return (EINVAL); if (args->flags & LINUX_CLONE_PARENT_SETTID) if (args->parent_tidptr == NULL) return (EINVAL); @@ -304,12 +306,8 @@ linux_clone_thread(struct thread *td, struct linux_clo PROC_LOCK(p); p->p_flag |= P_HADTHREADS; + thread_link(newtd, p); bcopy(p->p_comm, newtd->td_name, sizeof(newtd->td_name)); - - if (args->flags & LINUX_CLONE_PARENT) - thread_link(newtd, p->p_pptr); - else - thread_link(newtd, p); thread_lock(td); /* let the scheduler know about these things. */ From owner-svn-src-all@freebsd.org Mon Aug 17 22:03:31 2020 Return-Path: Delivered-To: svn-src-all@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 2FC303BD3AA; Mon, 17 Aug 2020 22:03:31 +0000 (UTC) (envelope-from agapon@gmail.com) Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) (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 4BVp2p2mGfz4Knf; Mon, 17 Aug 2020 22:03:30 +0000 (UTC) (envelope-from agapon@gmail.com) Received: by mail-lj1-f182.google.com with SMTP id v12so19177125ljc.10; Mon, 17 Aug 2020 15:03:30 -0700 (PDT) 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:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=q5zVJ6Msx/1iBj6JvlWruy5eqg8f2/8ErE3CUGrGaqE=; b=ukmH+Nf+glP572jAUvwjL7Lgu2VpJmyJlQxkv27wwPvYm9FELYttgDOyFhEvuwVGpx GnruYg+k9818Nq4QYtbRdeaPinu6hGujnVKnZAMit2HpC+xyW5ZmKzDWZiQxVIiz1whY BvcKWODrypuaxIKtcfZdytII986f6lxtU0DucpJaugY96DCB5eWftuQd3CO8U5sZtIiL XENT9gcwU52VPrClKzggycVRfgkGDmsvPdtNe3lBRTLpSgI4uuZF3EtoNavsERQ5FDKa wqp3rX34vAGyEXOKm93/dADJygL33Yz2fbGJaR0q1nTaFHALnYSvFjnSTicJQH4bRmmR WIhw== X-Gm-Message-State: AOAM531D5FlEcuUZJZL22gk7NMJv8yta2TT1Arc+IvKGWbH/U2A+zrGt iZqowPc6gyveGsgxJFGIWLrUPvekbKY= X-Google-Smtp-Source: ABdhPJxCngj7pWkOhF8ofXC0vWSLCebCPvYnkRFar/1UUvCXmMZRsRjD3FOJjq9/k4k8ftsqNDQOLw== X-Received: by 2002:a2e:8798:: with SMTP id n24mr1915556lji.217.1597701807506; Mon, 17 Aug 2020 15:03:27 -0700 (PDT) Received: from [192.168.0.88] (east.meadow.volia.net. [93.72.151.96]) by smtp.googlemail.com with ESMTPSA id b16sm5336283ljk.24.2020.08.17.15.03.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Aug 2020 15:03:26 -0700 (PDT) Subject: Re: svn commit: r364310 - in head/sys: kern vm To: Gleb Smirnoff , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008171537.07HFb8a6058296@repo.freebsd.org> From: Andriy Gapon Openpgp: preference=signencrypt Autocrypt: addr=avg@FreeBSD.org; prefer-encrypt=mutual; keydata= mQINBFm4LIgBEADNB/3lT7f15UKeQ52xCFQx/GqHkSxEdVyLFZTmY3KyNPQGBtyvVyBfprJ7 mAeXZWfhat6cKNRAGZcL5EmewdQuUfQfBdYmKjbw3a9GFDsDNuhDA2QwFt8BmkiVMRYyvI7l N0eVzszWCUgdc3qqM6qqcgBaqsVmJluwpvwp4ZBXmch5BgDDDb1MPO8AZ2QZfIQmplkj8Y6Z AiNMknkmgaekIINSJX8IzRzKD5WwMsin70psE8dpL/iBsA2cpJGzWMObVTtCxeDKlBCNqM1i gTXta1ukdUT7JgLEFZk9ceYQQMJJtUwzWu1UHfZn0Fs29HTqawfWPSZVbulbrnu5q55R4PlQ /xURkWQUTyDpqUvb4JK371zhepXiXDwrrpnyyZABm3SFLkk2bHlheeKU6Yql4pcmSVym1AS4 dV8y0oHAfdlSCF6tpOPf2+K9nW1CFA8b/tw4oJBTtfZ1kxXOMdyZU5fiG7xb1qDgpQKgHUX8 7Rd2T1UVLVeuhYlXNw2F+a2ucY+cMoqz3LtpksUiBppJhw099gEXehcN2JbUZ2TueJdt1FdS ztnZmsHUXLxrRBtGwqnFL7GSd6snpGIKuuL305iaOGODbb9c7ne1JqBbkw1wh8ci6vvwGlzx rexzimRaBzJxlkjNfMx8WpCvYebGMydNoeEtkWldtjTNVsUAtQARAQABtB5BbmRyaXkgR2Fw b24gPGF2Z0BGcmVlQlNELm9yZz6JAlQEEwEIAD4WIQS+LEO7ngQnXA4Bjr538m7TUc1yjwUC WbgsiAIbIwUJBaOagAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRB38m7TUc1yj+JAEACV l9AK/nOWAt/9cufV2fRj0hdOqB1aCshtSrwHk/exXsDa4/FkmegxXQGY+3GWX3deIyesbVRL rYdtdK0dqJyT1SBqXK1h3/at9rxr9GQA6KWOxTjUFURsU7ok/6SIlm8uLRPNKO+yq0GDjgaO LzN+xykuBA0FlhQAXJnpZLcVfPJdWv7sSHGedL5ln8P8rxR+XnmsA5TUaaPcbhTB+mG+iKFj GghASDSfGqLWFPBlX/fpXikBDZ1gvOr8nyMY9nXhgfXpq3B6QCRYKPy58ChrZ5weeJZ29b7/ QdEO8NFNWHjSD9meiLdWQaqo9Y7uUxN3wySc/YUZxtS0bhAd8zJdNPsJYG8sXgKjeBQMVGuT eCAJFEYJqbwWvIXMfVWop4+O4xB+z2YE3jAbG/9tB/GSnQdVSj3G8MS80iLS58frnt+RSEw/ psahrfh0dh6SFHttE049xYiC+cM8J27Aaf0i9RflyITq57NuJm+AHJoU9SQUkIF0nc6lfA+o JRiyRlHZHKoRQkIg4aiKaZSWjQYRl5Txl0IZUP1dSWMX4s3XTMurC/pnja45dge/4ESOtJ9R 8XuIWg45Oq6MeIWdjKddGhRj3OohsltKgkEU3eLKYtB6qRTQypHHUawCXz88uYt5e3w4V16H lCpSTZV/EVHnNe45FVBlvK7k7HFfDDkryLkCDQRZuCyIARAAlq0slcsVboY/+IUJdcbEiJRW be9HKVz4SUchq0z9MZPX/0dcnvz/gkyYA+OuM78dNS7Mbby5dTvOqfpLJfCuhaNYOhlE0wY+ 1T6Tf1f4c/uA3U/YiadukQ3+6TJuYGAdRZD5EqYFIkreARTVWg87N9g0fT9BEqLw9lJtEGDY EWUE7L++B8o4uu3LQFEYxcrb4K/WKmgtmFcm77s0IKDrfcX4doV92QTIpLiRxcOmCC/OCYuO jB1oaaqXQzZrCutXRK0L5XN1Y1PYjIrEzHMIXmCDlLYnpFkK+itlXwlE2ZQxkfMruCWdQXye syl2fynAe8hvp7Mms9qU2r2K9EcJiR5N1t1C2/kTKNUhcRv7Yd/vwusK7BqJbhlng5ZgRx0m WxdntU/JLEntz3QBsBsWM9Y9wf2V4tLv6/DuDBta781RsCB/UrU2zNuOEkSixlUiHxw1dccI 6CVlaWkkJBxmHX22GdDFrcjvwMNIbbyfQLuBq6IOh8nvu9vuItup7qemDG3Ms6TVwA7BD3j+ 3fGprtyW8Fd/RR2bW2+LWkMrqHffAr6Y6V3h5kd2G9Q8ZWpEJk+LG6Mk3fhZhmCnHhDu6CwN MeUvxXDVO+fqc3JjFm5OxhmfVeJKrbCEUJyM8ESWLoNHLqjywdZga4Q7P12g8DUQ1mRxYg/L HgZY3zfKOqcAEQEAAYkCPAQYAQgAJhYhBL4sQ7ueBCdcDgGOvnfybtNRzXKPBQJZuCyIAhsM BQkFo5qAAAoJEHfybtNRzXKPBVwQAKfFy9P7N3OsLDMB56A4Kf+ZT+d5cIx0Yiaf4n6w7m3i ImHHHk9FIetI4Xe54a2IXh4Bq5UkAGY0667eIs+Z1Ea6I2i27Sdo7DxGwq09Qnm/Y65ADvXs 3aBvokCcm7FsM1wky395m8xUos1681oV5oxgqeRI8/76qy0hD9WR65UW+HQgZRIcIjSel9vR XDaD2HLGPTTGr7u4v00UeTMs6qvPsa2PJagogrKY8RXdFtXvweQFz78NbXhluwix2Tb9ETPk LIpDrtzV73CaE2aqBG/KrboXT2C67BgFtnk7T7Y7iKq4/XvEdDWscz2wws91BOXuMMd4c/c4 OmGW9m3RBLufFrOag1q5yUS9QbFfyqL6dftJP3Zq/xe+mr7sbWbhPVCQFrH3r26mpmy841ym dwQnNcsbIGiBASBSKksOvIDYKa2Wy8htPmWFTEOPRpFXdGQ27awcjjnB42nngyCK5ukZDHi6 w0qK5DNQQCkiweevCIC6wc3p67jl1EMFY5+z+zdTPb3h7LeVnGqW0qBQl99vVFgzLxchKcl0 R/paSFgwqXCZhAKMuUHncJuynDOP7z5LirUeFI8qsBAJi1rXpQoLJTVcW72swZ42IdPiboqx NbTMiNOiE36GqMcTPfKylCbF45JNX4nF9ElM0E+Y8gi4cizJYBRr2FBJgay0b9Cp Message-ID: <8f9d96f9-ecbb-1ed9-5347-b4b25662a6a2@FreeBSD.org> Date: Tue, 18 Aug 2020 01:03:25 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Firefox/60.0 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <202008171537.07HFb8a6058296@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1597701810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:openpgp:openpgp:autocrypt:autocrypt; bh=q5zVJ6Msx/1iBj6JvlWruy5eqg8f2/8ErE3CUGrGaqE=; b=dQBjWDq0+7UVAxVoKlgpYPKpGdTbYz29zxNXtyG4xzV4hAJuLef0eoXbatYAC4dN5lBxkY GBW0KgBJK4oggO2Fs+LK+kjpeh0BGUH4R+4/2CeXO32+IB/IgrE2rjCCQDI+RfNjMNK8ma OaTj7A2gnD86p8SRzWNERufq1IcOhoD3M4l6/ofgCJ/iaEgsAIK+sv12oE2NSQvCBFMGno ii8XoYNLQwres2wlGR0xhgstq31NtXiFgrHTTnHFZXrbvOP8udAZdJZnxn3dNNJMP9pAxR ChNEPfKzst/QFwXBxGb+nNOLJ/G1wio2cL6qShKbIIYw0XJyytUIRTOoQKDQmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1597701810; a=rsa-sha256; cv=none; b=o5iEz6a07Yx3tfRZx2VrUW568+R7gWhcryQDoKQfIbZ+5qc6+dBW0EZlmpEmudsJpF+mXf Qwxd1MTxsr20xnhbkziEN9H+5tE3HB66TxBkKLR8xbLBnt4yGrZtWnmo+Hd8W8P4Bsci2w JphqNEbDN33UDhTOWjGRJLdwHxEVzV/LJwhDV3BkTy9dqzf9O4EgRpPxODdV00m9Pxea1J jj9G5wWx+Bup63CfZQKuzXc6FJdglp5mouX6MREQxsCoc2o6XfxiChqBEl95yVobzuUfQR Zs/Jj0XpRkVbTG5/dPOtI5vG0KugMYD90Q0el9Sb0i7spxo+roBg2Q5jfZnd0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of agapon@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=agapon@gmail.com X-Rspamd-Queue-Id: 4BVp2p2mGfz4Knf X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of agapon@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=agapon@gmail.com X-Spamd-Result: default: False [-1.46 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; ARC_SIGNED(0.00)[i=1]; MID_RHS_MATCH_FROM(0.00)[]; NEURAL_HAM_LONG(-0.79)[-0.789]; RCVD_COUNT_THREE(0.00)[3]; DMARC_NA(0.00)[FreeBSD.org]; NEURAL_SPAM_SHORT(0.26)[0.259]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.182:from]; NEURAL_HAM_MEDIUM(-0.93)[-0.931]; FORGED_SENDER(0.30)[avg@FreeBSD.org,agapon@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.182:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[avg@FreeBSD.org,agapon@gmail.com]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[93.72.151.96:received] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 22:03:31 -0000 On 17/08/2020 18:37, Gleb Smirnoff wrote: > Author: glebius > Date: Mon Aug 17 15:37:08 2020 > New Revision: 364310 > URL: https://svnweb.freebsd.org/changeset/base/364310 > > Log: > With INVARIANTS panic immediately if M_WAITOK is requested in a > non-sleepable context. Previously only _sleep() would panic. > This will catch misuse of M_WAITOK at development stage rather > than at stress load stage. > > Reviewed by: markj > Differential Revision: https://reviews.freebsd.org/D26027 I think that there is going to be a lot of fallout from this. Will you handle it? A warning from WITNESS is one thing, a panic is another. -- Andriy Gapon From owner-svn-src-all@freebsd.org Mon Aug 17 22:15:06 2020 Return-Path: Delivered-To: svn-src-all@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 5D3433BD638 for ; Mon, 17 Aug 2020 22:15:06 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [IPv6:2607:f8b0:4864:20::730]) (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 4BVpJ90GYdz4LZ0 for ; Mon, 17 Aug 2020 22:15:04 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qk1-x730.google.com with SMTP id j187so16484702qke.11 for ; Mon, 17 Aug 2020 15:15:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=lFR1VSIDyfiHK822N2k6FvDdbRgpW2+9eUNldbQcBDc=; b=NSDLA2pdkn+koWNf1VaCb0Ky13l236RxHAKh6JXOsThCBBkFJqPkyRSh/PbSNBVgct m3137X5UTXLXcaal5L9OR6PMiFx3gcSG0mWuHSlf+CKiP0/Kw99X/HNiqZD2WvcIavys j2UKHzF4dHdHHmeOOhKUFYdaJB/bBkJQO7hG5Fl3GSzqkxRqrwpjKmpEbbqicjgP3Sbh fzmSPQzaWk1e/BUc/EMB6HbEBX2BY+ZNR/C1GjucIlw86cRRkBMt8lIL3HQcj0qPgudx W9T0q9QcJZNurqcKFslP4CU1iILQBMdBHWftgYev7uk8vAZyfLSVmHm2tqFNTSLMT8Qr FjzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=lFR1VSIDyfiHK822N2k6FvDdbRgpW2+9eUNldbQcBDc=; b=HZlWg7+zAEOCxa8Bn5sKtsvwamTcPDYwFkm0cBNoE5mrzkZzddR9YIBlNfSrFUa4Vg WszADxwCs2nv0DuNvfM3sijwtN/S1tRubeUmZdCoU1YPqPF6gqSPv85ccSEeBbB/tIgF EUpj/wd0u6r9tHQmor1e+ojuow2Z8YOYk+RFQEeVZnVdOgJfkDso24JybNAA8/1/hbdM K6hfjuIk1yGfOrLmez5snSfaRJovZLD6ZL6b97uMXuJVALuMh1A3gJVDkt7np8HOllxl 1f7VoYRe3i8cuOecjJSE5+Vq9TZ0MMsU7LffdxKFIh6AHpD19yX0mqYwHNRQ3q1mGnxy Z1ag== X-Gm-Message-State: AOAM53320kK+7pyPmW0tUSJteTTzw5g7BoNl0UDi0aNDq3sXNkOEtB+h 68dCbDOuJFB0r/qG+tU8zNbQGg== X-Google-Smtp-Source: ABdhPJzdEYhSgb+BEG4bvd05shdfbKQfDV9Erf4eQIkrooMpIbw/r37Y2iPD1L0bNqm9wE99kirDtQ== X-Received: by 2002:a37:a7cc:: with SMTP id q195mr14551284qke.110.1597702503949; Mon, 17 Aug 2020 15:15:03 -0700 (PDT) Received: from mutt-hbsd (pool-100-16-231-224.bltmmd.fios.verizon.net. [100.16.231.224]) by smtp.gmail.com with ESMTPSA id a67sm19108421qkd.40.2020.08.17.15.15.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2020 15:15:03 -0700 (PDT) Date: Mon, 17 Aug 2020 18:15:02 -0400 From: Shawn Webb To: Andriy Gapon Cc: Gleb Smirnoff , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364310 - in head/sys: kern vm Message-ID: <20200817221502.gznykq3pvwac3vf6@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 13.0-CURRENT-HBSD FreeBSD 13.0-CURRENT-HBSD X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0xFF2E67A277F8E1FA References: <202008171537.07HFb8a6058296@repo.freebsd.org> <8f9d96f9-ecbb-1ed9-5347-b4b25662a6a2@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="a54n37xuvb26dzdp" Content-Disposition: inline In-Reply-To: <8f9d96f9-ecbb-1ed9-5347-b4b25662a6a2@FreeBSD.org> ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1597702505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=lFR1VSIDyfiHK822N2k6FvDdbRgpW2+9eUNldbQcBDc=; b=G3x3iRnsglJahTa807cOeJzvnD/dFzt2qGw3Us8C8BghGxqbbPwf25uMR/75xYlHyPAw+a Yyo4af5GEWL0zhNuaLlgX3RcVa3NV+RaFc38jQ9q7w3ML/RrcOvfAY+oNxrcWcimJZn9KG hpqxffsDHKZJ0SeezHrLyvUE/T/Rj+MVjFrdRbkw+bDX+9Uy4lo4clfj3P2igBCDeRi4QP obBkyaB8pfwgu4Rnx3zhzP9hTCcK30lG2sRlhNR+yWUt5jBBVPQTvSwZ048F97CU6vZ15X CiBuqhGKLbS5TisDSOjcR24poaOg1VO9wHFbBgrPV7w4NbGLjoSloRNMeUuERw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1597702505; a=rsa-sha256; cv=none; b=S22/3QuLQs4PW17KKtFVuSK97Yy7tL9YK3S3AnbDrdgBvG3nlQKAhW2eeZelOXdRDd/baU Zw4zR5E/cQwXQezLLfAShGAKdWv5lUUy9HmeCbVP0w4hJmk8aLlK38ld3Y6Q+QW176k2Yj VPGcoizTwE3XtRppc7AdDHf0SbaE9modGnZ1SLcNcTKGRrJDXXRctYRQOv9mr5wesQM9kP BJU8DRIRvYNzOsBdOq38W+1NZrLtF3ESAdQ5DCNRN4cGYrGnNfeGWGrTiY4jvHATUAPAHl Kbw0rfzwzQAiZRCSdYSJFgjAEBLaDViQymDdDTvLl1tw9iXpjDf2tt3Bn1My8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=NSDLA2pd; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::730 as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org X-Rspamd-Queue-Id: 4BVpJ90GYdz4LZ0 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=NSDLA2pd; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::730 as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org X-Spamd-Result: default: False [-4.65 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org:s=google]; NEURAL_HAM_MEDIUM(-0.99)[-0.987]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; NEURAL_HAM_LONG(-0.98)[-0.978]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[hardenedbsd.org]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[hardenedbsd.org:+]; NEURAL_HAM_SHORT(-0.59)[-0.590]; ARC_SIGNED(0.00)[i=1]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::730:from]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[100.16.231.224:received] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 22:15:06 -0000 --a54n37xuvb26dzdp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Aug 18, 2020 at 01:03:25AM +0300, Andriy Gapon wrote: > On 17/08/2020 18:37, Gleb Smirnoff wrote: > > Author: glebius > > Date: Mon Aug 17 15:37:08 2020 > > New Revision: 364310 > > URL: https://svnweb.freebsd.org/changeset/base/364310 > >=20 > > Log: > > With INVARIANTS panic immediately if M_WAITOK is requested in a > > non-sleepable context. Previously only _sleep() would panic. > > This will catch misuse of M_WAITOK at development stage rather > > than at stress load stage. > > =20 > > Reviewed by: markj > > Differential Revision: https://reviews.freebsd.org/D26027 >=20 > I think that there is going to be a lot of fallout from this. > Will you handle it? > A warning from WITNESS is one thing, a panic is another. Hint: There may also be fallout downstream. ;P Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Sha= wn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --a54n37xuvb26dzdp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAl87AWMACgkQ/y5nonf4 4fqmnxAAh7h8+dvVZkceVZ/OWBad2RcA85ak+LNGTzcbj0MMNaoX2OQMHAljutcl /pkXwPvVwTY/k+thjUZhDkpi/JzRyk5F5OCwXVDsL0ZFwAIv0qKTnWEttpa2LRw8 iiiWAWNLobjWk+PNXVxWdDaCh5EfncdzWHWSl2zml6BMrDBSpqTzvKoAkmgUNqzs AeQF2iEB7fl5IRSDZr68hsaTdAk3jiCU9neL2Ykh5hp7+8yL/cALH9/DhizjGpN9 xoNsTl4BhmDoV9l+10+sxSmczTmQbCDIMMfCOwJdGPy2o5Q2oSd+p2yoMOvzV0Mm Xpfhg9VjlcWxI7BJjminykZBgpxK4IeyGMBMa2RFCU26NIjI9rXoYg9z7wjLCP+X O3R0PA/W38/fjb5OvRMIkIoGhaFXiq/+wUuo2VFh7u7tevdmdP4PnZ9mTQQJM6kZ whKGShcEhkE2YPP9DhEUWoPoqHbekkysxOjNG7hBKsuD8RTMs4VMJZxLJivu8Ina 8R4rkKMGogP07ODzu2NzMP0c0KAAPTamjmAbSKWo0XmhbWHjgOCzEq2FIB9ROhiJ 4U/8izSEjbGKQ4NlWoMI95n2jmA9wcnlqAqM1lOlFY6ZcyvbpmixRmyYtn0qaW5n sWnV+/uUQ2iFwDE1JEo4SQAQnGaC2whhfqzFLeCS2D7mrq3bUnA= =PuIW -----END PGP SIGNATURE----- --a54n37xuvb26dzdp-- From owner-svn-src-all@freebsd.org Mon Aug 17 22:22:33 2020 Return-Path: Delivered-To: svn-src-all@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 6D7FF3BD822; Mon, 17 Aug 2020 22:22:33 +0000 (UTC) (envelope-from jhb@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 4BVpSn2Lqhz4LYn; Mon, 17 Aug 2020 22:22:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-274.local (unknown [IPv6:2601:648:8203:2990:914c:c07d:8b0a:45e8]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id C3E0723D14; Mon, 17 Aug 2020 22:22:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r364325 - head From: John Baldwin To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008172011.07HKBh8F029202@repo.freebsd.org> Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: Date: Mon, 17 Aug 2020 15:22:31 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <202008172011.07HKBh8F029202@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2020 22:22:33 -0000 On 8/17/20 1:11 PM, John Baldwin wrote: > Author: jhb > Date: Mon Aug 17 20:11:43 2020 > New Revision: 364325 > URL: https://svnweb.freebsd.org/changeset/base/364325 > > Log: > Add a USE_GCC_TOOLCHAINS knob to make universe. > > This uses GCC toolchains instead of LLVM on architectures supported by > GCC. Currently this uses GCC 6 on aarch64, amd64, i386, and mips. > > Although this does also try to use GCC 6 on powerpc, it is always > skipped for now since a powerpc-gcc6 package is not available and the > structure of make universe makes it hard to skip a subset of arches > for a target. This should be short-lived as freebsd-gcc9 does include > a powerpc-gcc9 package so powerpc should work once this switches to > GCC 9. The goal of this change is to make it easier to do a tinderbox run with GCC rather than clang for things like warning coverage, etc. I'm currently working on a branch to move this to GCC 9 which adds the powerpc and riscv leaving only 32-bit arm as the arch without a GCC external toolchain (which I might rectify at some point). However, with GCC 9 I currently am working through a few issues: - For i386, gcc wants some __atomic functions for 64-bit when linking lldb even though I've changed it to default to -march=i686 like clang which should let it use cmpxchg8b instead AFAIK. - powerpc64 generates an ICE trying to build CSU bits. - powerpc is running into issues with secureplt though I have fixes for that that I'm testing. - riscv wants to use some __atomic functions which seems odd. -- John Baldwin From owner-svn-src-all@freebsd.org Tue Aug 18 01:41:13 2020 Return-Path: Delivered-To: svn-src-all@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 9D8303A958B; Tue, 18 Aug 2020 01:41:13 +0000 (UTC) (envelope-from rmacklem@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 4BVtt147mGz4Wq5; Tue, 18 Aug 2020 01:41:13 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 56EE3A198; Tue, 18 Aug 2020 01:41:13 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I1fDtq031983; Tue, 18 Aug 2020 01:41:13 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I1fCZj031304; Tue, 18 Aug 2020 01:41:12 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202008180141.07I1fCZj031304@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 18 Aug 2020 01:41:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364330 - in head/sys/fs: nfs nfsclient nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfs nfsclient nfsserver X-SVN-Commit-Revision: 364330 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 01:41:13 -0000 Author: rmacklem Date: Tue Aug 18 01:41:12 2020 New Revision: 364330 URL: https://svnweb.freebsd.org/changeset/base/364330 Log: Delete the unused "use_ext" argument to nfscl_reqstart(). This is a partial revert of r363210, since the "use_ext" argument added by that commit is not actually useful. This patch should not result in any semantics change. Modified: head/sys/fs/nfs/nfs_commonsubs.c head/sys/fs/nfs/nfs_var.h head/sys/fs/nfs/nfscl.h head/sys/fs/nfsclient/nfs_clrpcops.c head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Mon Aug 17 21:30:49 2020 (r364329) +++ head/sys/fs/nfs/nfs_commonsubs.c Tue Aug 18 01:41:12 2020 (r364330) @@ -319,7 +319,7 @@ static int nfs_bigrequest[NFSV42_NPROCS] = { void nfscl_reqstart(struct nfsrv_descript *nd, int procnum, struct nfsmount *nmp, u_int8_t *nfhp, int fhlen, u_int32_t **opcntpp, struct nfsclsession *sep, - int vers, int minorvers, bool use_ext) + int vers, int minorvers) { struct mbuf *mb; u_int32_t *tl; @@ -352,26 +352,18 @@ nfscl_reqstart(struct nfsrv_descript *nd, int procnum, } nd->nd_procnum = procnum; nd->nd_repstat = 0; - nd->nd_maxextsiz = 16384; - if (use_ext && mb_use_ext_pgs && PMAP_HAS_DMAP != 0) - nd->nd_flag |= ND_EXTPG; + nd->nd_maxextsiz = 0; /* * Get the first mbuf for the request. */ - if ((nd->nd_flag & ND_EXTPG) != 0) { - mb = mb_alloc_ext_plus_pages(PAGE_SIZE, M_WAITOK); - nd->nd_mreq = nd->nd_mb = mb; - nfsm_set(nd, 0); - } else { - if (nfs_bigrequest[procnum]) - NFSMCLGET(mb, M_WAITOK); - else - NFSMGET(mb); - mb->m_len = 0; - nd->nd_mreq = nd->nd_mb = mb; - nd->nd_bpos = mtod(mb, char *); - } + if (nfs_bigrequest[procnum]) + NFSMCLGET(mb, M_WAITOK); + else + NFSMGET(mb); + mb->m_len = 0; + nd->nd_mreq = nd->nd_mb = mb; + nd->nd_bpos = mtod(mb, char *); /* * And fill the first file handle into the request. Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Mon Aug 17 21:30:49 2020 (r364329) +++ head/sys/fs/nfs/nfs_var.h Tue Aug 18 01:41:12 2020 (r364330) @@ -312,7 +312,7 @@ void nfsrc_trimcache(uint64_t, uint32_t, int); /* nfs_commonsubs.c */ void nfscl_reqstart(struct nfsrv_descript *, int, struct nfsmount *, - u_int8_t *, int, u_int32_t **, struct nfsclsession *, int, int, bool); + u_int8_t *, int, u_int32_t **, struct nfsclsession *, int, int); void nfsm_stateidtom(struct nfsrv_descript *, nfsv4stateid_t *, int); void nfscl_fillsattr(struct nfsrv_descript *, struct vattr *, vnode_t, int, u_int32_t); Modified: head/sys/fs/nfs/nfscl.h ============================================================================== --- head/sys/fs/nfs/nfscl.h Mon Aug 17 21:30:49 2020 (r364329) +++ head/sys/fs/nfs/nfscl.h Tue Aug 18 01:41:12 2020 (r364330) @@ -52,7 +52,7 @@ struct nfsv4node { #define NFSCL_REQSTART(n, p, v) \ nfscl_reqstart((n), (p), VFSTONFS((v)->v_mount), \ VTONFS(v)->n_fhp->nfh_fh, VTONFS(v)->n_fhp->nfh_len, NULL, \ - NULL, 0, 0, false) + NULL, 0, 0) /* * These two macros convert between a lease duration and renew interval. Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Mon Aug 17 21:30:49 2020 (r364329) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Tue Aug 18 01:41:12 2020 (r364330) @@ -499,8 +499,7 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int dp = *dpp; *dpp = NULL; - nfscl_reqstart(nd, NFSPROC_OPEN, nmp, nfhp, fhlen, NULL, NULL, 0, 0, - false); + nfscl_reqstart(nd, NFSPROC_OPEN, nmp, nfhp, fhlen, NULL, NULL, 0, 0); NFSM_BUILD(tl, u_int32_t *, 5 * NFSX_UNSIGNED); *tl++ = txdr_unsigned(op->nfso_own->nfsow_seqid); *tl++ = txdr_unsigned(mode & NFSV4OPEN_ACCESSBOTH); @@ -856,7 +855,7 @@ nfsrpc_closerpc(struct nfsrv_descript *nd, struct nfsm int error; nfscl_reqstart(nd, NFSPROC_CLOSE, nmp, op->nfso_fh, - op->nfso_fhlen, NULL, NULL, 0, 0, false); + op->nfso_fhlen, NULL, NULL, 0, 0); NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED + NFSX_STATEID); *tl++ = txdr_unsigned(op->nfso_own->nfsow_seqid); if (NFSHASNFSV4N(nmp)) @@ -899,7 +898,7 @@ nfsrpc_openconfirm(vnode_t vp, u_int8_t *nfhp, int fhl if (NFSHASNFSV4N(nmp)) return (0); /* No confirmation for NFSv4.1. */ nfscl_reqstart(nd, NFSPROC_OPENCONFIRM, nmp, nfhp, fhlen, NULL, NULL, - 0, 0, false); + 0, 0); NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED + NFSX_STATEID); *tl++ = op->nfso_stateid.seqid; *tl++ = op->nfso_stateid.other[0]; @@ -1069,8 +1068,7 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclcli tsep = NFSMNT_MDSSESSION(nmp); NFSUNLOCKMNT(nmp); - nfscl_reqstart(nd, NFSPROC_SETCLIENTID, nmp, NULL, 0, NULL, NULL, 0, 0, - false); + nfscl_reqstart(nd, NFSPROC_SETCLIENTID, nmp, NULL, 0, NULL, NULL, 0, 0); NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); *tl++ = txdr_unsigned(nfsboottime.tv_sec); *tl = txdr_unsigned(clp->nfsc_rev); @@ -1140,7 +1138,7 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclcli * and confirm it. */ nfscl_reqstart(nd, NFSPROC_SETCLIENTIDCFRM, nmp, NULL, 0, NULL, - NULL, 0, 0, false); + NULL, 0, 0); NFSM_BUILD(tl, u_int32_t *, 4 * NFSX_UNSIGNED); *tl++ = tsep->nfsess_clientid.lval[0]; *tl++ = tsep->nfsess_clientid.lval[1]; @@ -1155,7 +1153,7 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclcli nd->nd_mrep = NULL; if (nd->nd_repstat == 0) { nfscl_reqstart(nd, NFSPROC_GETATTR, nmp, nmp->nm_fh, - nmp->nm_fhsize, NULL, NULL, 0, 0, false); + nmp->nm_fhsize, NULL, NULL, 0, 0); NFSZERO_ATTRBIT(&attrbits); NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_LEASETIME); (void) nfsrv_putattrbit(nd, &attrbits); @@ -1222,8 +1220,7 @@ nfsrpc_getattrnovp(struct nfsmount *nmp, u_int8_t *fhp int error, vers = NFS_VER2; nfsattrbit_t attrbits; - nfscl_reqstart(nd, NFSPROC_GETATTR, nmp, fhp, fhlen, NULL, NULL, 0, 0, - false); + nfscl_reqstart(nd, NFSPROC_GETATTR, nmp, fhp, fhlen, NULL, NULL, 0, 0); if (nd->nd_flag & ND_NFSV4) { vers = NFS_VER4; NFSGETATTR_ATTRBIT(&attrbits); @@ -4165,7 +4162,7 @@ nfsrpc_locku(struct nfsrv_descript *nd, struct nfsmoun int error; nfscl_reqstart(nd, NFSPROC_LOCKU, nmp, lp->nfsl_open->nfso_fh, - lp->nfsl_open->nfso_fhlen, NULL, NULL, 0, 0, false); + lp->nfsl_open->nfso_fhlen, NULL, NULL, 0, 0); NFSM_BUILD(tl, u_int32_t *, NFSX_STATEID + 6 * NFSX_UNSIGNED); *tl++ = txdr_unsigned(type); *tl = txdr_unsigned(lp->nfsl_seqid); @@ -4217,8 +4214,7 @@ nfsrpc_lock(struct nfsrv_descript *nd, struct nfsmount uint8_t own[NFSV4CL_LOCKNAMELEN + NFSX_V4FHMAX]; struct nfsclsession *tsep; - nfscl_reqstart(nd, NFSPROC_LOCK, nmp, nfhp, fhlen, NULL, NULL, 0, 0, - false); + nfscl_reqstart(nd, NFSPROC_LOCK, nmp, nfhp, fhlen, NULL, NULL, 0, 0); NFSM_BUILD(tl, u_int32_t *, 7 * NFSX_UNSIGNED); if (type == F_RDLCK) *tl++ = txdr_unsigned(NFSV4LOCKT_READ); @@ -4492,10 +4488,10 @@ nfsrpc_renew(struct nfsclclient *clp, struct nfsclds * return (0); if (dsp == NULL) nfscl_reqstart(nd, NFSPROC_RENEW, nmp, NULL, 0, NULL, NULL, 0, - 0, false); + 0); else nfscl_reqstart(nd, NFSPROC_RENEW, nmp, NULL, 0, NULL, - &dsp->nfsclds_sess, 0, 0, false); + &dsp->nfsclds_sess, 0, 0); if (!NFSHASNFSV4N(nmp)) { /* NFSv4.1 just uses a Sequence Op and not a Renew. */ NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); @@ -4542,11 +4538,11 @@ nfsrpc_rellockown(struct nfsmount *nmp, struct nfscllo if (NFSHASNFSV4N(nmp)) { /* For NFSv4.1, do a FreeStateID. */ nfscl_reqstart(nd, NFSPROC_FREESTATEID, nmp, NULL, 0, NULL, - NULL, 0, 0, false); + NULL, 0, 0); nfsm_stateidtom(nd, &lp->nfsl_stateid, NFSSTATEID_PUTSTATEID); } else { nfscl_reqstart(nd, NFSPROC_RELEASELCKOWN, nmp, NULL, 0, NULL, - NULL, 0, 0, false); + NULL, 0, 0); NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); tsep = nfsmnt_mdssession(nmp); *tl++ = tsep->nfsess_clientid.lval[0]; @@ -4580,7 +4576,7 @@ nfsrpc_getdirpath(struct nfsmount *nmp, u_char *dirpat u_int32_t *opcntp; nfscl_reqstart(nd, NFSPROC_PUTROOTFH, nmp, NULL, 0, &opcntp, NULL, 0, - 0, false); + 0); cp = dirpath; cnt = 0; do { @@ -4647,7 +4643,7 @@ nfsrpc_delegreturn(struct nfscldeleg *dp, struct ucred int error; nfscl_reqstart(nd, NFSPROC_DELEGRETURN, nmp, dp->nfsdl_fh, - dp->nfsdl_fhlen, NULL, NULL, 0, 0, false); + dp->nfsdl_fhlen, NULL, NULL, 0, 0); NFSM_BUILD(tl, u_int32_t *, NFSX_STATEID); if (NFSHASNFSV4N(nmp)) *tl++ = 0; @@ -4760,7 +4756,7 @@ nfsrpc_exchangeid(struct nfsmount *nmp, struct nfsclcl if (minorvers == 0) minorvers = nmp->nm_minorvers; nfscl_reqstart(nd, NFSPROC_EXCHANGEID, nmp, NULL, 0, NULL, NULL, - NFS_VER4, minorvers, false); + NFS_VER4, minorvers); NFSM_BUILD(tl, uint32_t *, 2 * NFSX_UNSIGNED); *tl++ = txdr_unsigned(nfsboottime.tv_sec); /* Client owner */ *tl = txdr_unsigned(clp->nfsc_rev); @@ -4856,7 +4852,7 @@ nfsrpc_createsession(struct nfsmount *nmp, struct nfsc else minorvers = NFSV41_MINORVERSION; nfscl_reqstart(nd, NFSPROC_CREATESESSION, nmp, NULL, 0, NULL, NULL, - NFS_VER4, minorvers, false); + NFS_VER4, minorvers); NFSM_BUILD(tl, uint32_t *, 4 * NFSX_UNSIGNED); *tl++ = sep->nfsess_clientid.lval[0]; *tl++ = sep->nfsess_clientid.lval[1]; @@ -4983,7 +4979,7 @@ nfsrpc_destroysession(struct nfsmount *nmp, struct nfs struct nfsclsession *tsep; nfscl_reqstart(nd, NFSPROC_DESTROYSESSION, nmp, NULL, 0, NULL, NULL, 0, - 0, false); + 0); NFSM_BUILD(tl, uint32_t *, NFSX_V4SESSIONID); tsep = nfsmnt_mdssession(nmp); bcopy(tsep->nfsess_sessionid, tl, NFSX_V4SESSIONID); @@ -5011,7 +5007,7 @@ nfsrpc_destroyclient(struct nfsmount *nmp, struct nfsc struct nfsclsession *tsep; nfscl_reqstart(nd, NFSPROC_DESTROYCLIENT, nmp, NULL, 0, NULL, NULL, 0, - 0, false); + 0); NFSM_BUILD(tl, uint32_t *, 2 * NFSX_UNSIGNED); tsep = nfsmnt_mdssession(nmp); *tl++ = tsep->nfsess_clientid.lval[0]; @@ -5040,7 +5036,7 @@ nfsrpc_layoutget(struct nfsmount *nmp, uint8_t *fhp, i int error; nfscl_reqstart(nd, NFSPROC_LAYOUTGET, nmp, fhp, fhlen, NULL, NULL, 0, - 0, false); + 0); nfsrv_setuplayoutget(nd, iomode, offset, len, minlen, stateidp, layouttype, layoutlen, 0); nd->nd_flag |= ND_USEGSSNAME; @@ -5084,7 +5080,7 @@ nfsrpc_getdeviceinfo(struct nfsmount *nmp, uint8_t *de ndi = NULL; gotdspp = NULL; nfscl_reqstart(nd, NFSPROC_GETDEVICEINFO, nmp, NULL, 0, NULL, NULL, 0, - 0, false); + 0); NFSM_BUILD(tl, uint32_t *, NFSX_V4DEVICEID + 3 * NFSX_UNSIGNED); NFSBCOPY(deviceid, tl, NFSX_V4DEVICEID); tl += (NFSX_V4DEVICEID / NFSX_UNSIGNED); @@ -5305,7 +5301,7 @@ nfsrpc_layoutcommit(struct nfsmount *nmp, uint8_t *fh, int error; nfscl_reqstart(nd, NFSPROC_LAYOUTCOMMIT, nmp, fh, fhlen, NULL, NULL, - 0, 0, false); + 0, 0); NFSM_BUILD(tl, uint32_t *, 5 * NFSX_UNSIGNED + 3 * NFSX_HYPER + NFSX_STATEID); txdr_hyper(off, tl); @@ -5356,7 +5352,7 @@ nfsrpc_layoutreturn(struct nfsmount *nmp, uint8_t *fh, int error; nfscl_reqstart(nd, NFSPROC_LAYOUTRETURN, nmp, fh, fhlen, NULL, NULL, - 0, 0, false); + 0, 0); NFSM_BUILD(tl, uint32_t *, 4 * NFSX_UNSIGNED); if (reclaim != 0) *tl++ = newnfs_true; @@ -5713,7 +5709,7 @@ nfsrpc_reclaimcomplete(struct nfsmount *nmp, struct uc int error; nfscl_reqstart(nd, NFSPROC_RECLAIMCOMPL, nmp, NULL, 0, NULL, NULL, 0, - 0, false); + 0); NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); *tl = newnfs_false; nd->nd_flag |= ND_USEGSSNAME; @@ -6315,8 +6311,7 @@ nfsrpc_readds(vnode_t vp, struct uio *uiop, nfsv4state nd->nd_mrep = NULL; if (vers == 0 || vers == NFS_VER4) { nfscl_reqstart(nd, NFSPROC_READDS, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, - false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); vers = NFS_VER4; NFSCL_DEBUG(4, "nfsrpc_readds: vers4 minvers=%d\n", minorvers); if (flex != 0) @@ -6325,8 +6320,7 @@ nfsrpc_readds(vnode_t vp, struct uio *uiop, nfsv4state nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSEQIDZERO); } else { nfscl_reqstart(nd, NFSPROC_READ, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, - false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); NFSCL_DEBUG(4, "nfsrpc_readds: vers3\n"); } NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED * 3); @@ -6391,8 +6385,7 @@ nfsrpc_writeds(vnode_t vp, struct uio *uiop, int *iomo nd->nd_mrep = NULL; if (vers == 0 || vers == NFS_VER4) { nfscl_reqstart(nd, NFSPROC_WRITEDS, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, - false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); NFSCL_DEBUG(4, "nfsrpc_writeds: vers4 minvers=%d\n", minorvers); vers = NFS_VER4; if (flex != 0) @@ -6402,8 +6395,7 @@ nfsrpc_writeds(vnode_t vp, struct uio *uiop, int *iomo NFSM_BUILD(tl, uint32_t *, NFSX_HYPER + 2 * NFSX_UNSIGNED); } else { nfscl_reqstart(nd, NFSPROC_WRITE, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, - false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); NFSCL_DEBUG(4, "nfsrpc_writeds: vers3\n"); NFSM_BUILD(tl, uint32_t *, NFSX_HYPER + 3 * NFSX_UNSIGNED); } @@ -6522,8 +6514,7 @@ nfsrpc_writedsmir(vnode_t vp, int *iomode, int *must_c nd->nd_mrep = NULL; if (vers == 0 || vers == NFS_VER4) { nfscl_reqstart(nd, NFSPROC_WRITEDS, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, - false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); vers = NFS_VER4; NFSCL_DEBUG(4, "nfsrpc_writedsmir: vers4 minvers=%d\n", minorvers); @@ -6531,8 +6522,7 @@ nfsrpc_writedsmir(vnode_t vp, int *iomode, int *must_c NFSM_BUILD(tl, uint32_t *, NFSX_HYPER + 2 * NFSX_UNSIGNED); } else { nfscl_reqstart(nd, NFSPROC_WRITE, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, - false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); NFSCL_DEBUG(4, "nfsrpc_writedsmir: vers3\n"); NFSM_BUILD(tl, uint32_t *, NFSX_HYPER + 3 * NFSX_UNSIGNED); } @@ -6747,13 +6737,11 @@ nfsrpc_commitds(vnode_t vp, uint64_t offset, int cnt, nd->nd_mrep = NULL; if (vers == 0 || vers == NFS_VER4) { nfscl_reqstart(nd, NFSPROC_COMMITDS, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, - false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); vers = NFS_VER4; } else nfscl_reqstart(nd, NFSPROC_COMMIT, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, - false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); NFSCL_DEBUG(4, "nfsrpc_commitds: vers=%d minvers=%d\n", vers, minorvers); NFSM_BUILD(tl, uint32_t *, NFSX_HYPER + NFSX_UNSIGNED); @@ -6906,7 +6894,7 @@ nfsrpc_adviseds(vnode_t vp, uint64_t offset, int cnt, return (0); nd->nd_mrep = NULL; nfscl_reqstart(nd, NFSPROC_IOADVISEDS, nmp, fhp->nfh_fh, - fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers, false); + fhp->nfh_len, NULL, &dsp->nfsclds_sess, vers, minorvers); vers = NFS_VER4; NFSCL_DEBUG(4, "nfsrpc_adviseds: vers=%d minvers=%d\n", vers, minorvers); @@ -7561,7 +7549,7 @@ nfsrpc_openlayoutrpc(struct nfsmount *nmp, vnode_t vp, *dpp = NULL; *laystatp = ENXIO; nfscl_reqstart(nd, NFSPROC_OPENLAYGET, nmp, nfhp, fhlen, NULL, NULL, - 0, 0, false); + 0, 0); NFSM_BUILD(tl, uint32_t *, 5 * NFSX_UNSIGNED); *tl++ = txdr_unsigned(op->nfso_own->nfsow_seqid); *tl++ = txdr_unsigned(mode & NFSV4OPEN_ACCESSBOTH); Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Mon Aug 17 21:30:49 2020 (r364329) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Tue Aug 18 01:41:12 2020 (r364330) @@ -5105,7 +5105,7 @@ nfsrv_readdsrpc(fhandle_t *fhp, off_t off, int len, st st.other[2] = 0x55555555; st.seqid = 0xffffffff; nfscl_reqstart(nd, NFSPROC_READDS, nmp, (u_int8_t *)fhp, sizeof(*fhp), - NULL, NULL, 0, 0, false); + NULL, NULL, 0, 0); nfsm_stateidtom(nd, &st, NFSSTATEID_PUTSTATEID); NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED * 3); txdr_hyper(off, tl); @@ -5213,7 +5213,7 @@ nfsrv_writedsdorpc(struct nfsmount *nmp, fhandle_t *fh nd = malloc(sizeof(*nd), M_TEMP, M_WAITOK | M_ZERO); nfscl_reqstart(nd, NFSPROC_WRITE, nmp, (u_int8_t *)fhp, - sizeof(fhandle_t), NULL, NULL, 0, 0, false); + sizeof(fhandle_t), NULL, NULL, 0, 0); /* * Use a stateid where other is an alternating 01010 pattern and @@ -5435,7 +5435,7 @@ nfsrv_allocatedsdorpc(struct nfsmount *nmp, fhandle_t nd = malloc(sizeof(*nd), M_TEMP, M_WAITOK | M_ZERO); nfscl_reqstart(nd, NFSPROC_ALLOCATE, nmp, (u_int8_t *)fhp, - sizeof(fhandle_t), NULL, NULL, 0, 0, false); + sizeof(fhandle_t), NULL, NULL, 0, 0); /* * Use a stateid where other is an alternating 01010 pattern and @@ -5589,7 +5589,7 @@ nfsrv_setattrdsdorpc(fhandle_t *fhp, struct ucred *cre st.other[2] = 0x55555555; st.seqid = 0xffffffff; nfscl_reqstart(nd, NFSPROC_SETATTR, nmp, (u_int8_t *)fhp, sizeof(*fhp), - NULL, NULL, 0, 0, false); + NULL, NULL, 0, 0); nfsm_stateidtom(nd, &st, NFSSTATEID_PUTSTATEID); nfscl_fillsattr(nd, &nap->na_vattr, vp, NFSSATTR_FULL, 0); @@ -5774,7 +5774,7 @@ nfsrv_setacldsdorpc(fhandle_t *fhp, struct ucred *cred st.other[2] = 0x55555555; st.seqid = 0xffffffff; nfscl_reqstart(nd, NFSPROC_SETACL, nmp, (u_int8_t *)fhp, sizeof(*fhp), - NULL, NULL, 0, 0, false); + NULL, NULL, 0, 0); nfsm_stateidtom(nd, &st, NFSSTATEID_PUTSTATEID); NFSZERO_ATTRBIT(&attrbits); NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_ACL); @@ -5909,7 +5909,7 @@ nfsrv_getattrdsrpc(fhandle_t *fhp, struct ucred *cred, NFSD_DEBUG(4, "in nfsrv_getattrdsrpc\n"); nd = malloc(sizeof(*nd), M_TEMP, M_WAITOK | M_ZERO); nfscl_reqstart(nd, NFSPROC_GETATTR, nmp, (u_int8_t *)fhp, - sizeof(fhandle_t), NULL, NULL, 0, 0, false); + sizeof(fhandle_t), NULL, NULL, 0, 0); NFSZERO_ATTRBIT(&attrbits); NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_SIZE); NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_CHANGE); @@ -5977,7 +5977,7 @@ nfsrv_seekdsrpc(fhandle_t *fhp, off_t *offp, int conte st.seqid = 0xffffffff; nd = malloc(sizeof(*nd), M_TEMP, M_WAITOK | M_ZERO); nfscl_reqstart(nd, NFSPROC_SEEKDS, nmp, (u_int8_t *)fhp, - sizeof(fhandle_t), NULL, NULL, 0, 0, false); + sizeof(fhandle_t), NULL, NULL, 0, 0); nfsm_stateidtom(nd, &st, NFSSTATEID_PUTSTATEID); NFSM_BUILD(tl, uint32_t *, NFSX_HYPER + NFSX_UNSIGNED); txdr_hyper(*offp, tl); tl += 2; From owner-svn-src-all@freebsd.org Tue Aug 18 01:57:48 2020 Return-Path: Delivered-To: svn-src-all@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 CE5023AA102; Tue, 18 Aug 2020 01:57:48 +0000 (UTC) (envelope-from rmacklem@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 4BVvF84vxbz4XVM; Tue, 18 Aug 2020 01:57:48 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8C7E5A51C; Tue, 18 Aug 2020 01:57:48 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I1vm7X043413; Tue, 18 Aug 2020 01:57:48 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I1vmx8043412; Tue, 18 Aug 2020 01:57:48 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202008180157.07I1vmx8043412@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 18 Aug 2020 01:57:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364331 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 364331 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 01:57:48 -0000 Author: rmacklem Date: Tue Aug 18 01:57:48 2020 New Revision: 364331 URL: https://svnweb.freebsd.org/changeset/base/364331 Log: Bump __FreeBSD_version for r364330, since it changed the internal API between the NFS modules such that they all need to be re-compiled from sources. Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Tue Aug 18 01:41:12 2020 (r364330) +++ head/sys/sys/param.h Tue Aug 18 01:57:48 2020 (r364331) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300109 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300110 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Tue Aug 18 02:02:37 2020 Return-Path: Delivered-To: svn-src-all@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 21E1B3AA609; Tue, 18 Aug 2020 02:02:37 +0000 (UTC) (envelope-from rmacklem@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 4BVvLj09Cpz4YK4; Tue, 18 Aug 2020 02:02:37 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DDF689F7C; Tue, 18 Aug 2020 02:02:36 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I22amc049396; Tue, 18 Aug 2020 02:02:36 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I22aRJ049395; Tue, 18 Aug 2020 02:02:36 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202008180202.07I22aRJ049395@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 18 Aug 2020 02:02:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364332 - head X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 364332 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 02:02:37 -0000 Author: rmacklem Date: Tue Aug 18 02:02:36 2020 New Revision: 364332 URL: https://svnweb.freebsd.org/changeset/base/364332 Log: Add an entry to UPDATING for r364330. Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Tue Aug 18 01:57:48 2020 (r364331) +++ head/UPDATING Tue Aug 18 02:02:36 2020 (r364332) @@ -26,6 +26,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20200817: + r364330 modified the internal API used between the NFS modules. + As such, all the NFS modules must be re-compiled from sources. + 20200816: Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have been upgraded to 11.0.0. Please see the 20141231 entry below for From owner-svn-src-all@freebsd.org Tue Aug 18 03:40:10 2020 Return-Path: Delivered-To: svn-src-all@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 5D2B23AC61F; Tue, 18 Aug 2020 03:40:10 +0000 (UTC) (envelope-from grehan@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 4BVxWG0ZtTz4dlT; Tue, 18 Aug 2020 03:40:10 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EB389B987; Tue, 18 Aug 2020 03:40:09 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I3e9Eh005664; Tue, 18 Aug 2020 03:40:09 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I3e9t0005662; Tue, 18 Aug 2020 03:40:09 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <202008180340.07I3e9t0005662@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Tue, 18 Aug 2020 03:40:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364334 - in stable/12: sys/sys usr.sbin/bhyve X-SVN-Group: stable-12 X-SVN-Commit-Author: grehan X-SVN-Commit-Paths: in stable/12: sys/sys usr.sbin/bhyve X-SVN-Commit-Revision: 364334 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 03:40:10 -0000 Author: grehan Date: Tue Aug 18 03:40:09 2020 New Revision: 364334 URL: https://svnweb.freebsd.org/changeset/base/364334 Log: MFC 363596, 363719, 363733 363596 Support the setting of additional AHCI controller parameters. 363719 Definition for the 'removable media flag' from word 0 in the Identify page. 363733 Replace magic numbers in Identify page register 0 with ATA definitions. Relnotes: yes Modified: stable/12/sys/sys/ata.h stable/12/usr.sbin/bhyve/bhyve.8 stable/12/usr.sbin/bhyve/pci_ahci.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/sys/ata.h ============================================================================== --- stable/12/sys/sys/ata.h Tue Aug 18 02:42:51 2020 (r364333) +++ stable/12/sys/sys/ata.h Tue Aug 18 03:40:09 2020 (r364334) @@ -46,6 +46,7 @@ struct ata_params { #define ATA_ATAPI_TYPE_TAPE 0x0100 /* streaming tape */ #define ATA_ATAPI_TYPE_CDROM 0x0500 /* CD-ROM device */ #define ATA_ATAPI_TYPE_OPTICAL 0x0700 /* optical disk */ +#define ATA_ATAPI_REMOVABLE 0x0080 #define ATA_DRQ_MASK 0x0060 #define ATA_DRQ_SLOW 0x0000 /* cpu 3 ms delay */ #define ATA_DRQ_INTR 0x0020 /* interrupt 10 ms delay */ Modified: stable/12/usr.sbin/bhyve/bhyve.8 ============================================================================== --- stable/12/usr.sbin/bhyve/bhyve.8 Tue Aug 18 02:42:51 2020 (r364333) +++ stable/12/usr.sbin/bhyve/bhyve.8 Tue Aug 18 03:40:09 2020 (r364334) @@ -494,6 +494,27 @@ Sector size (defaults to blockif sector size). .It Li ser Serial number with maximum 20 characters. .El +.Pp +AHCI devices: +.Bl -tag -width 10n +.It Li nmrr +Nominal Media Rotation Rate, known as RPM. value 1 will indicate device as Solid State Disk. default value is 0, not report. +.It Li ser +Serial Number with maximum 20 characters. +.It Li rev +Revision Number with maximum 8 characters. +.It Li model +Model Number with maximum 40 characters. +.El +.Pp +HD Audio devices: +.Bl -tag -width 10n +.It Li play +Playback device, typically +.Ar /dev/dsp0 . +.It Li rec +Recording device, typically +.Ar /dev/dsp0 . .El .It Fl S Wire guest memory. Modified: stable/12/usr.sbin/bhyve/pci_ahci.c ============================================================================== --- stable/12/usr.sbin/bhyve/pci_ahci.c Tue Aug 18 02:42:51 2020 (r364333) +++ stable/12/usr.sbin/bhyve/pci_ahci.c Tue Aug 18 03:40:09 2020 (r364334) @@ -136,9 +136,9 @@ struct ahci_ioreq { struct ahci_port { struct blockif_ctxt *bctx; struct pci_ahci_softc *pr_sc; + struct ata_params ata_ident; uint8_t *cmd_lst; uint8_t *rfis; - char ident[AHCI_PORT_IDENT]; int port; int atapi; int reset; @@ -983,7 +983,50 @@ handle_identify(struct ahci_port *p, int slot, uint8_t ahci_write_fis_d2h(p, slot, cfis, (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR); } else { - uint16_t buf[256]; + ahci_write_fis_piosetup(p); + write_prdt(p, slot, cfis, (void*)&p->ata_ident, sizeof(struct ata_params)); + ahci_write_fis_d2h(p, slot, cfis, ATA_S_DSC | ATA_S_READY); + } +} + +static void +ata_identify_init(struct ahci_port* p, int atapi) +{ + struct ata_params* ata_ident = &p->ata_ident; + + if (atapi) { + ata_ident->config = ATA_PROTO_ATAPI | ATA_ATAPI_TYPE_CDROM | + ATA_ATAPI_REMOVABLE | ATA_DRQ_FAST; + ata_ident->capabilities1 = ATA_SUPPORT_LBA | + ATA_SUPPORT_DMA; + ata_ident->capabilities2 = (1 << 14 | 1); + ata_ident->atavalid = ATA_FLAG_54_58 | ATA_FLAG_64_70; + ata_ident->obsolete62 = 0x3f; + ata_ident->mwdmamodes = 7; + if (p->xfermode & ATA_WDMA0) + ata_ident->mwdmamodes |= (1 << ((p->xfermode & 7) + 8)); + ata_ident->apiomodes = 3; + ata_ident->mwdmamin = 0x0078; + ata_ident->mwdmarec = 0x0078; + ata_ident->pioblind = 0x0078; + ata_ident->pioiordy = 0x0078; + ata_ident->satacapabilities = (ATA_SATA_GEN1 | ATA_SATA_GEN2 | ATA_SATA_GEN3); + ata_ident->satacapabilities2 = ((p->ssts & ATA_SS_SPD_MASK) >> 3); + ata_ident->satasupport = ATA_SUPPORT_NCQ_STREAM; + ata_ident->version_major = 0x3f0; + ata_ident->support.command1 = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_PACKET | + ATA_SUPPORT_RESET | ATA_SUPPORT_NOP); + ata_ident->support.command2 = (1 << 14); + ata_ident->support.extension = (1 << 14); + ata_ident->enabled.command1 = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_PACKET | + ATA_SUPPORT_RESET | ATA_SUPPORT_NOP); + ata_ident->enabled.extension = (1 << 14); + ata_ident->udmamodes = 0x7f; + if (p->xfermode & ATA_UDMA0) + ata_ident->udmamodes |= (1 << ((p->xfermode & 7) + 8)); + ata_ident->transport_major = 0x1020; + ata_ident->integrity = 0x00a5; + } else { uint64_t sectors; int sectsz, psectsz, psectoff, candelete, ro; uint16_t cyl; @@ -995,87 +1038,85 @@ handle_identify(struct ahci_port *p, int slot, uint8_t sectors = blockif_size(p->bctx) / sectsz; blockif_chs(p->bctx, &cyl, &heads, &sech); blockif_psectsz(p->bctx, &psectsz, &psectoff); - memset(buf, 0, sizeof(buf)); - buf[0] = 0x0040; - buf[1] = cyl; - buf[3] = heads; - buf[6] = sech; - ata_string((uint8_t *)(buf+10), p->ident, 20); - ata_string((uint8_t *)(buf+23), "001", 8); - ata_string((uint8_t *)(buf+27), "BHYVE SATA DISK", 40); - buf[47] = (0x8000 | 128); - buf[48] = 0; - buf[49] = (1 << 8 | 1 << 9 | 1 << 11); - buf[50] = (1 << 14); - buf[53] = (1 << 1 | 1 << 2); + ata_ident->config = ATA_DRQ_FAST; + ata_ident->cylinders = cyl; + ata_ident->heads = heads; + ata_ident->sectors = sech; + + ata_ident->sectors_intr = (0x8000 | 128); + ata_ident->tcg = 0; + + ata_ident->capabilities1 = ATA_SUPPORT_DMA | + ATA_SUPPORT_LBA | ATA_SUPPORT_IORDY; + ata_ident->capabilities2 = (1 << 14); + ata_ident->atavalid = ATA_FLAG_54_58 | + ATA_FLAG_64_70; if (p->mult_sectors) - buf[59] = (0x100 | p->mult_sectors); + ata_ident->multi = (ATA_MULTI_VALID | p->mult_sectors); if (sectors <= 0x0fffffff) { - buf[60] = sectors; - buf[61] = (sectors >> 16); + ata_ident->lba_size_1 = sectors; + ata_ident->lba_size_2 = (sectors >> 16); } else { - buf[60] = 0xffff; - buf[61] = 0x0fff; + ata_ident->lba_size_1 = 0xffff; + ata_ident->lba_size_2 = 0x0fff; } - buf[63] = 0x7; + ata_ident->mwdmamodes = 0x7; if (p->xfermode & ATA_WDMA0) - buf[63] |= (1 << ((p->xfermode & 7) + 8)); - buf[64] = 0x3; - buf[65] = 120; - buf[66] = 120; - buf[67] = 120; - buf[68] = 120; - buf[69] = 0; - buf[75] = 31; - buf[76] = (ATA_SATA_GEN1 | ATA_SATA_GEN2 | ATA_SATA_GEN3 | - ATA_SUPPORT_NCQ); - buf[77] = (ATA_SUPPORT_RCVSND_FPDMA_QUEUED | - (p->ssts & ATA_SS_SPD_MASK) >> 3); - buf[80] = 0x3f0; - buf[81] = 0x28; - buf[82] = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_WRITECACHE| - ATA_SUPPORT_LOOKAHEAD | ATA_SUPPORT_NOP); - buf[83] = (ATA_SUPPORT_ADDRESS48 | ATA_SUPPORT_FLUSHCACHE | - ATA_SUPPORT_FLUSHCACHE48 | 1 << 14); - buf[84] = (1 << 14); - buf[85] = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_WRITECACHE| - ATA_SUPPORT_LOOKAHEAD | ATA_SUPPORT_NOP); - buf[86] = (ATA_SUPPORT_ADDRESS48 | ATA_SUPPORT_FLUSHCACHE | - ATA_SUPPORT_FLUSHCACHE48 | 1 << 15); - buf[87] = (1 << 14); - buf[88] = 0x7f; + ata_ident->mwdmamodes |= (1 << ((p->xfermode & 7) + 8)); + ata_ident->apiomodes = 0x3; + ata_ident->mwdmamin = 0x0078; + ata_ident->mwdmarec = 0x0078; + ata_ident->pioblind = 0x0078; + ata_ident->pioiordy = 0x0078; + ata_ident->support3 = 0; + ata_ident->queue = 31; + ata_ident->satacapabilities = (ATA_SATA_GEN1 | ATA_SATA_GEN2 | ATA_SATA_GEN3 | + ATA_SUPPORT_NCQ); + ata_ident->satacapabilities2 = (ATA_SUPPORT_RCVSND_FPDMA_QUEUED | + (p->ssts & ATA_SS_SPD_MASK) >> 3); + ata_ident->version_major = 0x3f0; + ata_ident->version_minor = 0x28; + ata_ident->support.command1 = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_WRITECACHE | + ATA_SUPPORT_LOOKAHEAD | ATA_SUPPORT_NOP); + ata_ident->support.command2 = (ATA_SUPPORT_ADDRESS48 | ATA_SUPPORT_FLUSHCACHE | + ATA_SUPPORT_FLUSHCACHE48 | 1 << 14); + ata_ident->support.extension = (1 << 14); + ata_ident->enabled.command1 = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_WRITECACHE | + ATA_SUPPORT_LOOKAHEAD | ATA_SUPPORT_NOP); + ata_ident->enabled.command2 = (ATA_SUPPORT_ADDRESS48 | ATA_SUPPORT_FLUSHCACHE | + ATA_SUPPORT_FLUSHCACHE48 | 1 << 15); + ata_ident->enabled.extension = (1 << 14); + ata_ident->udmamodes = 0x7f; if (p->xfermode & ATA_UDMA0) - buf[88] |= (1 << ((p->xfermode & 7) + 8)); - buf[100] = sectors; - buf[101] = (sectors >> 16); - buf[102] = (sectors >> 32); - buf[103] = (sectors >> 48); + ata_ident->udmamodes |= (1 << ((p->xfermode & 7) + 8)); + ata_ident->lba_size48_1 = sectors; + ata_ident->lba_size48_2 = (sectors >> 16); + ata_ident->lba_size48_3 = (sectors >> 32); + ata_ident->lba_size48_4 = (sectors >> 48); + if (candelete && !ro) { - buf[69] |= ATA_SUPPORT_RZAT | ATA_SUPPORT_DRAT; - buf[105] = 1; - buf[169] = ATA_SUPPORT_DSM_TRIM; + ata_ident->support3 |= ATA_SUPPORT_RZAT | ATA_SUPPORT_DRAT; + ata_ident->max_dsm_blocks = 1; + ata_ident->support_dsm = ATA_SUPPORT_DSM_TRIM; } - buf[106] = 0x4000; - buf[209] = 0x4000; + ata_ident->pss = ATA_PSS_VALID_VALUE; + ata_ident->lsalign = 0x4000; if (psectsz > sectsz) { - buf[106] |= 0x2000; - buf[106] |= ffsl(psectsz / sectsz) - 1; - buf[209] |= (psectoff / sectsz); + ata_ident->pss |= ATA_PSS_MULTLS; + ata_ident->pss |= ffsl(psectsz / sectsz) - 1; + ata_ident->lsalign |= (psectoff / sectsz); } if (sectsz > 512) { - buf[106] |= 0x1000; - buf[117] = sectsz / 2; - buf[118] = ((sectsz / 2) >> 16); + ata_ident->pss |= ATA_PSS_LSSABOVE512; + ata_ident->lss_1 = sectsz / 2; + ata_ident->lss_2 = ((sectsz / 2) >> 16); } - buf[119] = (ATA_SUPPORT_RWLOGDMAEXT | 1 << 14); - buf[120] = (ATA_SUPPORT_RWLOGDMAEXT | 1 << 14); - buf[222] = 0x1020; - buf[255] = 0x00a5; - ahci_checksum((uint8_t *)buf, sizeof(buf)); - ahci_write_fis_piosetup(p); - write_prdt(p, slot, cfis, (void *)buf, sizeof(buf)); - ahci_write_fis_d2h(p, slot, cfis, ATA_S_DSC | ATA_S_READY); + ata_ident->support2 = (ATA_SUPPORT_RWLOGDMAEXT | 1 << 14); + ata_ident->enabled2 = (ATA_SUPPORT_RWLOGDMAEXT | 1 << 14); + ata_ident->transport_major = 0x1020; + ata_ident->integrity = 0x00a5; } + ahci_checksum((uint8_t*)ata_ident, sizeof(struct ata_params)); } static void @@ -1085,44 +1126,8 @@ handle_atapi_identify(struct ahci_port *p, int slot, u ahci_write_fis_d2h(p, slot, cfis, (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR); } else { - uint16_t buf[256]; - - memset(buf, 0, sizeof(buf)); - buf[0] = (2 << 14 | 5 << 8 | 1 << 7 | 2 << 5); - ata_string((uint8_t *)(buf+10), p->ident, 20); - ata_string((uint8_t *)(buf+23), "001", 8); - ata_string((uint8_t *)(buf+27), "BHYVE SATA DVD ROM", 40); - buf[49] = (1 << 9 | 1 << 8); - buf[50] = (1 << 14 | 1); - buf[53] = (1 << 2 | 1 << 1); - buf[62] = 0x3f; - buf[63] = 7; - if (p->xfermode & ATA_WDMA0) - buf[63] |= (1 << ((p->xfermode & 7) + 8)); - buf[64] = 3; - buf[65] = 120; - buf[66] = 120; - buf[67] = 120; - buf[68] = 120; - buf[76] = (ATA_SATA_GEN1 | ATA_SATA_GEN2 | ATA_SATA_GEN3); - buf[77] = ((p->ssts & ATA_SS_SPD_MASK) >> 3); - buf[78] = (1 << 5); - buf[80] = 0x3f0; - buf[82] = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_PACKET | - ATA_SUPPORT_RESET | ATA_SUPPORT_NOP); - buf[83] = (1 << 14); - buf[84] = (1 << 14); - buf[85] = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_PACKET | - ATA_SUPPORT_RESET | ATA_SUPPORT_NOP); - buf[87] = (1 << 14); - buf[88] = 0x7f; - if (p->xfermode & ATA_UDMA0) - buf[88] |= (1 << ((p->xfermode & 7) + 8)); - buf[222] = 0x1020; - buf[255] = 0x00a5; - ahci_checksum((uint8_t *)buf, sizeof(buf)); ahci_write_fis_piosetup(p); - write_prdt(p, slot, cfis, (void *)buf, sizeof(buf)); + write_prdt(p, slot, cfis, (void *)&p->ata_ident, sizeof(struct ata_params)); ahci_write_fis_d2h(p, slot, cfis, ATA_S_DSC | ATA_S_READY); } } @@ -2314,6 +2319,10 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *p MD5_CTX mdctx; u_char digest[16]; char *next, *next2; + char *bopt, *uopt, *xopts, *config; + FILE* fp; + size_t block_len; + int comma, optpos; ret = 0; @@ -2330,6 +2339,9 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *p slots = 32; for (p = 0; p < MAX_PORTS && opts != NULL; p++, opts = next) { + struct ata_params *ata_ident = &sc->port[p].ata_ident; + memset(ata_ident, 0, sizeof(struct ata_params)); + /* Identify and cut off type of present port. */ if (strncmp(opts, "hd:", 3) == 0) { atapi = 0; @@ -2352,13 +2364,82 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *p if (opts[0] == 0) continue; + uopt = strdup(opts); + bopt = NULL; + fp = open_memstream(&bopt, &block_len); + comma = 0; + optpos = 0; + + for (xopts = strtok(uopt, ","); + xopts != NULL; + xopts = strtok(NULL, ",")) { + + /* First option assume as block filename. */ + if (optpos == 0) { + /* + * Create an identifier for the backing file. + * Use parts of the md5 sum of the filename + */ + char ident[AHCI_PORT_IDENT]; + MD5Init(&mdctx); + MD5Update(&mdctx, opts, strlen(opts)); + MD5Final(digest, &mdctx); + snprintf(ident, AHCI_PORT_IDENT, + "BHYVE-%02X%02X-%02X%02X-%02X%02X", + digest[0], digest[1], digest[2], digest[3], digest[4], + digest[5]); + ata_string((uint8_t*)&ata_ident->serial, ident, 20); + ata_string((uint8_t*)&ata_ident->revision, "001", 8); + if (atapi) { + ata_string((uint8_t*)&ata_ident->model, "BHYVE SATA DVD ROM", 40); + } + else { + ata_string((uint8_t*)&ata_ident->model, "BHYVE SATA DISK", 40); + } + } + + if ((config = strchr(xopts, '=')) != NULL) { + *config++ = '\0'; + if (!strcmp("nmrr", xopts)) { + ata_ident->media_rotation_rate = atoi(config); + } + else if (!strcmp("ser", xopts)) { + ata_string((uint8_t*)(&ata_ident->serial), config, 20); + } + else if (!strcmp("rev", xopts)) { + ata_string((uint8_t*)(&ata_ident->revision), config, 8); + } + else if (!strcmp("model", xopts)) { + ata_string((uint8_t*)(&ata_ident->model), config, 40); + } + else { + /* Pass all other options to blockif_open. */ + *--config = '='; + fprintf(fp, "%s%s", comma ? "," : "", xopts); + comma = 1; + } + } + else { + /* Pass all other options to blockif_open. */ + fprintf(fp, "%s%s", comma ? "," : "", xopts); + comma = 1; + } + optpos++; + } + free(uopt); + fclose(fp); + + DPRINTF("%s\n", bopt); + /* * Attempt to open the backing image. Use the PCI slot/func * and the port number for the identifier string. */ snprintf(bident, sizeof(bident), "%d:%d:%d", pi->pi_slot, pi->pi_func, p); - bctxt = blockif_open(opts, bident); + bctxt = blockif_open(bopt, bident); + free(bopt); + if (bctxt == NULL) { sc->ports = p; ret = 1; @@ -2369,17 +2450,7 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *p sc->port[p].port = p; sc->port[p].atapi = atapi; - /* - * Create an identifier for the backing file. - * Use parts of the md5 sum of the filename - */ - MD5Init(&mdctx); - MD5Update(&mdctx, opts, strlen(opts)); - MD5Final(digest, &mdctx); - snprintf(sc->port[p].ident, AHCI_PORT_IDENT, - "BHYVE-%02X%02X-%02X%02X-%02X%02X", - digest[0], digest[1], digest[2], digest[3], digest[4], - digest[5]); + ata_identify_init(&sc->port[p], atapi); /* * Allocate blockif request structures and add them From owner-svn-src-all@freebsd.org Tue Aug 18 06:07:35 2020 Return-Path: Delivered-To: svn-src-all@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 A20D63AF660; Tue, 18 Aug 2020 06:07:35 +0000 (UTC) (envelope-from imp@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 4BW0nM3mxrz4m11; Tue, 18 Aug 2020 06:07:35 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 656DDD488; Tue, 18 Aug 2020 06:07:35 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I67Z5k097679; Tue, 18 Aug 2020 06:07:35 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I67Znu097678; Tue, 18 Aug 2020 06:07:35 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008180607.07I67Znu097678@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 06:07:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364335 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364335 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 06:07:35 -0000 Author: imp Date: Tue Aug 18 06:07:34 2020 New Revision: 364335 URL: https://svnweb.freebsd.org/changeset/base/364335 Log: Modernize a bit. Remove PC Card specific information. It's of little value these days and on the way out after most of its drivers have been removed. Use iwn instead of wi device. Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Tue Aug 18 03:40:09 2020 (r364334) +++ head/sbin/devd/devd.conf.5 Tue Aug 18 06:07:34 2020 (r364335) @@ -40,7 +40,7 @@ .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" -.Dd May 31, 2019 +.Dd August 18, 2020 .Dt DEVD.CONF 5 .Os .Sh NAME @@ -252,10 +252,6 @@ Device name of parent bus. Device node path if one is created by the .Xr devfs 5 filesystem. -.It Li cisproduct -CIS-product. -.It Li cisvendor -CIS-vendor. .It Li class Device class. .It Li comm @@ -284,8 +280,6 @@ Interface Protocol (USB). Interface Sub-class (USB). .It Li jail Jail name for the process triggering the rule (RCTL). -.It Li manufacturer -Manufacturer ID (pccard). .It Li mode Peripheral mode (USB). .It Li notify @@ -299,7 +293,7 @@ PID of the process triggering the rule (RCTL). .It Li port Hub port number (USB). .It Li product -Product ID (pccard/USB). +Product ID (USB). .It Li release Hardware revision (USB). .It Li ruid @@ -311,9 +305,9 @@ Serial Number (USB). .It Li slot Card slot. .It Li subvendor -Sub-vendor ID. +Sub-vendor ID (PCI). .It Li subdevice -Sub-device ID. +Sub-device ID (PCI). .It Li subsystem Matches a subsystem of a system, see below. .It Li system @@ -644,20 +638,20 @@ notify 0 { }; # -# Try to configure ath and wi devices with pccard_ether +# Try to configure ath and iwn devices with pccard_ether # as they are attached. # attach 0 { - device-name "(ath|wi)[0-9]+"; + device-name "(ath|iwn)[0-9]+"; action "/etc/pccard_ether $device-name start"; }; # -# Stop ath and wi devices as they are detached from +# Stop ath and iwn devices as they are detached from # the system. # detach 0 { - device-name "(ath|wi)[0-9]+"; + device-name "(ath|iwn)[0-9]+"; action "/etc/pccard_ether $device-name stop"; }; .Ed From owner-svn-src-all@freebsd.org Tue Aug 18 06:18:19 2020 Return-Path: Delivered-To: svn-src-all@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 36C703B0200; Tue, 18 Aug 2020 06:18:19 +0000 (UTC) (envelope-from imp@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 4BW11l0kn5z4mhM; Tue, 18 Aug 2020 06:18:19 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F071CD43C; Tue, 18 Aug 2020 06:18:18 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I6IITL003985; Tue, 18 Aug 2020 06:18:18 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I6IIQg003983; Tue, 18 Aug 2020 06:18:18 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008180618.07I6IIQg003983@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 06:18:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364336 - in head: share/man/man4 sys/dev/pccard X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: share/man/man4 sys/dev/pccard X-SVN-Commit-Revision: 364336 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 06:18:19 -0000 Author: imp Date: Tue Aug 18 06:18:18 2020 New Revision: 364336 URL: https://svnweb.freebsd.org/changeset/base/364336 Log: Document that PC Card will likely be removed before 13. This was discussed in arch@ a while ago. Most of the 16-bit drivers that it relied on have been removed. There's only a few other drivers remaining that support it, and those are very rare the days (even the once ubiquitious wi(1) is now quite rare). Indvidual drivers will be handled separately before pccard itself is removed. Modified: head/share/man/man4/pccard.4 head/sys/dev/pccard/pccard.c Modified: head/share/man/man4/pccard.4 ============================================================================== --- head/share/man/man4/pccard.4 Tue Aug 18 06:07:34 2020 (r364335) +++ head/share/man/man4/pccard.4 Tue Aug 18 06:18:18 2020 (r364336) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 9, 2002 +.Dd August 18, 2020 .Dt PCCARD 4 .Os .Sh NAME @@ -31,6 +31,9 @@ .Nd PC Card bus driver .Sh SYNOPSIS .Cd device pccard +.Sh DEPRECATION NOTICE +This driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh DESCRIPTION The .Nm Modified: head/sys/dev/pccard/pccard.c ============================================================================== --- head/sys/dev/pccard/pccard.c Tue Aug 18 06:07:34 2020 (r364335) +++ head/sys/dev/pccard/pccard.c Tue Aug 18 06:18:18 2020 (r364336) @@ -845,6 +845,7 @@ pccard_attach(device_t dev) sc->sc_enabled_count = 0; if ((err = pccard_device_create(sc)) != 0) return (err); + gone_in(13, "PC Card to be removed."); STAILQ_INIT(&sc->card.pf_head); return (bus_generic_attach(dev)); } From owner-svn-src-all@freebsd.org Tue Aug 18 06:34:57 2020 Return-Path: Delivered-To: svn-src-all@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 027043B0B9A; Tue, 18 Aug 2020 06:34:57 +0000 (UTC) (envelope-from imp@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 4BW1Nw6JqJz4p3B; Tue, 18 Aug 2020 06:34:56 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BD5A9DA09; Tue, 18 Aug 2020 06:34:56 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I6YupH016032; Tue, 18 Aug 2020 06:34:56 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I6Yudu016031; Tue, 18 Aug 2020 06:34:56 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008180634.07I6Yudu016031@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 06:34:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364337 - head/sys/dev/pccard X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/dev/pccard X-SVN-Commit-Revision: 364337 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 06:34:57 -0000 Author: imp Date: Tue Aug 18 06:34:56 2020 New Revision: 364337 URL: https://svnweb.freebsd.org/changeset/base/364337 Log: Use better gone_in_dev rather than just gone_in to print the device name. Modified: head/sys/dev/pccard/pccard.c Modified: head/sys/dev/pccard/pccard.c ============================================================================== --- head/sys/dev/pccard/pccard.c Tue Aug 18 06:18:18 2020 (r364336) +++ head/sys/dev/pccard/pccard.c Tue Aug 18 06:34:56 2020 (r364337) @@ -845,7 +845,7 @@ pccard_attach(device_t dev) sc->sc_enabled_count = 0; if ((err = pccard_device_create(sc)) != 0) return (err); - gone_in(13, "PC Card to be removed."); + gone_in_dev(dev, 13, "PC Card to be removed."); STAILQ_INIT(&sc->card.pf_head); return (bus_generic_attach(dev)); } From owner-svn-src-all@freebsd.org Tue Aug 18 06:55:13 2020 Return-Path: Delivered-To: svn-src-all@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 544CA3B0E7F; Tue, 18 Aug 2020 06:55:13 +0000 (UTC) (envelope-from gbe@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 4BW1rK1Z5tz4psr; Tue, 18 Aug 2020 06:55:13 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 19351DA54; Tue, 18 Aug 2020 06:55:13 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I6tCqr028027; Tue, 18 Aug 2020 06:55:12 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I6tC24028026; Tue, 18 Aug 2020 06:55:12 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008180655.07I6tC24028026@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Tue, 18 Aug 2020 06:55:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364338 - stable/12/usr.bin/tput X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/usr.bin/tput X-SVN-Commit-Revision: 364338 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 06:55:13 -0000 Author: gbe (doc committer) Date: Tue Aug 18 06:55:12 2020 New Revision: 364338 URL: https://svnweb.freebsd.org/changeset/base/364338 Log: MFC r364131: tput(1): Several enhancements for the manual page - a couple of descriptions are incomplete - synopsis doesn't show that all arguments are optional - missing an ENVIRONMENT section with TERM mentioned PR: 84670 Submitted by: Gary W. Swearingen Reviewed by: bcr Approved by: bcr Differential Revision: https://reviews.freebsd.org/D26009 Modified: stable/12/usr.bin/tput/tput.1 Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/tput/tput.1 ============================================================================== --- stable/12/usr.bin/tput/tput.1 Tue Aug 18 06:34:56 2020 (r364337) +++ stable/12/usr.bin/tput/tput.1 Tue Aug 18 06:55:12 2020 (r364338) @@ -38,22 +38,24 @@ .Sh SYNOPSIS .Nm .Op Fl T Ar term -.Ar attribute ... +.Op Ar attribute ... .Nm clear .Sh DESCRIPTION The .Nm utility makes terminal-dependent information available to users or shell applications. -When invoked as the +.Pp +The .Nm clear -utility, the screen will be cleared as if +utility executes the .Dl tput clear -had been executed. -The options to +command, ignoring any arguments. +.Pp +The only option to .Nm -are as follows: -.Bl -tag -width Ds +is: +.Bl -tag -width 2n .It Fl T The terminal name as specified in the .Xr termcap 5 @@ -65,7 +67,9 @@ If not specified, .Nm retrieves the .Dq Ev TERM -variable from the environment. +variable from the environment unless that too is not specified, +in which case an error message will be sent to standard error and +the error status will be 2. .El .Pp The @@ -83,45 +87,66 @@ If an is of type string, and takes arguments (e.g.\& cursor movement, the termcap .Dq cm -sequence) the arguments are taken from the command line immediately +capability) the arguments are taken from the command line immediately following the attribute. .Pp -The following special attributes are available: +The following special attributes are available. +The first three use the capabilities of the specified terminal, +and only work if compatible with the utility's terminal. .Bl -tag -width Ar .It Cm clear Clear the screen (the .Xr termcap 5 .Dq cl -sequence). +capability). .It Cm init Initialize the terminal (the .Xr termcap 5 .Dq is -sequence). -.It Cm longname -Print the descriptive name of the user's terminal type. +capability). .It Cm reset Reset the terminal (the .Xr termcap 5 .Dq rs -sequence). +capability). +.It Cm longname +Print the descriptive name of the user's terminal type. .El +.Sh ENVIRONMENT +.Bl -tag -width ".Ev TERM" +.It Ev TERM +The terminal name, if set and +.Fl T +is not used. +.El .Sh EXIT STATUS The exit status of .Nm is as follows: .Bl -tag -width indent .It 0 -If the last attribute +If the last .Ar attribute -argument is of type string or integer, its value was successfully written +is of type string or integer, its value was successfully written to standard output. -If the argument is of type boolean, the terminal has this attribute. +If the +.Ar attribute +is of type boolean, the terminal does have the +.Ar attribute . +Otherwise, no +.Ar attribute +was specified. .It 1 -This terminal does not have the specified boolean +If the last +.Ar attribute +is of type boolean, +this terminal does not have the .Ar attribute . .It 2 Usage error. +For example, see +.Fl T +description. .It 3 No information is available about the specified terminal type. .El From owner-svn-src-all@freebsd.org Tue Aug 18 07:08:18 2020 Return-Path: Delivered-To: svn-src-all@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 89D573B18A0; Tue, 18 Aug 2020 07:08:18 +0000 (UTC) (envelope-from grehan@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 4BW27Q32Pgz4qFw; Tue, 18 Aug 2020 07:08:18 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4842ADF25; Tue, 18 Aug 2020 07:08:18 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I78Imt034616; Tue, 18 Aug 2020 07:08:18 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I78ITr034615; Tue, 18 Aug 2020 07:08:18 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <202008180708.07I78ITr034615@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Tue, 18 Aug 2020 07:08:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364339 - head/sys/amd64/vmm X-SVN-Group: head X-SVN-Commit-Author: grehan X-SVN-Commit-Paths: head/sys/amd64/vmm X-SVN-Commit-Revision: 364339 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 07:08:18 -0000 Author: grehan Date: Tue Aug 18 07:08:17 2020 New Revision: 364339 URL: https://svnweb.freebsd.org/changeset/base/364339 Log: Allow guest device MMIO access from bootmem memory segments. Recent versions of UEFI have moved local APIC timer initialization into the early SEC phase which runs out of ROM, prior to self-relocating into RAM. This results in a hypervisor exit. Currently bhyve prevents instruction emulation from segments that aren't marked as "sysmem" aka guest RAM, with the vm_gpa_hold() routine failing. However, there is no reason for this restriction: the hypervisor already controls whether EPT mappings are marked as executable. Fix by dropping the redundant check of sysmem. MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D25955 Modified: head/sys/amd64/vmm/vmm.c Modified: head/sys/amd64/vmm/vmm.c ============================================================================== --- head/sys/amd64/vmm/vmm.c Tue Aug 18 06:55:12 2020 (r364338) +++ head/sys/amd64/vmm/vmm.c Tue Aug 18 07:08:17 2020 (r364339) @@ -999,8 +999,7 @@ vm_gpa_hold(struct vm *vm, int vcpuid, vm_paddr_t gpa, count = 0; for (i = 0; i < VM_MAX_MEMMAPS; i++) { mm = &vm->mem_maps[i]; - if (sysmem_mapping(vm, mm) && gpa >= mm->gpa && - gpa < mm->gpa + mm->len) { + if (gpa >= mm->gpa && gpa < mm->gpa + mm->len) { count = vm_fault_quick_hold_pages(&vm->vmspace->vm_map, trunc_page(gpa), PAGE_SIZE, reqprot, &m, 1); break; From owner-svn-src-all@freebsd.org Tue Aug 18 07:23:48 2020 Return-Path: Delivered-To: svn-src-all@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 E0E333B1C9F; Tue, 18 Aug 2020 07:23:48 +0000 (UTC) (envelope-from grehan@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 4BW2TJ5gvLz4rFn; Tue, 18 Aug 2020 07:23:48 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8D846E21A; Tue, 18 Aug 2020 07:23:48 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I7NmQl046203; Tue, 18 Aug 2020 07:23:48 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I7NlVq046197; Tue, 18 Aug 2020 07:23:47 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <202008180723.07I7NlVq046197@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Tue, 18 Aug 2020 07:23:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364340 - in head/sys/amd64: include vmm vmm/intel X-SVN-Group: head X-SVN-Commit-Author: grehan X-SVN-Commit-Paths: in head/sys/amd64: include vmm vmm/intel X-SVN-Commit-Revision: 364340 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 07:23:48 -0000 Author: grehan Date: Tue Aug 18 07:23:47 2020 New Revision: 364340 URL: https://svnweb.freebsd.org/changeset/base/364340 Log: Support guest rdtscp and rdpid instructions on Intel VT-x Enable any of rdtscp and/or rdpid for bhyve guests on Intel-based hosts that support the "enable RDTSCP" VM-execution control. Submitted by: adam_fenn.io Reported by: chuck Reviewed by: chuck, grehan, jhb Approved by: jhb (bhyve), grehan MFC after: 3 weeks Relnotes: Yes Differential Revision: https://reviews.freebsd.org/D26003 Modified: head/sys/amd64/include/vmm.h head/sys/amd64/vmm/intel/vmx.c head/sys/amd64/vmm/intel/vmx.h head/sys/amd64/vmm/intel/vmx_msr.c head/sys/amd64/vmm/intel/vmx_msr.h head/sys/amd64/vmm/x86.c Modified: head/sys/amd64/include/vmm.h ============================================================================== --- head/sys/amd64/include/vmm.h Tue Aug 18 07:08:17 2020 (r364339) +++ head/sys/amd64/include/vmm.h Tue Aug 18 07:23:47 2020 (r364340) @@ -481,6 +481,8 @@ enum vm_cap_type { VM_CAP_UNRESTRICTED_GUEST, VM_CAP_ENABLE_INVPCID, VM_CAP_BPT_EXIT, + VM_CAP_RDPID, + VM_CAP_RDTSCP, VM_CAP_MAX }; Modified: head/sys/amd64/vmm/intel/vmx.c ============================================================================== --- head/sys/amd64/vmm/intel/vmx.c Tue Aug 18 07:08:17 2020 (r364339) +++ head/sys/amd64/vmm/intel/vmx.c Tue Aug 18 07:23:47 2020 (r364340) @@ -167,6 +167,14 @@ static int cap_pause_exit; SYSCTL_INT(_hw_vmm_vmx_cap, OID_AUTO, pause_exit, CTLFLAG_RD, &cap_pause_exit, 0, "PAUSE triggers a VM-exit"); +static int cap_rdpid; +SYSCTL_INT(_hw_vmm_vmx_cap, OID_AUTO, rdpid, CTLFLAG_RD, &cap_rdpid, 0, + "Guests are allowed to use RDPID"); + +static int cap_rdtscp; +SYSCTL_INT(_hw_vmm_vmx_cap, OID_AUTO, rdtscp, CTLFLAG_RD, &cap_rdtscp, 0, + "Guests are allowed to use RDTSCP"); + static int cap_unrestricted_guest; SYSCTL_INT(_hw_vmm_vmx_cap, OID_AUTO, unrestricted_guest, CTLFLAG_RD, &cap_unrestricted_guest, 0, "Unrestricted guests"); @@ -303,6 +311,18 @@ static void vmx_inject_pir(struct vlapic *vlapic); static int vmx_restore_tsc(void *arg, int vcpu, uint64_t now); #endif +static inline bool +host_has_rdpid(void) +{ + return ((cpu_stdext_feature2 & CPUID_STDEXT2_RDPID) != 0); +} + +static inline bool +host_has_rdtscp(void) +{ + return ((amd_feature & AMDID_RDTSCP) != 0); +} + #ifdef KTR static const char * exit_reason_to_str(int reason) @@ -755,6 +775,43 @@ vmx_init(int ipinum) PROCBASED_PAUSE_EXITING, 0, &tmp) == 0); + /* + * Check support for RDPID and/or RDTSCP. + * + * Support a pass-through-based implementation of these via the + * "enable RDTSCP" VM-execution control and the "RDTSC exiting" + * VM-execution control. + * + * The "enable RDTSCP" VM-execution control applies to both RDPID + * and RDTSCP (see SDM volume 3, section 25.3, "Changes to + * Instruction Behavior in VMX Non-root operation"); this is why + * only this VM-execution control needs to be enabled in order to + * enable passing through whichever of RDPID and/or RDTSCP are + * supported by the host. + * + * The "RDTSC exiting" VM-execution control applies to both RDTSC + * and RDTSCP (again, per SDM volume 3, section 25.3), and is + * already set up for RDTSC and RDTSCP pass-through by the current + * implementation of RDTSC. + * + * Although RDPID and RDTSCP are optional capabilities, since there + * does not currently seem to be a use case for enabling/disabling + * these via libvmmapi, choose not to support this and, instead, + * just statically always enable or always disable this support + * across all vCPUs on all VMs. (Note that there may be some + * complications to providing this functionality, e.g., the MSR + * bitmap is currently per-VM rather than per-vCPU while the + * capability API wants to be able to control capabilities on a + * per-vCPU basis). + */ + error = vmx_set_ctlreg(MSR_VMX_PROCBASED_CTLS2, + MSR_VMX_PROCBASED_CTLS2, + PROCBASED2_ENABLE_RDTSCP, 0, &tmp); + cap_rdpid = error == 0 && host_has_rdpid(); + cap_rdtscp = error == 0 && host_has_rdtscp(); + if (cap_rdpid || cap_rdtscp) + procbased_ctls2 |= PROCBASED2_ENABLE_RDTSCP; + cap_unrestricted_guest = (vmx_set_ctlreg(MSR_VMX_PROCBASED_CTLS2, MSR_VMX_PROCBASED_CTLS2, PROCBASED2_UNRESTRICTED_GUEST, 0, @@ -1007,6 +1064,15 @@ vmx_vminit(struct vm *vm, pmap_t pmap) * the "use TSC offsetting" execution control is enabled and the * difference between the host TSC and the guest TSC is written * into the TSC offset in the VMCS. + * + * Guest TSC_AUX support is enabled if any of guest RDPID and/or + * guest RDTSCP support are enabled (since, as per Table 2-2 in SDM + * volume 4, TSC_AUX is supported if any of RDPID and/or RDTSCP are + * supported). If guest TSC_AUX support is enabled, TSC_AUX is + * exposed read-only so that the VMM can do one fewer MSR read per + * exit than if this register were exposed read-write; the guest + * restore value can be updated during guest writes (expected to be + * rare) instead of during all exits (common). */ if (guest_msr_rw(vmx, MSR_GSBASE) || guest_msr_rw(vmx, MSR_FSBASE) || @@ -1014,7 +1080,8 @@ vmx_vminit(struct vm *vm, pmap_t pmap) guest_msr_rw(vmx, MSR_SYSENTER_ESP_MSR) || guest_msr_rw(vmx, MSR_SYSENTER_EIP_MSR) || guest_msr_rw(vmx, MSR_EFER) || - guest_msr_ro(vmx, MSR_TSC)) + guest_msr_ro(vmx, MSR_TSC) || + ((cap_rdpid || cap_rdtscp) && guest_msr_ro(vmx, MSR_TSC_AUX))) panic("vmx_vminit: error setting guest msr access"); vpid_alloc(vpid, VM_MAXCPU); @@ -1093,6 +1160,8 @@ vmx_vminit(struct vm *vm, pmap_t pmap) KASSERT(error == 0, ("vmx_vminit: error customizing the vmcs")); vmx->cap[i].set = 0; + vmx->cap[i].set |= cap_rdpid != 0 ? 1 << VM_CAP_RDPID : 0; + vmx->cap[i].set |= cap_rdtscp != 0 ? 1 << VM_CAP_RDTSCP : 0; vmx->cap[i].proc_ctls = procbased_ctls; vmx->cap[i].proc_ctls2 = procbased_ctls2; vmx->cap[i].exc_bitmap = exc_bitmap; @@ -3002,11 +3071,30 @@ vmx_run(void *arg, int vcpu, register_t rip, pmap_t pm sidt(&idtr); ldt_sel = sldt(); + /* + * The TSC_AUX MSR must be saved/restored while interrupts + * are disabled so that it is not possible for the guest + * TSC_AUX MSR value to be overwritten by the resume + * portion of the IPI_SUSPEND codepath. This is why the + * transition of this MSR is handled separately from those + * handled by vmx_msr_guest_{enter,exit}(), which are ok to + * be transitioned with preemption disabled but interrupts + * enabled. + * + * These vmx_msr_guest_{enter,exit}_tsc_aux() calls can be + * anywhere in this loop so long as they happen with + * interrupts disabled. This location is chosen for + * simplicity. + */ + vmx_msr_guest_enter_tsc_aux(vmx, vcpu); + vmx_run_trace(vmx, vcpu); vmx_dr_enter_guest(vmxctx); rc = vmx_enter_guest(vmxctx, vmx, launched); vmx_dr_leave_guest(vmxctx); + vmx_msr_guest_exit_tsc_aux(vmx, vcpu); + bare_lgdt(&gdtr); lidt(&idtr); lldt(ldt_sel); @@ -3344,6 +3432,14 @@ vmx_getcap(void *arg, int vcpu, int type, int *retval) if (cap_monitor_trap) ret = 0; break; + case VM_CAP_RDPID: + if (cap_rdpid) + ret = 0; + break; + case VM_CAP_RDTSCP: + if (cap_rdtscp) + ret = 0; + break; case VM_CAP_UNRESTRICTED_GUEST: if (cap_unrestricted_guest) ret = 0; @@ -3407,6 +3503,17 @@ vmx_setcap(void *arg, int vcpu, int type, int val) flag = PROCBASED_PAUSE_EXITING; reg = VMCS_PRI_PROC_BASED_CTLS; } + break; + case VM_CAP_RDPID: + case VM_CAP_RDTSCP: + if (cap_rdpid || cap_rdtscp) + /* + * Choose not to support enabling/disabling + * RDPID/RDTSCP via libvmmapi since, as per the + * discussion in vmx_init(), RDPID/RDTSCP are + * either always enabled or always disabled. + */ + error = EOPNOTSUPP; break; case VM_CAP_UNRESTRICTED_GUEST: if (cap_unrestricted_guest) { Modified: head/sys/amd64/vmm/intel/vmx.h ============================================================================== --- head/sys/amd64/vmm/intel/vmx.h Tue Aug 18 07:08:17 2020 (r364339) +++ head/sys/amd64/vmm/intel/vmx.h Tue Aug 18 07:23:47 2020 (r364340) @@ -117,6 +117,7 @@ enum { IDX_MSR_SF_MASK, IDX_MSR_KGSBASE, IDX_MSR_PAT, + IDX_MSR_TSC_AUX, GUEST_MSR_NUM /* must be the last enumeration */ }; @@ -152,5 +153,19 @@ int vmx_set_tsc_offset(struct vmx *vmx, int vcpu, uint extern char vmx_exit_guest[]; extern char vmx_exit_guest_flush_rsb[]; + +static inline bool +vmx_have_msr_tsc_aux(struct vmx *vmx) +{ + int rdpid_rdtscp_bits = ((1 << VM_CAP_RDPID) | (1 << VM_CAP_RDTSCP)); + + /* + * Since the values of these bits are uniform across all vCPUs + * (see discussion in vmx_init() and initialization of these bits + * in vmx_vminit()), just always use vCPU-zero's capability set and + * remove the need to require a vcpuid argument. + */ + return ((vmx->cap[0].set & rdpid_rdtscp_bits) != 0); +} #endif Modified: head/sys/amd64/vmm/intel/vmx_msr.c ============================================================================== --- head/sys/amd64/vmm/intel/vmx_msr.c Tue Aug 18 07:08:17 2020 (r364339) +++ head/sys/amd64/vmm/intel/vmx_msr.c Tue Aug 18 07:23:47 2020 (r364340) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include "vmx.h" #include "vmx_msr.h" +#include "x86.h" static bool vmx_ctl_allows_one_setting(uint64_t msr_val, int bitpos) @@ -361,6 +362,16 @@ vmx_msr_guest_enter(struct vmx *vmx, int vcpuid) } void +vmx_msr_guest_enter_tsc_aux(struct vmx *vmx, int vcpuid) +{ + uint64_t guest_tsc_aux = vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX]; + uint32_t cpuid = PCPU_GET(cpuid); + + if (vmx_have_msr_tsc_aux(vmx) && (guest_tsc_aux != cpuid)) + wrmsr(MSR_TSC_AUX, guest_tsc_aux); +} + +void vmx_msr_guest_exit(struct vmx *vmx, int vcpuid) { uint64_t *guest_msrs = vmx->guest_msrs[vcpuid]; @@ -381,6 +392,23 @@ vmx_msr_guest_exit(struct vmx *vmx, int vcpuid) /* MSR_KGSBASE will be restored on the way back to userspace */ } +void +vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid) +{ + uint64_t guest_tsc_aux = vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX]; + uint32_t cpuid = PCPU_GET(cpuid); + + if (vmx_have_msr_tsc_aux(vmx) && (guest_tsc_aux != cpuid)) + /* + * Note that it is not necessary to save the guest value + * here; vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX] always + * contains the current value since it is updated whenever + * the guest writes to it (which is expected to be very + * rare). + */ + wrmsr(MSR_TSC_AUX, cpuid); +} + int vmx_rdmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t *val, bool *retu) { @@ -472,6 +500,17 @@ vmx_wrmsr(struct vmx *vmx, int vcpuid, u_int num, uint break; case MSR_TSC: error = vmx_set_tsc_offset(vmx, vcpuid, val - rdtsc()); + break; + case MSR_TSC_AUX: + if (vmx_have_msr_tsc_aux(vmx)) + /* + * vmx_msr_guest_enter_tsc_aux() will apply this + * value when it is called immediately before guest + * entry. + */ + guest_msrs[IDX_MSR_TSC_AUX] = val; + else + vm_inject_gp(vmx->vm, vcpuid); break; default: error = EINVAL; Modified: head/sys/amd64/vmm/intel/vmx_msr.h ============================================================================== --- head/sys/amd64/vmm/intel/vmx_msr.h Tue Aug 18 07:08:17 2020 (r364339) +++ head/sys/amd64/vmm/intel/vmx_msr.h Tue Aug 18 07:23:47 2020 (r364340) @@ -35,8 +35,10 @@ struct vmx; void vmx_msr_init(void); void vmx_msr_guest_init(struct vmx *vmx, int vcpuid); +void vmx_msr_guest_enter_tsc_aux(struct vmx *vmx, int vcpuid); void vmx_msr_guest_enter(struct vmx *vmx, int vcpuid); void vmx_msr_guest_exit(struct vmx *vmx, int vcpuid); +void vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid); int vmx_rdmsr(struct vmx *, int vcpuid, u_int num, uint64_t *val, bool *retu); int vmx_wrmsr(struct vmx *, int vcpuid, u_int num, uint64_t val, bool *retu); Modified: head/sys/amd64/vmm/x86.c ============================================================================== --- head/sys/amd64/vmm/x86.c Tue Aug 18 07:08:17 2020 (r364339) +++ head/sys/amd64/vmm/x86.c Tue Aug 18 07:23:47 2020 (r364340) @@ -92,7 +92,8 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id, { const struct xsave_limits *limits; uint64_t cr4; - int error, enable_invpcid, level, width, x2apic_id; + int error, enable_invpcid, enable_rdpid, enable_rdtscp, level, + width, x2apic_id; unsigned int func, regs[4], logical_cpus; enum x2apic_state x2apic_state; uint16_t cores, maxcpus, sockets, threads; @@ -195,11 +196,13 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id, /* Hide mwaitx/monitorx capability from the guest */ regs[2] &= ~AMDID2_MWAITX; - /* - * Hide rdtscp/ia32_tsc_aux until we know how - * to deal with them. - */ - regs[3] &= ~AMDID_RDTSCP; + /* Advertise RDTSCP if it is enabled. */ + error = vm_get_capability(vm, vcpu_id, + VM_CAP_RDTSCP, &enable_rdtscp); + if (error == 0 && enable_rdtscp) + regs[3] |= AMDID_RDTSCP; + else + regs[3] &= ~AMDID_RDTSCP; break; case CPUID_8000_0007: @@ -442,6 +445,12 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id, CPUID_STDEXT_AVX512CD | CPUID_STDEXT_SHA); regs[2] = 0; regs[3] &= CPUID_STDEXT3_MD_CLEAR; + + /* Advertise RDPID if it is enabled. */ + error = vm_get_capability(vm, vcpu_id, + VM_CAP_RDPID, &enable_rdpid); + if (error == 0 && enable_rdpid) + regs[2] |= CPUID_STDEXT2_RDPID; /* Advertise INVPCID if it is enabled. */ error = vm_get_capability(vm, vcpu_id, From owner-svn-src-all@freebsd.org Tue Aug 18 08:03:29 2020 Return-Path: Delivered-To: svn-src-all@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 3B6F33B2FAF; Tue, 18 Aug 2020 08:03:29 +0000 (UTC) (envelope-from vmaffione@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 4BW3M50hncz4tcs; Tue, 18 Aug 2020 08:03:29 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EF0A8E8D1; Tue, 18 Aug 2020 08:03:28 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07I83SPd070881; Tue, 18 Aug 2020 08:03:28 GMT (envelope-from vmaffione@FreeBSD.org) Received: (from vmaffione@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07I83S8T070880; Tue, 18 Aug 2020 08:03:28 GMT (envelope-from vmaffione@FreeBSD.org) Message-Id: <202008180803.07I83S8T070880@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vmaffione set sender to vmaffione@FreeBSD.org using -f From: Vincenzo Maffione Date: Tue, 18 Aug 2020 08:03:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364341 - head/sys/dev/netmap X-SVN-Group: head X-SVN-Commit-Author: vmaffione X-SVN-Commit-Paths: head/sys/dev/netmap X-SVN-Commit-Revision: 364341 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 08:03:29 -0000 Author: vmaffione Date: Tue Aug 18 08:03:28 2020 New Revision: 364341 URL: https://svnweb.freebsd.org/changeset/base/364341 Log: netmap: fix parsing of legacy nmr->nr_ringid Code was checking for NETMAP_{SW,HW}_RING in req->nr_ringid which had already been masked by NETMAP_RING_MASK. Therefore, the comparisons always failed and set NR_REG_ALL_NIC. Check against the original nmr structure. Submitted by: bpoole@packetforensics.com Reported by: bpoole@packetforensics.com Reviewed by: giuseppe.lettieri@unipi.it Approved by: vmaffione MFC after: 1 week Modified: head/sys/dev/netmap/netmap_legacy.c Modified: head/sys/dev/netmap/netmap_legacy.c ============================================================================== --- head/sys/dev/netmap/netmap_legacy.c Tue Aug 18 07:23:47 2020 (r364340) +++ head/sys/dev/netmap/netmap_legacy.c Tue Aug 18 08:03:28 2020 (r364341) @@ -76,9 +76,9 @@ nmreq_register_from_legacy(struct nmreq *nmr, struct n /* Convert the older nmr->nr_ringid (original * netmap control API) to nmr->nr_flags. */ u_int regmode = NR_REG_DEFAULT; - if (req->nr_ringid & NETMAP_SW_RING) { + if (nmr->nr_ringid & NETMAP_SW_RING) { regmode = NR_REG_SW; - } else if (req->nr_ringid & NETMAP_HW_RING) { + } else if (nmr->nr_ringid & NETMAP_HW_RING) { regmode = NR_REG_ONE_NIC; } else { regmode = NR_REG_ALL_NIC; From owner-svn-src-all@freebsd.org Tue Aug 18 08:07:41 2020 Return-Path: Delivered-To: svn-src-all@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 D7AC83B2FD7 for ; Tue, 18 Aug 2020 08:07:41 +0000 (UTC) (envelope-from noreply@email.alpes-plafond.com) Received: from email.alpes-plafond.com (email.alpes-plafond.com [153.92.229.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BW3Rv3k4Tz4v1r for ; Tue, 18 Aug 2020 08:07:39 +0000 (UTC) (envelope-from noreply@email.alpes-plafond.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alpes-plafond.com; q=dns/txt; s=mail; bh=/RfbS3z6rVuE1l9Fb1Gy0gpvBGehLST/nN80Y7Ylfuc=; h=from:reply-to:subject:date:mime-version:content-type:list-id:list-unsubscribe:x-csa-complaints:list-unsubscribe-post; b=RNgBMtO6ZePXeU35Uuz4fqvFCPMMhp739RtMyojaoDA0KkpGEV7BKiFtML2Axd7R2IUzCr8jUOw+ nvLCRAVZAITOzZoyFaQwWO+inohqp3PFf6/0GFQktQYdOqyhwtU7xhSfpEx4sTVcfpB/QINiCf1R gxvrQ5HQgwHW2YK2AYE= To: Subject: =?utf-8?q?Sale, _fissur=C3=A9, _=C3=A9caill=C3=A9, _=C3=A0_r=C3=A9nover_:_vo?= =?utf-8?q?tre_plafond_refait_dans_la_journ=C3=A9e.?= Date: Tue, 18 Aug 2020 08:01:46 +0000 Feedback-ID: 153.92.229.239:1320145_332:1320145:Sendinblue From: Alpes Plafond List-Unsubscribe-Post: List-Unsubscribe=One-Click MIME-Version: 1.0 Message-Id: <202018080801.21hhmjnfxabklzj@email.alpes-plafond.com> Precedence: bulk Reply-To: alpesplafond@free.fr X-Csa-Complaints: whitelist-complaints@eco.de X-Mailer: Sendinblue X-Mailin-Campaign: 332 X-Mailin-Client: 1320145 X-sib-id: w7pXgmtta0fw5FF6lsEA0bIOpU9noG6-lbEWW1U7ucb6x7WhA2MmJhtnOu7dMIYYPyZ8xX5w_HmO5aCu4dvBK5GT7mDktAHiMAXf6QAUkldu-e819QQ44PdvQivAYsz8hyakqDzJznDO5PAa6kK0QcD1V1TibCFxeO7TAk-KrMGeEyw ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1597738059; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-unsubscribe:dkim-signature; bh=/RfbS3z6rVuE1l9Fb1Gy0gpvBGehLST/nN80Y7Ylfuc=; b=UExeX3xp9xVR1NRuCHyoz0mOpzXr5d9yDutSrSRL3q/3eEZw0YRMiCiN8AhwHFz3n90tN1 Q+yEpSAvkhsYWfjkECsTAc1pUp8u41nBmcvXAPvXaT69HTNTLjcBzthujefkEC1SrMe9hQ /mHujMms9Qc/1UQVr8KyNYvKZR6xzKDGHZFXMNJ5XomEDbWsrmCkYCoTzY5Ah+tgjXc8yu rPIimBRHDekLuP/BzqJw5AWclHpmv6nRPpimSIJ56HjwYaMsfhml4zFkKNMEeDj1oMj3Wc iRKOS5hOwQUzD3KchcnsMtlmeBfhDoK8Uq2qIO+9zFda9KLfRttmey6lRcHPcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1597738059; a=rsa-sha256; cv=none; b=amdMM6zNnA136C7WPh+fb+C9MoZydesPMYl9bmXxJDFW7d/z1xMJ+7PM4RlFTsq1I9gthR 22IjpvGkAShOVr3SrwMHl18XA8r9Qa42pe/Ix7aDNBs0jOs3RUS8U6JG53j9nFUacaAXz5 /HfDAF2Y+wT52Za4ohDktfOgu+tyS4rKTxpLoPqeQNjvgLgWcamuGpm3oQ0C+EgNfd63iY R2SDVnPI5R38hCQymHaK5M82ftW2OE2Yqh9Jo/ZXuULCS8yiqXmYwr8hL2L1KcosN5tluG gfrJeJ+BMUb6e+WfzbMFBoOVLd8x0MMscVAm2MH0Ymrji3P6INhG6eCm+BF0tQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; dkim=pass header.d=alpes-plafond.com header.s=mail header.b=RNgBMtO6; dmarc=pass (policy=none) header.from=alpes-plafond.com; spf=pass (mx1.freebsd.org: domain of noreply@email.alpes-plafond.com designates 153.92.229.239 as permitted sender) smtp.mailfrom=noreply@email.alpes-plafond.com X-Rspamd-Queue-Id: 4BW3Rv3k4Tz4v1r X-Spamd-Bar: ++++++ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=alpes-plafond.com header.s=mail header.b=RNgBMtO6; dmarc=pass (policy=none) header.from=alpes-plafond.com; spf=pass (mx1.freebsd.org: domain of noreply@email.alpes-plafond.com designates 153.92.229.239 as permitted sender) smtp.mailfrom=noreply@email.alpes-plafond.com X-Spamd-Result: default: False [6.62 / 15.00]; HAS_REPLYTO(0.00)[alpesplafond@free.fr]; XM_UA_NO_VERSION(0.01)[]; R_SPF_ALLOW(-0.20)[+ip4:153.92.224.0/19]; TO_DN_NONE(0.00)[]; ARC_SIGNED(0.00)[i=1]; DKIM_TRACE(0.00)[alpes-plafond.com:+]; DMARC_POLICY_ALLOW(-0.50)[alpes-plafond.com,none]; FORGED_SENDER(0.30)[contact@alpes-plafond.com,noreply@email.alpes-plafond.com]; RCVD_COUNT_ZERO(0.00)[0]; MIME_TRACE(0.00)[0:+,1:+,2:~]; R_MIXED_CHARSET(2.31)[subject]; ASN(0.00)[asn:200484, ipnet:153.92.228.0/22, country:FR]; FROM_NEQ_ENVFROM(0.00)[contact@alpes-plafond.com,noreply@email.alpes-plafond.com]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[alpes-plafond.com:s=mail]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; PRECEDENCE_BULK(0.00)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; FREEMAIL_REPLYTO(0.00)[free.fr]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; HAS_LIST_UNSUB(-0.01)[]; RCPT_COUNT_ONE(0.00)[1]; HTML_SHORT_LINK_IMG_1(2.00)[]; MANY_INVISIBLE_PARTS(1.00)[10]; NEURAL_SPAM_SHORT(0.63)[0.626]; NEURAL_SPAM_MEDIUM(0.88)[0.881]; NEURAL_SPAM_LONG(0.51)[0.507]; GREYLIST(0.00)[pass,body] X-Spam: Yes Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 08:07:41 -0000 [ ]( # ) [ ]( # ) [ ]( # ) [ ]( # ) [ ]( http://www.alpesplafond.sitew.fr/?utm_source=3Dsendinblue&utm_campaig= n=3Dmini_site_TEST_HARDBOUNCES_Rnovez_vos_plafonds_sans_travaux_sans_bouger= _vos_meubles&utm_medium=3Demail ) [ ]( # ) =C2=A0 RENOVER SON PLAFOND =C2=A0 [ ]( # ) =C2=A0 en 1 journ=C3=A9e seulement=C2=A0 =C2=A0 [ ]( # ) =C2=A0 sans d=C3=A9m=C3=A9nager les meubles, sans poussi=C3=A8re, sans peinture ga= rantie 10 ans =C2=A0 [ ]( # ) =C2=A0 =C3=A0 un PRIX ABORDABLE =C2=A0 [ ]( # ) =C2=A0 C'EST POSSIBLE ! =C2=A0 [ ]( # ) =C2=A0 [ En savoir + ]( http://www.alpesplafond.sitew.fr/?ut= m_source=3Dsendinblue&utm_campaign=3Dmini_site_TEST_HARDBOUNCES_Rnovez_vos_= plafonds_sans_travaux_sans_bouger_vos_meubles&utm_medium=3Demail ) =C2= =A0 [ ]( # ) =C2=A0 =C2=A0 [ Cliquez pour voir nos r=C3=A9alisations : ]( http://www.alpesplafo= nd.sitew.fr/?utm_source=3Dsendinblue&utm_campaign=3Dmini_site_TEST_HARDBOUN= CES_Rnovez_vos_plafonds_sans_travaux_sans_bouger_vos_meubles&utm_medium=3De= mail ) =C2=A0 [ ]( # ) [ ]( http://www.alpesplafond.sitew.fr/?utm_source=3Dsendinblue&utm_campaig= n=3Dmini_site_TEST_HARDBOUNCES_Rnovez_vos_plafonds_sans_travaux_sans_bouger= _vos_meubles&utm_medium=3Demail ) [ ]( # ) Sp=C3=A9cialiste depuis + de 15 ans dans la pose de plafond tendu Is=C3=A8re, Savoie, Haute Savoie [ ]( # ) =C2=A0 [ Consultez les avis de nos clients ]( https://www.societe-des-avis-garanti= s.fr/alpes-plafond-com/?utm_source=3Dsendinblue&utm_campaign=3Dmini_site_TE= ST_HARDBOUNCES_Rnovez_vos_plafonds_sans_travaux_sans_bouger_vos_meubles&utm= _medium=3Demail ) =C2=A0 [ ]( # ) =C2=A0 =C2=A0 Alpes Plafond=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A004.76.00.93.06 19, boulevard des Alpes=C2=A0 =C2=A0 =C2=A0 [ alpesplafond@orange.fr ]( mai= lto:alpesplafond@orange.fr ) 38240 MEYLAN=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0[ www.alpes-plafond.com ]( http://www.alpes-plafond.com/?utm_source= =3Dsendinblue&utm_campaign=3Dmini_site_TEST_HARDBOUNCES_Rnovez_vos_plafonds= _sans_travaux_sans_bouger_vos_meubles&utm_medium=3Demail ) [ ]( # ) =C2=A0 [ Se d=C3=A9sinscrire ]( http://r.email.alpes-plafond.com/mk/un/0_UqZuOJ2JV= 1lceYQzvmwj94ufE8WAtPG-Ic7COfZlAJdFBJ_3nWOLaBbAL3Og8-x4FWKsjdLpfEs1UOzjT8QV= f8Br5ejOQq2Z3zyaiXU6qWs9geqUp1SrcxtzIwORYen-JP98ZFnQRgCIq9Oev3b2wXZQ ) =C2= =A0 From owner-svn-src-all@freebsd.org Tue Aug 18 08:48:27 2020 Return-Path: Delivered-To: svn-src-all@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 789BF3B4322; Tue, 18 Aug 2020 08:48:27 +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 4BW4Ly6zDKz3SwG; Tue, 18 Aug 2020 08:48:26 +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 07I8mJKV014050 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 18 Aug 2020 11:48:22 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 07I8mJKV014050 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 07I8mJiB014049; Tue, 18 Aug 2020 11:48:19 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 18 Aug 2020 11:48:19 +0300 From: Konstantin Belousov To: Peter Grehan Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364340 - in head/sys/amd64: include vmm vmm/intel Message-ID: <20200818084819.GN2551@kib.kiev.ua> References: <202008180723.07I7NlVq046197@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202008180723.07I7NlVq046197@repo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 4BW4Ly6zDKz3SwG X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 08:48:27 -0000 On Tue, Aug 18, 2020 at 07:23:47AM +0000, Peter Grehan wrote: > +void > +vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid) > +{ > + uint64_t guest_tsc_aux = vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX]; > + uint32_t cpuid = PCPU_GET(cpuid); > + > + if (vmx_have_msr_tsc_aux(vmx) && (guest_tsc_aux != cpuid)) This is quite unobvious place to look at if host TSC_AUX is ever going to provide something different from cpuid. Could you please add a comment at {i386/i386,amd64/amd64}/initcpu.c::initializecpu() around TSC_AUX settings pointing out this code ? From owner-svn-src-all@freebsd.org Tue Aug 18 09:06:54 2020 Return-Path: Delivered-To: svn-src-all@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 E22573B5010 for ; Tue, 18 Aug 2020 09:06:54 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from vito-vars.onthenet.com.au (vito-vars.OntheNet.com.au [203.13.68.24]) (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 4BW4mG0ndqz3V1L for ; Tue, 18 Aug 2020 09:06:54 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from alto.onthenet.com.au (alto2.onthenet.com.au [203.13.68.14]) by vito-vars.onthenet.com.au (Postfix) with ESMTPS id BCECD2094E44 for ; Tue, 18 Aug 2020 19:06:47 +1000 (AEST) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) by alto.onthenet.com.au (Postfix) with ESMTPS id A6CE220AE981 for ; Tue, 18 Aug 2020 19:06:47 +1000 (AEST) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id 95DFE20E4665 for ; Tue, 18 Aug 2020 19:06:47 +1000 (AEST) Received: from iredmail.onthenet.com.au ([127.0.0.1]) by iredmail.onthenet.com.au (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id AKO8mh6f_H3L for ; Tue, 18 Aug 2020 19:06:47 +1000 (AEST) Received: from MacBook-Air-4.local (CPE-120-29-42-110.dsl.OntheNet.net [120.29.42.110]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id 3425720DC2D4; Tue, 18 Aug 2020 19:06:46 +1000 (AEST) Subject: Re: svn commit: r364340 - in head/sys/amd64: include vmm vmm/intel To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008180723.07I7NlVq046197@repo.freebsd.org> <20200818084819.GN2551@kib.kiev.ua> From: Peter Grehan Message-ID: Date: Tue, 18 Aug 2020 19:06:45 +1000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20200818084819.GN2551@kib.kiev.ua> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Score: 0 X-CMAE-Analysis: v=2.3 cv=bM+N3M2Z c=1 sm=1 tr=0 a=A6CF0fG5TOl4vs6YHvqXgw==:117 a=jXL/WSj5nX36MkVNSbrI6Q==:17 a=IkcTkHD0fZMA:10 a=y4yBn9ojGxQA:10 a=nWEQlCDuWIA7WGBD6YAA:9 a=QEXdDO2ut3YA:10 X-CMAE-Score: 0 X-CMAE-Analysis: v=2.3 cv=LtAJNkVc c=1 sm=1 tr=0 a=eF5wA05EhuPcU0j7PNT2Vg==:117 a=jXL/WSj5nX36MkVNSbrI6Q==:17 a=IkcTkHD0fZMA:10 a=y4yBn9ojGxQA:10 a=nWEQlCDuWIA7WGBD6YAA:9 a=QEXdDO2ut3YA:10 X-Rspamd-Queue-Id: 4BW4mG0ndqz3V1L X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; ASN(0.00)[asn:9313, ipnet:203.13.68.0/23, country:AU]; local_wl_from(0.00)[freebsd.org] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 09:06:54 -0000 On 8/18/20 6:48 PM, Konstantin Belousov wrote: > On Tue, Aug 18, 2020 at 07:23:47AM +0000, Peter Grehan wrote: >> +void >> +vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid) >> +{ >> + uint64_t guest_tsc_aux = vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX]; >> + uint32_t cpuid = PCPU_GET(cpuid); >> + >> + if (vmx_have_msr_tsc_aux(vmx) && (guest_tsc_aux != cpuid)) > This is quite unobvious place to look at if host TSC_AUX is ever going > to provide something different from cpuid. > > Could you please add a comment at > {i386/i386, No bhyve on i386. > amd64/amd64}/initcpu.c::initializecpu() around TSC_AUX > settings pointing out this code ? Sure, will do. later, Peter. From owner-svn-src-all@freebsd.org Tue Aug 18 10:30:56 2020 Return-Path: Delivered-To: svn-src-all@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 62BBC3B6AD9; Tue, 18 Aug 2020 10:30:56 +0000 (UTC) (envelope-from 0mp@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 4BW6dD1vYWz3b3f; Tue, 18 Aug 2020 10:30:56 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 24D7F1061D; Tue, 18 Aug 2020 10:30:56 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IAUtu3059827; Tue, 18 Aug 2020 10:30:55 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IAUtGn059826; Tue, 18 Aug 2020 10:30:55 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008181030.07IAUtGn059826@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Tue, 18 Aug 2020 10:30:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364342 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 364342 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 10:30:56 -0000 Author: 0mp (doc,ports committer) Date: Tue Aug 18 10:30:55 2020 New Revision: 364342 URL: https://svnweb.freebsd.org/changeset/base/364342 Log: Use complete OIDs to avoid confusion Submitted by: otis_sk.freebsd.org MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26098 Modified: head/share/man/man4/bnxt.4 Modified: head/share/man/man4/bnxt.4 ============================================================================== --- head/share/man/man4/bnxt.4 Tue Aug 18 08:03:28 2020 (r364341) +++ head/share/man/man4/bnxt.4 Tue Aug 18 10:30:55 2020 (r364342) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 30, 2019 +.Dd August 18, 2020 .Dt BNXT 4 .Os .Sh NAME @@ -130,15 +130,15 @@ completion ring, and the size of the transmit ring res The completion ring should be at least twice the size of the transmit ring. These numbers must be powers of two, and zero means to use the default. Defaults to 0,0. -.It Va override_qs_enable +.It Va dev.bnxt.X.iflib.override_qs_enable When set, allows the number of transmit and receive queues to be different. If not set, the lower of the number of TX or RX queues will be used for both. -.It Va override_nrxqs +.It Va dev.bnxt.X.iflib.override_nrxqs Set the number of RX queues. If zero, the number of RX queues is derived from the number of cores on the socket connected to the controller. Defaults to 0. -.It Va override_ntxqs +.It Va dev.bnxt.X.iflib.override_ntxqs Set the number of TX queues. If zero, the number of TX queues is derived from the number of cores on the socket connected to the controller. From owner-svn-src-all@freebsd.org Tue Aug 18 11:36:39 2020 Return-Path: Delivered-To: svn-src-all@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 CC2D93B8233; Tue, 18 Aug 2020 11:36:39 +0000 (UTC) (envelope-from grehan@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 4BW853574Fz3dZR; Tue, 18 Aug 2020 11:36:39 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8EDF51119C; Tue, 18 Aug 2020 11:36:39 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IBadTP099286; Tue, 18 Aug 2020 11:36:39 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IBacAf099282; Tue, 18 Aug 2020 11:36:38 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <202008181136.07IBacAf099282@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Tue, 18 Aug 2020 11:36:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364343 - in head/sys: amd64/amd64 amd64/vmm/intel i386/i386 x86/include X-SVN-Group: head X-SVN-Commit-Author: grehan X-SVN-Commit-Paths: in head/sys: amd64/amd64 amd64/vmm/intel i386/i386 x86/include X-SVN-Commit-Revision: 364343 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 11:36:39 -0000 Author: grehan Date: Tue Aug 18 11:36:38 2020 New Revision: 364343 URL: https://svnweb.freebsd.org/changeset/base/364343 Log: Export a routine to provide the TSC_AUX MSR value and use this in vmm. Also, drop an unnecessary set of braces. Requested by: kib Reviewed by: kib MFC after: 3 weeks Modified: head/sys/amd64/amd64/initcpu.c head/sys/amd64/vmm/intel/vmx_msr.c head/sys/i386/i386/initcpu.c head/sys/x86/include/x86_var.h Modified: head/sys/amd64/amd64/initcpu.c ============================================================================== --- head/sys/amd64/amd64/initcpu.c Tue Aug 18 10:30:55 2020 (r364342) +++ head/sys/amd64/amd64/initcpu.c Tue Aug 18 11:36:38 2020 (r364343) @@ -218,6 +218,15 @@ init_via(void) } /* + * The value for the TSC_AUX MSR and rdtscp/rdpid. + */ +u_int +cpu_auxmsr(void) +{ + return (PCPU_GET(cpuid)); +} + +/* * Initialize CPU control registers */ void @@ -283,7 +292,7 @@ initializecpu(void) if ((amd_feature & AMDID_RDTSCP) != 0 || (cpu_stdext_feature2 & CPUID_STDEXT2_RDPID) != 0) - wrmsr(MSR_TSC_AUX, PCPU_GET(cpuid)); + wrmsr(MSR_TSC_AUX, cpu_auxmsr()); } void Modified: head/sys/amd64/vmm/intel/vmx_msr.c ============================================================================== --- head/sys/amd64/vmm/intel/vmx_msr.c Tue Aug 18 10:30:55 2020 (r364342) +++ head/sys/amd64/vmm/intel/vmx_msr.c Tue Aug 18 11:36:38 2020 (r364343) @@ -365,9 +365,9 @@ void vmx_msr_guest_enter_tsc_aux(struct vmx *vmx, int vcpuid) { uint64_t guest_tsc_aux = vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX]; - uint32_t cpuid = PCPU_GET(cpuid); + uint32_t host_aux = cpu_auxmsr(); - if (vmx_have_msr_tsc_aux(vmx) && (guest_tsc_aux != cpuid)) + if (vmx_have_msr_tsc_aux(vmx) && guest_tsc_aux != host_aux) wrmsr(MSR_TSC_AUX, guest_tsc_aux); } @@ -396,9 +396,9 @@ void vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid) { uint64_t guest_tsc_aux = vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX]; - uint32_t cpuid = PCPU_GET(cpuid); + uint32_t host_aux = cpu_auxmsr(); - if (vmx_have_msr_tsc_aux(vmx) && (guest_tsc_aux != cpuid)) + if (vmx_have_msr_tsc_aux(vmx) && guest_tsc_aux != host_aux) /* * Note that it is not necessary to save the guest value * here; vmx->guest_msrs[vcpuid][IDX_MSR_TSC_AUX] always @@ -406,7 +406,7 @@ vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, int vcpuid * the guest writes to it (which is expected to be very * rare). */ - wrmsr(MSR_TSC_AUX, cpuid); + wrmsr(MSR_TSC_AUX, host_aux); } int Modified: head/sys/i386/i386/initcpu.c ============================================================================== --- head/sys/i386/i386/initcpu.c Tue Aug 18 10:30:55 2020 (r364342) +++ head/sys/i386/i386/initcpu.c Tue Aug 18 11:36:38 2020 (r364343) @@ -627,6 +627,15 @@ init_transmeta(void) } #endif +/* + * The value for the TSC_AUX MSR and rdtscp/rdpid. + */ +u_int +cpu_auxmsr(void) +{ + return (PCPU_GET(cpuid)); +} + extern int elf32_nxstack; void @@ -751,7 +760,7 @@ initializecpu(void) } if ((amd_feature & AMDID_RDTSCP) != 0 || (cpu_stdext_feature2 & CPUID_STDEXT2_RDPID) != 0) - wrmsr(MSR_TSC_AUX, PCPU_GET(cpuid)); + wrmsr(MSR_TSC_AUX, cpu_auxmsr()); } void Modified: head/sys/x86/include/x86_var.h ============================================================================== --- head/sys/x86/include/x86_var.h Tue Aug 18 10:30:55 2020 (r364342) +++ head/sys/x86/include/x86_var.h Tue Aug 18 11:36:38 2020 (r364343) @@ -115,6 +115,7 @@ typedef void alias_for_inthand_t(void); bool acpi_get_fadt_bootflags(uint16_t *flagsp); void *alloc_fpusave(int flags); void busdma_swi(void); +u_int cpu_auxmsr(void); vm_paddr_t cpu_getmaxphyaddr(void); bool cpu_mwait_usable(void); void cpu_probe_amdc1e(void); From owner-svn-src-all@freebsd.org Tue Aug 18 12:14:01 2020 Return-Path: Delivered-To: svn-src-all@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 BC3CE3B9D6D; Tue, 18 Aug 2020 12:14:01 +0000 (UTC) (envelope-from avg@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 4BW8w94dZfz3y1s; Tue, 18 Aug 2020 12:14:01 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 80AA7113DE; Tue, 18 Aug 2020 12:14:01 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07ICE19C023898; Tue, 18 Aug 2020 12:14:01 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07ICE1Am023897; Tue, 18 Aug 2020 12:14:01 GMT (envelope-from avg@FreeBSD.org) Message-Id: <202008181214.07ICE1Am023897@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Tue, 18 Aug 2020 12:14:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364344 - head/sys/dev/iicbus/mux X-SVN-Group: head X-SVN-Commit-Author: avg X-SVN-Commit-Paths: head/sys/dev/iicbus/mux X-SVN-Commit-Revision: 364344 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 12:14:01 -0000 Author: avg Date: Tue Aug 18 12:14:01 2020 New Revision: 364344 URL: https://svnweb.freebsd.org/changeset/base/364344 Log: iicmux: fix a sign error in comparison Because pcell_t is unsigned both sides of the comparison were treated as such. Because of that error iicmux created all possible sub-buses even if only a subset was defined in the device tree. MFC after: 1 week Modified: head/sys/dev/iicbus/mux/iicmux.c Modified: head/sys/dev/iicbus/mux/iicmux.c ============================================================================== --- head/sys/dev/iicbus/mux/iicmux.c Tue Aug 18 11:36:38 2020 (r364343) +++ head/sys/dev/iicbus/mux/iicmux.c Tue Aug 18 12:14:01 2020 (r364344) @@ -283,7 +283,7 @@ iicmux_attach_children(struct iicmux_softc *sc) } sc->childdevs[idx] = device_add_child(sc->dev, "iicbus", -1); sc->childnodes[idx] = child; - if (sc->maxbus < idx) + if (sc->maxbus < (int)idx) sc->maxbus = idx; } From owner-svn-src-all@freebsd.org Tue Aug 18 14:09:50 2020 Return-Path: Delivered-To: svn-src-all@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 836713BD99C; Tue, 18 Aug 2020 14:09:50 +0000 (UTC) (envelope-from markj@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 4BWCTp2yJGz46n2; Tue, 18 Aug 2020 14:09:50 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 482D812E2C; Tue, 18 Aug 2020 14:09:50 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IE9ogr091275; Tue, 18 Aug 2020 14:09:50 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IE9ne1091274; Tue, 18 Aug 2020 14:09:49 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008181409.07IE9ne1091274@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 18 Aug 2020 14:09:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364345 - in head/sys: kern vm X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in head/sys: kern vm X-SVN-Commit-Revision: 364345 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 14:09:50 -0000 Author: markj Date: Tue Aug 18 14:09:49 2020 New Revision: 364345 URL: https://svnweb.freebsd.org/changeset/base/364345 Log: Revert r364310. Some of the resulting fallout in CAM does not appear straightforward to fix, so simply revert the commit for now in the absence of a better solution. Discussed with: mjg Reported by: dhw Modified: head/sys/kern/kern_malloc.c head/sys/vm/uma_core.c Modified: head/sys/kern/kern_malloc.c ============================================================================== --- head/sys/kern/kern_malloc.c Tue Aug 18 12:14:01 2020 (r364344) +++ head/sys/kern/kern_malloc.c Tue Aug 18 14:09:49 2020 (r364345) @@ -618,9 +618,6 @@ void * unsigned long osize = size; #endif - KASSERT((flags & M_WAITOK) == 0 || THREAD_CAN_SLEEP(), - ("malloc(M_WAITOK) in non-sleepable context")); - #ifdef MALLOC_DEBUG va = NULL; if (malloc_dbg(&va, &size, mtp, flags) != 0) Modified: head/sys/vm/uma_core.c ============================================================================== --- head/sys/vm/uma_core.c Tue Aug 18 12:14:01 2020 (r364344) +++ head/sys/vm/uma_core.c Tue Aug 18 14:09:49 2020 (r364345) @@ -3328,9 +3328,6 @@ uma_zalloc_smr(uma_zone_t zone, int flags) uma_cache_bucket_t bucket; uma_cache_t cache; - KASSERT((flags & M_WAITOK) == 0 || THREAD_CAN_SLEEP(), - ("uma_zalloc_smr(M_WAITOK) in non-sleepable context")); - #ifdef UMA_ZALLOC_DEBUG void *item; @@ -3354,9 +3351,6 @@ uma_zalloc_arg(uma_zone_t zone, void *udata, int flags { uma_cache_bucket_t bucket; uma_cache_t cache; - - KASSERT((flags & M_WAITOK) == 0 || THREAD_CAN_SLEEP(), - ("uma_zalloc(M_WAITOK) in non-sleepable context")); /* Enable entropy collection for RANDOM_ENABLE_UMA kernel option */ random_harvest_fast_uma(&zone, sizeof(zone), RANDOM_UMA); From owner-svn-src-all@freebsd.org Tue Aug 18 14:14:21 2020 Return-Path: Delivered-To: svn-src-all@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 1D8DA3BDBBD; Tue, 18 Aug 2020 14:14:21 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com [IPv6:2607:f8b0:4864:20::82c]) (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 4BWCb00xJPz47Bn; Tue, 18 Aug 2020 14:14:19 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-qt1-x82c.google.com with SMTP id x12so15209108qtp.1; Tue, 18 Aug 2020 07:14:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=Q0MughOW+7ToEk9Pd16Dy1xfdyxVd3vcaj3GzqLNOe4=; b=m3GPYg4cO/QX+LuzrQNpdF5FsH2idvNZucgiaFJtjclNZQ6ip44JvtQSYufoLGo+Wv xoHfGUU+AfjeI/DiGRWMSqasMpcrmNtV8MY17Y62I2zNUkFiztr9/tvmnvKYVArPNnrX Hocs1vWGAdI5/9HVwt0LnffvwiuhhNelmtO2jxMrDLXToZ8qJwEWTXK9UO4S/2/abJW7 5r8jjrz0t8JWrZJ+Vu3APtXrcr+7hPDaewDeh6vHlHZF4DWooovDVSykcMpUwCjgWK8B taXvHrkJx3Gk5fosSgWtZilOEWi2/0/0w4FY1+DcHdJNcPpyUiHCTnpWAGoklBS60lWb xTOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=Q0MughOW+7ToEk9Pd16Dy1xfdyxVd3vcaj3GzqLNOe4=; b=XI8uD1Yf1A6LZz9lVzNB9QARBnDVdRuOthPcMGV63Qx80lj7O7HKzLQvEzkKnzWVJY 2azUlPixgafTsKaUQX9C20vxsy1K2gU28pjyFTbPnY4GuV/cyvBQe46ET2Ka6hAKLNUw NoHVAq1odq8OcQrfaqiN01jxB1HjFB6cZAOG3L00a3L94ilYbjAiEQhozgLeT2I5yM1H C8BSzP7Vvdcgg6pgzbsP0jIzwN54zT4PxUETRFjoNZ/cKcGALf+bAtORmPB+pkcJQdmz C3vYwZCSYCMFprHAmauVHwPTw740nT17Jx/0gpM/kDyqdcpD4nKnFStDYSFHQiPZhpXT Mflw== X-Gm-Message-State: AOAM530SsBpy7jyKkdNHscQqXJZO5vGICmJTDt9s/pWNrQU1rIUQ3Pxa WzTzXznpIpg4loJbkmxUF8qEGLfjo8Q= X-Google-Smtp-Source: ABdhPJyqajFuP0EXfwPRGL89z3ja8O3lq9npAFnmD9xfNayAC9VDRk6CAzzsNp+itmUGBbaNp4KDwg== X-Received: by 2002:ac8:51c1:: with SMTP id d1mr18141373qtn.385.1597760057577; Tue, 18 Aug 2020 07:14:17 -0700 (PDT) Received: from raichu (toroon0560w-lp130-08-67-71-176-35.dsl.bell.ca. [67.71.176.35]) by smtp.gmail.com with ESMTPSA id t25sm22947294qtp.22.2020.08.18.07.14.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2020 07:14:16 -0700 (PDT) Sender: Mark Johnston Date: Tue, 18 Aug 2020 10:14:14 -0400 From: Mark Johnston To: Andriy Gapon Cc: Gleb Smirnoff , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364310 - in head/sys: kern vm Message-ID: <20200818141414.GC28906@raichu> References: <202008171537.07HFb8a6058296@repo.freebsd.org> <8f9d96f9-ecbb-1ed9-5347-b4b25662a6a2@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8f9d96f9-ecbb-1ed9-5347-b4b25662a6a2@FreeBSD.org> X-Rspamd-Queue-Id: 4BWCb00xJPz47Bn X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 14:14:21 -0000 On Tue, Aug 18, 2020 at 01:03:25AM +0300, Andriy Gapon wrote: > On 17/08/2020 18:37, Gleb Smirnoff wrote: > > Author: glebius > > Date: Mon Aug 17 15:37:08 2020 > > New Revision: 364310 > > URL: https://svnweb.freebsd.org/changeset/base/364310 > > > > Log: > > With INVARIANTS panic immediately if M_WAITOK is requested in a > > non-sleepable context. Previously only _sleep() would panic. > > This will catch misuse of M_WAITOK at development stage rather > > than at stress load stage. > > > > Reviewed by: markj > > Differential Revision: https://reviews.freebsd.org/D26027 > > I think that there is going to be a lot of fallout from this. > Will you handle it? > A warning from WITNESS is one thing, a panic is another. Indeed, based on a few reports from freebsd-current I reverted the commit. It seems there are a number of places in CAM that will require modification, particularly in async event handling. Note that CAM doneq threads execute handlers with TD_NO_SLEEPING. From owner-svn-src-all@freebsd.org Tue Aug 18 14:17:15 2020 Return-Path: Delivered-To: svn-src-all@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 A003F3BDCD6; Tue, 18 Aug 2020 14:17:15 +0000 (UTC) (envelope-from markj@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 4BWCfM3mqmz47nx; Tue, 18 Aug 2020 14:17:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64B4112CD9; Tue, 18 Aug 2020 14:17:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IEHF15097024; Tue, 18 Aug 2020 14:17:15 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IEHFt1097023; Tue, 18 Aug 2020 14:17:15 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008181417.07IEHFt1097023@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 18 Aug 2020 14:17:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364346 - head/sys/compat/linux X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/compat/linux X-SVN-Commit-Revision: 364346 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 14:17:15 -0000 Author: markj Date: Tue Aug 18 14:17:14 2020 New Revision: 364346 URL: https://svnweb.freebsd.org/changeset/base/364346 Log: Fix handling of ancillary data on non-AF_UNIX Linux sockets. After r340674, the "continue" would restart the loop without having updated clen, resulting in an infinite loop. Restore the old behaviour of simply ignoring all control messages on such sockets, since we currently only implement handling for AF_UNIX-specific messages. Reported by: syzkaller Reviewed by: tijl MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26093 Modified: head/sys/compat/linux/linux_socket.c Modified: head/sys/compat/linux/linux_socket.c ============================================================================== --- head/sys/compat/linux/linux_socket.c Tue Aug 18 14:09:49 2020 (r364345) +++ head/sys/compat/linux/linux_socket.c Tue Aug 18 14:17:14 2020 (r364346) @@ -1067,7 +1067,7 @@ linux_sendmsg_common(struct thread *td, l_int s, struc * FreeBSD system call interface. */ if (sa_family != AF_UNIX) - continue; + goto next; if (cmsg->cmsg_type == SCM_CREDS) { len = sizeof(struct cmsgcred); @@ -1094,6 +1094,7 @@ linux_sendmsg_common(struct thread *td, l_int s, struc data = (char *)data + CMSG_SPACE(len); datalen += CMSG_SPACE(len); +next: if (clen <= LINUX_CMSG_ALIGN(linux_cmsg.cmsg_len)) break; From owner-svn-src-all@freebsd.org Tue Aug 18 15:27:55 2020 Return-Path: Delivered-To: svn-src-all@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 96EC73BFA80; Tue, 18 Aug 2020 15:27:55 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BWFCv1pVSz4FNp; Tue, 18 Aug 2020 15:27:54 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 07IFRr4x065745; Tue, 18 Aug 2020 08:27:53 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 07IFRrcU065744; Tue, 18 Aug 2020 08:27:53 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202008181527.07IFRrcU065744@gndrsh.dnsmgr.net> Subject: Re: svn commit: r364336 - in head: share/man/man4 sys/dev/pccard In-Reply-To: <202008180618.07I6IIQg003983@repo.freebsd.org> To: Warner Losh Date: Tue, 18 Aug 2020 08:27:53 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4BWFCv1pVSz4FNp X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 15:27:55 -0000 > Author: imp > Date: Tue Aug 18 06:18:18 2020 > New Revision: 364336 > URL: https://svnweb.freebsd.org/changeset/base/364336 > > Log: > Document that PC Card will likely be removed before 13. > > This was discussed in arch@ a while ago. Most of the 16-bit drivers that it > relied on have been removed. There's only a few other drivers remaining that > support it, and those are very rare the days (even the once ubiquitious wi(1) > is now quite rare). > > Indvidual drivers will be handled separately before pccard itself is removed. MFC? I assume you plan to merge this to stable/12? > Modified: > head/share/man/man4/pccard.4 > head/sys/dev/pccard/pccard.c > > Modified: head/share/man/man4/pccard.4 > ============================================================================== > --- head/share/man/man4/pccard.4 Tue Aug 18 06:07:34 2020 (r364335) > +++ head/share/man/man4/pccard.4 Tue Aug 18 06:18:18 2020 (r364336) > @@ -23,7 +23,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd July 9, 2002 > +.Dd August 18, 2020 > .Dt PCCARD 4 > .Os > .Sh NAME > @@ -31,6 +31,9 @@ > .Nd PC Card bus driver > .Sh SYNOPSIS > .Cd device pccard > +.Sh DEPRECATION NOTICE > +This driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh DESCRIPTION > The > .Nm > > Modified: head/sys/dev/pccard/pccard.c > ============================================================================== > --- head/sys/dev/pccard/pccard.c Tue Aug 18 06:07:34 2020 (r364335) > +++ head/sys/dev/pccard/pccard.c Tue Aug 18 06:18:18 2020 (r364336) > @@ -845,6 +845,7 @@ pccard_attach(device_t dev) > sc->sc_enabled_count = 0; > if ((err = pccard_device_create(sc)) != 0) > return (err); > + gone_in(13, "PC Card to be removed."); > STAILQ_INIT(&sc->card.pf_head); > return (bus_generic_attach(dev)); > } > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Tue Aug 18 15:44:04 2020 Return-Path: Delivered-To: svn-src-all@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 541173C0092; Tue, 18 Aug 2020 15:44:04 +0000 (UTC) (envelope-from hselasky@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 4BWFZX1Yhzz4Gky; Tue, 18 Aug 2020 15:44:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 18A92140C0; Tue, 18 Aug 2020 15:44:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IFi3Ag052581; Tue, 18 Aug 2020 15:44:03 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IFi3CH052580; Tue, 18 Aug 2020 15:44:03 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008181544.07IFi3CH052580@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Tue, 18 Aug 2020 15:44:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364347 - head/sys/dev/usb/controller X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/usb/controller X-SVN-Commit-Revision: 364347 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 15:44:04 -0000 Author: hselasky Date: Tue Aug 18 15:44:03 2020 New Revision: 364347 URL: https://svnweb.freebsd.org/changeset/base/364347 Log: Check the XHCI endpoint state before issuing XHCI endpoint commands. Differential Revision: https://reviews.freebsd.org/D26064 Reviewed by: kp@ and bz@ MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/controller/xhci.c Modified: head/sys/dev/usb/controller/xhci.c ============================================================================== --- head/sys/dev/usb/controller/xhci.c Tue Aug 18 14:17:14 2020 (r364346) +++ head/sys/dev/usb/controller/xhci.c Tue Aug 18 15:44:03 2020 (r364347) @@ -3808,6 +3808,28 @@ alloc_dma_set: } } +static uint8_t +xhci_get_endpoint_state(struct usb_device *udev, uint8_t epno) +{ + struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); + struct usb_page_search buf_dev; + struct xhci_hw_dev *hdev; + struct xhci_dev_ctx *pdev; + uint32_t temp; + + MPASS(epno != 0); + + hdev = &sc->sc_hw.devs[udev->controller_slot_id]; + + usbd_get_page(&hdev->device_pc, 0, &buf_dev); + pdev = buf_dev.buffer; + usb_pc_cpu_invalidate(&hdev->device_pc); + + temp = xhci_ctx_get_le32(sc, &pdev->ctx_ep[epno - 1].dwEpCtx0); + + return (XHCI_EPCTX_0_EPSTATE_GET(temp)); +} + static usb_error_t xhci_configure_reset_endpoint(struct usb_xfer *xfer) { @@ -3861,16 +3883,20 @@ xhci_configure_reset_endpoint(struct usb_xfer *xfer) * Get the endpoint into the stopped state according to the * endpoint context state diagram in the XHCI specification: */ - - err = xhci_cmd_stop_ep(sc, 0, epno, index); - - if (err != 0) - DPRINTF("Could not stop endpoint %u\n", epno); - - err = xhci_cmd_reset_ep(sc, 0, epno, index); - - if (err != 0) - DPRINTF("Could not reset endpoint %u\n", epno); + switch (xhci_get_endpoint_state(udev, epno)) { + case XHCI_EPCTX_0_EPSTATE_STOPPED: + break; + case XHCI_EPCTX_0_EPSTATE_HALTED: + err = xhci_cmd_reset_ep(sc, 0, epno, index); + if (err != 0) + DPRINTF("Could not reset endpoint %u\n", epno); + break; + default: + err = xhci_cmd_stop_ep(sc, 0, epno, index); + if (err != 0) + DPRINTF("Could not stop endpoint %u\n", epno); + break; + } err = xhci_cmd_set_tr_dequeue_ptr(sc, (pepext->physaddr + (stream_id * sizeof(struct xhci_trb) * From owner-svn-src-all@freebsd.org Tue Aug 18 16:06:17 2020 Return-Path: Delivered-To: svn-src-all@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 3F3513C092B; Tue, 18 Aug 2020 16:06:17 +0000 (UTC) (envelope-from mjg@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 4BWG490wSqz4J6f; Tue, 18 Aug 2020 16:06:17 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0328A14249; Tue, 18 Aug 2020 16:06:17 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IG6GSL064710; Tue, 18 Aug 2020 16:06:16 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IG6GLS064709; Tue, 18 Aug 2020 16:06:16 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008181606.07IG6GLS064709@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Tue, 18 Aug 2020 16:06:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364348 - head/sys/cam/scsi X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/cam/scsi X-SVN-Commit-Revision: 364348 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 16:06:17 -0000 Author: mjg Date: Tue Aug 18 16:06:16 2020 New Revision: 364348 URL: https://svnweb.freebsd.org/changeset/base/364348 Log: cam: add missing MAKEDEV_NOWAIT in passregister Reported by: dhw Modified: head/sys/cam/scsi/scsi_pass.c Modified: head/sys/cam/scsi/scsi_pass.c ============================================================================== --- head/sys/cam/scsi/scsi_pass.c Tue Aug 18 15:44:03 2020 (r364347) +++ head/sys/cam/scsi/scsi_pass.c Tue Aug 18 16:06:16 2020 (r364348) @@ -652,6 +652,7 @@ passregister(struct cam_periph *periph, void *arg) args.mda_gid = GID_OPERATOR; args.mda_mode = 0600; args.mda_si_drv1 = periph; + args.mda_flags = MAKEDEV_NOWAIT; error = make_dev_s(&args, &softc->dev, "%s%d", periph->periph_name, periph->unit_number); if (error != 0) { From owner-svn-src-all@freebsd.org Tue Aug 18 16:35:42 2020 Return-Path: Delivered-To: svn-src-all@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 0E1C13C103E for ; Tue, 18 Aug 2020 16:35:42 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com [IPv6:2607:f8b0:4864:20::f2f]) (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 4BWGk33QhDz4K7g for ; Tue, 18 Aug 2020 16:35:39 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qv1-xf2f.google.com with SMTP id o2so9818664qvk.6 for ; Tue, 18 Aug 2020 09:35:39 -0700 (PDT) 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=gvKd2QaM9G0d5PxgucqRx0KuQxQPrKAr/1qweuMLwE4=; b=UW39eG+ZOei9FMPAvHuugyrGHwJhaclnBszK00LQ8VZ4/N+ei+esAtnjz4PzccvSFu xWS3sgVinEgUmUDBwgG+b0ANMcOd4bR8M9y/oLtudXmkOrSgwDC4vtOAmWYSUXW01S0x CIRNnXpAH8DFnqgmSYErrswHS3P5SSs7cV0zWtMKGgJ5PBiFc/CXhHh561JMe4QPRN0r 1/zVUfhe9U7ns/ARwqQI5v76YmODVgsDRWE2YeEZECJsmPl0Zgx6vbbTBDfvUin2BXER WUw2zUxfOR34iEuHuPcxclYfS0fYQeYAnwFUlQYWRE0YmTgp3UjLppmrrXXLLdjKxsSA SVAw== 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=gvKd2QaM9G0d5PxgucqRx0KuQxQPrKAr/1qweuMLwE4=; b=PeHFBgI/TaAvVG5n8Eqhv17bKTMwNla1AmHMSJRnZ0v7RQWqWLnLhduHSpTbkyCFSe iqF/byrmvRoWF8HvUKnNJRVMMXfW8VUgLHywF6SpmJKcwcWE7W8qGsISrI1XxShTgBrw gwqt6V8oV9oHIsnFYTzFjYZOmkt1A6FJBluyHWcjXUmPoJPIkdP22ZXnJsWjEEUvNgfH OvK1vtNWj23fTJgSwaCl5HsUvneJGvjYfQFabhFHXBUiZRsyDA8UoCizzt3bpOkEPFe9 Omm8gzT0Y8SyT6tb799wkrFyYIsloWjuvV1k5REFJC/2VHTfljC71F0tcAO/cx/WWQFL iN7Q== X-Gm-Message-State: AOAM531knHMuUa5N0yHVlmi+6+edzGGELBtcUVT5r8fAsEpTJrmsxkJz iucFcqrwbrT70hrt6pfKkOIhpZhYfmMZA4TQwGAEwfCyJGc= X-Google-Smtp-Source: ABdhPJzPAeeWORnf3IOfnDfEytHZBSEFY7PIL9vmvzOn0jSCt/+dei97WCEha+jHKEULQXM/QJkgkwUuhYvm0IiRVrk= X-Received: by 2002:ad4:5849:: with SMTP id de9mr19380753qvb.22.1597768538049; Tue, 18 Aug 2020 09:35:38 -0700 (PDT) MIME-Version: 1.0 References: <202008180618.07I6IIQg003983@repo.freebsd.org> <202008181527.07IFRrcU065744@gndrsh.dnsmgr.net> In-Reply-To: <202008181527.07IFRrcU065744@gndrsh.dnsmgr.net> From: Warner Losh Date: Tue, 18 Aug 2020 10:35:26 -0600 Message-ID: Subject: Re: svn commit: r364336 - in head: share/man/man4 sys/dev/pccard To: "Rodney W. Grimes" Cc: Warner Losh , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Rspamd-Queue-Id: 4BWGk33QhDz4K7g X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=UW39eG+Z; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::f2f) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-0.07 / 15.00]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; NEURAL_HAM_SHORT(-0.07)[-0.070]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::f2f:from]; R_SPF_NA(0.00)[no SPF record]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; MAILMAN_DEST(0.00)[svn-src-all]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 16:35:42 -0000 On Tue, Aug 18, 2020, 9:27 AM Rodney W. Grimes wrote: > > Author: imp > > Date: Tue Aug 18 06:18:18 2020 > > New Revision: 364336 > > URL: https://svnweb.freebsd.org/changeset/base/364336 > > > > Log: > > Document that PC Card will likely be removed before 13. > > > > This was discussed in arch@ a while ago. Most of the 16-bit drivers > that it > > relied on have been removed. There's only a few other drivers > remaining that > > support it, and those are very rare the days (even the once > ubiquitious wi(1) > > is now quite rare). > > > > Indvidual drivers will be handled separately before pccard itself is > removed. > > MFC? I assume you plan to merge this to stable/12? > Yup. Warner > > Modified: > > head/share/man/man4/pccard.4 > > head/sys/dev/pccard/pccard.c > > > > Modified: head/share/man/man4/pccard.4 > > > ============================================================================== > > --- head/share/man/man4/pccard.4 Tue Aug 18 06:07:34 2020 > (r364335) > > +++ head/share/man/man4/pccard.4 Tue Aug 18 06:18:18 2020 > (r364336) > > @@ -23,7 +23,7 @@ > > .\" > > .\" $FreeBSD$ > > .\" > > -.Dd July 9, 2002 > > +.Dd August 18, 2020 > > .Dt PCCARD 4 > > .Os > > .Sh NAME > > @@ -31,6 +31,9 @@ > > .Nd PC Card bus driver > > .Sh SYNOPSIS > > .Cd device pccard > > +.Sh DEPRECATION NOTICE > > +This driver is scheduled for removal prior to the release of > > +.Fx 13.0 > > .Sh DESCRIPTION > > The > > .Nm > > > > Modified: head/sys/dev/pccard/pccard.c > > > ============================================================================== > > --- head/sys/dev/pccard/pccard.c Tue Aug 18 06:07:34 2020 > (r364335) > > +++ head/sys/dev/pccard/pccard.c Tue Aug 18 06:18:18 2020 > (r364336) > > @@ -845,6 +845,7 @@ pccard_attach(device_t dev) > > sc->sc_enabled_count = 0; > > if ((err = pccard_device_create(sc)) != 0) > > return (err); > > + gone_in(13, "PC Card to be removed."); > > STAILQ_INIT(&sc->card.pf_head); > > return (bus_generic_attach(dev)); > > } > > > > -- > Rod Grimes > rgrimes@freebsd.org > From owner-svn-src-all@freebsd.org Tue Aug 18 16:51:05 2020 Return-Path: Delivered-To: svn-src-all@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 409C53C1320; Tue, 18 Aug 2020 16:51:05 +0000 (UTC) (envelope-from nick@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 4BWH3s0r2Nz4LKN; Tue, 18 Aug 2020 16:51:05 +0000 (UTC) (envelope-from nick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 012A014C47; Tue, 18 Aug 2020 16:51:05 +0000 (UTC) (envelope-from nick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IGp4JJ092756; Tue, 18 Aug 2020 16:51:04 GMT (envelope-from nick@FreeBSD.org) Received: (from nick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IGp4ih092755; Tue, 18 Aug 2020 16:51:04 GMT (envelope-from nick@FreeBSD.org) Message-Id: <202008181651.07IGp4ih092755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: nick set sender to nick@FreeBSD.org using -f From: "Nick O'Brien" Date: Tue, 18 Aug 2020 16:51:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364349 - head/sys/riscv/riscv X-SVN-Group: head X-SVN-Commit-Author: nick X-SVN-Commit-Paths: head/sys/riscv/riscv X-SVN-Commit-Revision: 364349 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 16:51:05 -0000 Author: nick Date: Tue Aug 18 16:51:04 2020 New Revision: 364349 URL: https://svnweb.freebsd.org/changeset/base/364349 Log: riscv: Use global mimpid in identify_cpu() sbi_init() sets mimpid, we can use that value. Reviewed by: philip (mentor), kp (mentor) Approved by: philip (mentor), kp (mentor) Sponsored by: Axiado Differential Revision: https://reviews.freebsd.org/D26092 Modified: head/sys/riscv/riscv/identcpu.c Modified: head/sys/riscv/riscv/identcpu.c ============================================================================== --- head/sys/riscv/riscv/identcpu.c Tue Aug 18 16:06:16 2020 (r364348) +++ head/sys/riscv/riscv/identcpu.c Tue Aug 18 16:51:04 2020 (r364349) @@ -186,15 +186,13 @@ identify_cpu(void) const struct cpu_parts *cpu_partsp; uint32_t part_id; uint32_t impl_id; - uint64_t mimpid; uint64_t misa; u_int cpu; size_t i; cpu_partsp = NULL; - /* TODO: can we get mimpid and misa somewhere ? */ - mimpid = 0; + /* TODO: can we get misa somewhere ? */ misa = 0; cpu = PCPU_GET(cpuid); From owner-svn-src-all@freebsd.org Tue Aug 18 16:58:38 2020 Return-Path: Delivered-To: svn-src-all@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 51E633C171F; Tue, 18 Aug 2020 16:58:38 +0000 (UTC) (envelope-from fernape@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 4BWHDZ0qJXz4LsH; Tue, 18 Aug 2020 16:58:38 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 00E4214B47; Tue, 18 Aug 2020 16:58:38 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IGwbgZ095728; Tue, 18 Aug 2020 16:58:37 GMT (envelope-from fernape@FreeBSD.org) Received: (from fernape@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IGwbVi095727; Tue, 18 Aug 2020 16:58:37 GMT (envelope-from fernape@FreeBSD.org) Message-Id: <202008181658.07IGwbVi095727@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: fernape set sender to fernape@FreeBSD.org using -f From: =?UTF-8?Q?Fernando_Apestegu=c3=ada?= Date: Tue, 18 Aug 2020 16:58:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364350 - head/usr.bin/w X-SVN-Group: head X-SVN-Commit-Author: fernape X-SVN-Commit-Paths: head/usr.bin/w X-SVN-Commit-Revision: 364350 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 16:58:38 -0000 Author: fernape (ports committer) Date: Tue Aug 18 16:58:37 2020 New Revision: 364350 URL: https://svnweb.freebsd.org/changeset/base/364350 Log: uptime(1): Add EXAMPLES section Add a simple example Approved by: manpages (bcr@) Differential Revision: https://reviews.freebsd.org/D26063 Modified: head/usr.bin/w/uptime.1 Modified: head/usr.bin/w/uptime.1 ============================================================================== --- head/usr.bin/w/uptime.1 Tue Aug 18 16:51:04 2020 (r364349) +++ head/usr.bin/w/uptime.1 Tue Aug 18 16:58:37 2020 (r364350) @@ -28,7 +28,7 @@ .\" @(#)uptime.1 8.2 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd April 18, 1994 +.Dd August 18, 2020 .Dt UPTIME 1 .Os .Sh NAME @@ -48,6 +48,11 @@ the number of users, and the load average of the syste .It Pa /boot/kernel/kernel system name list .El +.Sh EXAMPLES +.Bd -literal -offset indent +$ uptime +11:23AM up 3:01, 8 users, load averages: 21.09, 15.43, 12.79 +.Ed .Sh SEE ALSO .Xr w 1 .Sh HISTORY From owner-svn-src-all@freebsd.org Tue Aug 18 17:29:02 2020 Return-Path: Delivered-To: svn-src-all@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 7ACFE3C2430; Tue, 18 Aug 2020 17:29:02 +0000 (UTC) (envelope-from imp@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 4BWHvf2lfyz4PB4; Tue, 18 Aug 2020 17:29:02 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3E8201554F; Tue, 18 Aug 2020 17:29:02 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IHT12x014026; Tue, 18 Aug 2020 17:29:01 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IHT1DU014025; Tue, 18 Aug 2020 17:29:01 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008181729.07IHT1DU014025@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 17:29:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364351 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 364351 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 17:29:02 -0000 Author: imp Date: Tue Aug 18 17:29:01 2020 New Revision: 364351 URL: https://svnweb.freebsd.org/changeset/base/364351 Log: bt(4) has already been removed. Add a deprecation notice. MFC After: 1 day Modified: head/share/man/man4/bt.4 Modified: head/share/man/man4/bt.4 ============================================================================== --- head/share/man/man4/bt.4 Tue Aug 18 16:58:37 2020 (r364350) +++ head/share/man/man4/bt.4 Tue Aug 18 17:29:01 2020 (r364351) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2017 +.Dd August 18, 2020 .Dt BT 4 .Os .Sh NAME @@ -46,6 +46,9 @@ In .Cd hint.bt.0.at="isa" .Cd hint.bt.0.port="0x330" .Ed +.Sh DEPRECATION NOTICE +This driver is scheduled for removal prior to the release of +.Fx 13.0 . .Sh DESCRIPTION This driver provides access to the .Tn SCSI From owner-svn-src-all@freebsd.org Tue Aug 18 17:30:52 2020 Return-Path: Delivered-To: svn-src-all@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 55EC83C2700; Tue, 18 Aug 2020 17:30:52 +0000 (UTC) (envelope-from gbe@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 4BWHxm1dJZz4P1j; Tue, 18 Aug 2020 17:30:52 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1B567153AB; Tue, 18 Aug 2020 17:30:52 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IHUpBX015597; Tue, 18 Aug 2020 17:30:51 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IHUpT2015596; Tue, 18 Aug 2020 17:30:51 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008181730.07IHUpT2015596@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Tue, 18 Aug 2020 17:30:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364352 - head/share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: head/share/man/man5 X-SVN-Commit-Revision: 364352 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 17:30:52 -0000 Author: gbe (doc committer) Date: Tue Aug 18 17:30:51 2020 New Revision: 364352 URL: https://svnweb.freebsd.org/changeset/base/364352 Log: pf.conf(5): Assorted fixes - new sentence new line - blank lines in fill mode Modified: head/share/man/man5/pf.conf.5 Modified: head/share/man/man5/pf.conf.5 ============================================================================== --- head/share/man/man5/pf.conf.5 Tue Aug 18 17:29:01 2020 (r364351) +++ head/share/man/man5/pf.conf.5 Tue Aug 18 17:30:51 2020 (r364352) @@ -499,12 +499,12 @@ For example: .Bd -literal -offset indent set block-policy return .Ed - .It Ar set fail-policy The .Ar fail-policy -option sets the behaviour of rules which should pass a packet but were unable to -do so. This might happen when a nat or route-to rule uses an empty table as list +option sets the behaviour of rules which should pass a packet but were +unable to do so. +This might happen when a nat or route-to rule uses an empty table as list of targets or if a rule fails to create state or source node. The following .Ar block @@ -523,7 +523,6 @@ For example: .Bd -literal -offset indent set fail-policy return .Ed - .It Ar set state-policy The .Ar state-policy From owner-svn-src-all@freebsd.org Tue Aug 18 19:25:04 2020 Return-Path: Delivered-To: svn-src-all@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 639003C505D; Tue, 18 Aug 2020 19:25:04 +0000 (UTC) (envelope-from tuexen@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 4BWLTX1yvMz4Xjp; Tue, 18 Aug 2020 19:25:04 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 23E3F16CB1; Tue, 18 Aug 2020 19:25:04 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IJP38p088895; Tue, 18 Aug 2020 19:25:03 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IJP3EQ088894; Tue, 18 Aug 2020 19:25:03 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202008181925.07IJP3EQ088894@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Tue, 18 Aug 2020 19:25:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364353 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 364353 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 19:25:04 -0000 Author: tuexen Date: Tue Aug 18 19:25:03 2020 New Revision: 364353 URL: https://svnweb.freebsd.org/changeset/base/364353 Log: Fix two bugs I introduced in r362563. Found by running syzkaller. MFC after: 3 days Modified: head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Tue Aug 18 17:30:51 2020 (r364352) +++ head/sys/netinet/sctp_usrreq.c Tue Aug 18 19:25:03 2020 (r364353) @@ -1124,7 +1124,7 @@ sctp_fill_up_addresses_vrf(struct sctp_inpcb *inp, if (actual + sizeof(struct sockaddr_in6) > limit) { return (actual); } - in6_sin_2_v4mapsin6(sin, (struct sockaddr_in6 *)&addr); + in6_sin_2_v4mapsin6(sin, (struct sockaddr_in6 *)addr); ((struct sockaddr_in6 *)addr)->sin6_port = inp->sctp_lport; addr = (struct sockaddr *)((caddr_t)addr + sizeof(struct sockaddr_in6)); actual += sizeof(struct sockaddr_in6); @@ -2271,7 +2271,7 @@ flags_out: (net->ro._l_addr.sa.sa_family == AF_INET)) { /* Must map the address */ in6_sin_2_v4mapsin6(&net->ro._l_addr.sin, - (struct sockaddr_in6 *)&addr); + (struct sockaddr_in6 *)addr); } else { memcpy(addr, &net->ro._l_addr, cpsz); } From owner-svn-src-all@freebsd.org Tue Aug 18 19:34:32 2020 Return-Path: Delivered-To: svn-src-all@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 059E53C5358; Tue, 18 Aug 2020 19:34:32 +0000 (UTC) (envelope-from rscheff@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 4BWLhR6Npvz4YDw; Tue, 18 Aug 2020 19:34:31 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BA59816DD2; Tue, 18 Aug 2020 19:34:31 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IJYVkJ094961; Tue, 18 Aug 2020 19:34:31 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IJYV8c094960; Tue, 18 Aug 2020 19:34:31 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202008181934.07IJYV8c094960@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Tue, 18 Aug 2020 19:34:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364354 - head/sys/netinet/cc X-SVN-Group: head X-SVN-Commit-Author: rscheff X-SVN-Commit-Paths: head/sys/netinet/cc X-SVN-Commit-Revision: 364354 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 19:34:32 -0000 Author: rscheff Date: Tue Aug 18 19:34:31 2020 New Revision: 364354 URL: https://svnweb.freebsd.org/changeset/base/364354 Log: TCP Cubic: recalculate cwnd for every ACK. Since cubic calculates cwnd based on absolute time, retaining RFC3465 (ABC) once-per-window updates can lead to dramatic changes of cwnd in the convex region. Updating cwnd for each incoming ack minimizes this delta, preventing unintentional line-rate bursts. Reviewed by: chengc_netapp.com, tuexen (mentor) MFC after: 2 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D26060 Modified: head/sys/netinet/cc/cc_cubic.c Modified: head/sys/netinet/cc/cc_cubic.c ============================================================================== --- head/sys/netinet/cc/cc_cubic.c Tue Aug 18 19:25:03 2020 (r364353) +++ head/sys/netinet/cc/cc_cubic.c Tue Aug 18 19:34:31 2020 (r364354) @@ -131,16 +131,11 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type) cubic_record_rtt(ccv); /* - * Regular ACK and we're not in cong/fast recovery and we're cwnd - * limited and we're either not doing ABC or are just coming out - * from slow-start or were application limited or are slow starting - * or are doing ABC and we've sent a cwnd's worth of bytes. + * For a regular ACK and we're not in cong/fast recovery and + * we're cwnd limited, always recalculate cwnd. */ if (type == CC_ACK && !IN_RECOVERY(CCV(ccv, t_flags)) && - (ccv->flags & CCF_CWND_LIMITED) && (!V_tcp_do_rfc3465 || - (cubic_data->flags & (CUBICFLAG_IN_SLOWSTART | CUBICFLAG_IN_APPLIMIT)) || - CCV(ccv, snd_cwnd) <= CCV(ccv, snd_ssthresh) || - (V_tcp_do_rfc3465 && (ccv->flags & CCF_ABC_SENTAWND)))) { + (ccv->flags & CCF_CWND_LIMITED)) { /* Use the logic in NewReno ack_received() for slow start. */ if (CCV(ccv, snd_cwnd) <= CCV(ccv, snd_ssthresh) || cubic_data->min_rtt_ticks == TCPTV_SRTTBASE) { @@ -193,15 +188,8 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type) * cwnd growth. * Only update snd_cwnd, if it doesn't shrink. */ - if (V_tcp_do_rfc3465) - CCV(ccv, snd_cwnd) = ulmin(w_cubic_next, - INT_MAX); - else - CCV(ccv, snd_cwnd) += ulmax(1, - ((ulmin(w_cubic_next, INT_MAX) - - CCV(ccv, snd_cwnd)) * - CCV(ccv, t_maxseg)) / - CCV(ccv, snd_cwnd)); + CCV(ccv, snd_cwnd) = ulmin(w_cubic_next, + INT_MAX); } /* From owner-svn-src-all@freebsd.org Tue Aug 18 19:48:06 2020 Return-Path: Delivered-To: svn-src-all@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 D11923C5755; Tue, 18 Aug 2020 19:48:06 +0000 (UTC) (envelope-from oshogbo@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 4BWM065Htwz4ZCg; Tue, 18 Aug 2020 19:48:06 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 97A2016FBC; Tue, 18 Aug 2020 19:48:06 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IJm6Hv001668; Tue, 18 Aug 2020 19:48:06 GMT (envelope-from oshogbo@FreeBSD.org) Received: (from oshogbo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IJm4L0001655; Tue, 18 Aug 2020 19:48:04 GMT (envelope-from oshogbo@FreeBSD.org) Message-Id: <202008181948.07IJm4L0001655@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: oshogbo set sender to oshogbo@FreeBSD.org using -f From: Mariusz Zaborski Date: Tue, 18 Aug 2020 19:48:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364355 - in head: stand/efi/loader stand/i386/loader stand/libsa/zfs stand/lua sys/cddl/boot/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/... X-SVN-Group: head X-SVN-Commit-Author: oshogbo X-SVN-Commit-Paths: in head: stand/efi/loader stand/i386/loader stand/libsa/zfs stand/lua sys/cddl/boot/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys X-SVN-Commit-Revision: 364355 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 19:48:06 -0000 Author: oshogbo Date: Tue Aug 18 19:48:04 2020 New Revision: 364355 URL: https://svnweb.freebsd.org/changeset/base/364355 Log: zfs: add an option to the bootloader to rewind the ZFS checkpoint The checkpoints are another way of keeping the state of ZFS. During the rewind, the pool has to be exported. This makes checkpoints unusable when using ZFS as root. Add the option to rewind the ZFS checkpoint at the boot time. If checkpoint exists, a new option for rewinding a checkpoint will appear in the bootloader menu. We fully support boot environments. If the rewind option is selected, the boot loader will show a list of boot environments that existed before the checkpoint. Reviewed by: tsoome, allanjude, kevans (ok with high-level overview) Differential Revision: https://reviews.freebsd.org/D24920 Modified: head/stand/efi/loader/main.c head/stand/i386/loader/main.c head/stand/libsa/zfs/libzfs.h head/stand/libsa/zfs/zfs.c head/stand/libsa/zfs/zfsimpl.c head/stand/lua/core.lua head/stand/lua/menu.lua head/sys/cddl/boot/zfs/zfsimpl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Modified: head/stand/efi/loader/main.c ============================================================================== --- head/stand/efi/loader/main.c Tue Aug 18 19:34:31 2020 (r364354) +++ head/stand/efi/loader/main.c Tue Aug 18 19:48:04 2020 (r364355) @@ -269,7 +269,7 @@ probe_zfs_currdev(uint64_t guid) currdev.root_guid = 0; set_currdev_devdesc((struct devdesc *)&currdev); devname = efi_fmtdev(&currdev); - init_zfs_bootenv(devname); + init_zfs_boot_options(devname); rv = sanity_check_currdev(); if (rv) { Modified: head/stand/i386/loader/main.c ============================================================================== --- head/stand/i386/loader/main.c Tue Aug 18 19:34:31 2020 (r364354) +++ head/stand/i386/loader/main.c Tue Aug 18 19:48:04 2020 (r364355) @@ -363,7 +363,7 @@ extract_currdev(void) #ifdef LOADER_ZFS_SUPPORT if (new_currdev.dd.d_dev->dv_type == DEVT_ZFS) - init_zfs_bootenv(zfs_fmtdev(&new_currdev)); + init_zfs_boot_options(zfs_fmtdev(&new_currdev)); #endif env_setenv("currdev", EV_VOLATILE, i386_fmtdev(&new_currdev), Modified: head/stand/libsa/zfs/libzfs.h ============================================================================== --- head/stand/libsa/zfs/libzfs.h Tue Aug 18 19:34:31 2020 (r364354) +++ head/stand/libsa/zfs/libzfs.h Tue Aug 18 19:48:04 2020 (r364355) @@ -123,7 +123,7 @@ int zfs_nextboot(void *vdev, char *buf, size_t size); int zfs_probe_dev(const char *devname, uint64_t *pool_guid); int zfs_list(const char *name); uint64_t ldi_get_size(void *); -void init_zfs_bootenv(const char *currdev); +void init_zfs_boot_options(const char *currdev); int zfs_bootenv(const char *name); int zfs_belist_add(const char *name, uint64_t __unused); int zfs_set_env(void); Modified: head/stand/libsa/zfs/zfs.c ============================================================================== --- head/stand/libsa/zfs/zfs.c Tue Aug 18 19:34:31 2020 (r364354) +++ head/stand/libsa/zfs/zfs.c Tue Aug 18 19:48:04 2020 (r364355) @@ -60,7 +60,10 @@ static off_t zfs_seek(struct open_file *f, off_t offse static int zfs_stat(struct open_file *f, struct stat *sb); static int zfs_readdir(struct open_file *f, struct dirent *d); -static void zfs_bootenv_initial(const char *); +static void zfs_bootenv_initial(const char *envname, spa_t *spa, + const char *name, const char *dsname, int checkpoint); +static void zfs_checkpoints_initial(spa_t *spa, const char *name, + const char *dsname); struct devsw zfs_dev; @@ -1077,16 +1080,16 @@ zfs_fmtdev(void *vdev) return (buf); } -int -zfs_list(const char *name) +static int +split_devname(const char *name, char *poolname, size_t size, + const char **dsnamep) { - static char poolname[ZFS_MAXNAMELEN]; - uint64_t objid; - spa_t *spa; - const char *dsname; - int len; - int rv; + const char *dsname; + size_t len; + ASSERT(name != NULL); + ASSERT(poolname != NULL); + len = strlen(name); dsname = strchr(name, '/'); if (dsname != NULL) { @@ -1094,9 +1097,30 @@ zfs_list(const char *name) dsname++; } else dsname = ""; - memcpy(poolname, name, len); - poolname[len] = '\0'; + if (len + 1 > size) + return (EINVAL); + + strlcpy(poolname, name, len + 1); + + if (dsnamep != NULL) + *dsnamep = dsname; + + return (0); +} + +int +zfs_list(const char *name) +{ + static char poolname[ZFS_MAXNAMELEN]; + uint64_t objid; + spa_t *spa; + const char *dsname; + int rv; + + if (split_devname(name, poolname, sizeof(poolname), &dsname) != 0) + return (EINVAL); + spa = spa_find_by_name(poolname); if (!spa) return (ENXIO); @@ -1108,10 +1132,13 @@ zfs_list(const char *name) } void -init_zfs_bootenv(const char *currdev_in) +init_zfs_boot_options(const char *currdev_in) { + char poolname[ZFS_MAXNAMELEN]; char *beroot, *currdev; + spa_t *spa; int currdev_len; + const char *dsname; currdev = NULL; currdev_len = strlen(currdev_in); @@ -1124,6 +1151,7 @@ init_zfs_bootenv(const char *currdev_in) return; /* Remove the trailing : */ currdev[currdev_len - 1] = '\0'; + setenv("zfs_be_active", currdev, 1); setenv("zfs_be_currpage", "1", 1); /* Remove the last element (current bootenv) */ @@ -1132,49 +1160,71 @@ init_zfs_bootenv(const char *currdev_in) beroot[0] = '\0'; beroot = strchr(currdev, ':') + 1; setenv("zfs_be_root", beroot, 1); - zfs_bootenv_initial(beroot); + + if (split_devname(beroot, poolname, sizeof(poolname), &dsname) != 0) + return; + + spa = spa_find_by_name(poolname); + if (spa == NULL) + return; + + zfs_bootenv_initial("bootenvs", spa, beroot, dsname, 0); + zfs_checkpoints_initial(spa, beroot, dsname); + free(currdev); } static void -zfs_bootenv_initial(const char *name) +zfs_checkpoints_initial(spa_t *spa, const char *name, const char *dsname) { - char poolname[ZFS_MAXNAMELEN], *dsname; - char envname[32], envval[256]; + char envname[32]; + + if (spa->spa_uberblock_checkpoint.ub_checkpoint_txg != 0) { + snprintf(envname, sizeof(envname), "zpool_checkpoint"); + setenv(envname, name, 1); + + spa->spa_uberblock = &spa->spa_uberblock_checkpoint; + spa->spa_mos = &spa->spa_mos_checkpoint; + + zfs_bootenv_initial("bootenvs_check", spa, name, dsname, 1); + + spa->spa_uberblock = &spa->spa_uberblock_master; + spa->spa_mos = &spa->spa_mos_master; + } +} + +static void +zfs_bootenv_initial(const char *envprefix, spa_t *spa, const char *rootname, + const char *dsname, int checkpoint) +{ + char envname[32], envval[256]; uint64_t objid; - spa_t *spa; - int bootenvs_idx, len, rv; + int bootenvs_idx, rv; SLIST_INIT(&zfs_be_head); zfs_env_count = 0; - len = strlen(name); - dsname = strchr(name, '/'); - if (dsname != NULL) { - len = dsname - name; - dsname++; - } else - dsname = ""; - strlcpy(poolname, name, len + 1); - spa = spa_find_by_name(poolname); - if (spa == NULL) - return; + rv = zfs_lookup_dataset(spa, dsname, &objid); if (rv != 0) return; + rv = zfs_callback_dataset(spa, objid, zfs_belist_add); bootenvs_idx = 0; /* Populate the initial environment variables */ SLIST_FOREACH_SAFE(zfs_be, &zfs_be_head, entries, zfs_be_tmp) { /* Enumerate all bootenvs for general usage */ - snprintf(envname, sizeof(envname), "bootenvs[%d]", bootenvs_idx); - snprintf(envval, sizeof(envval), "zfs:%s/%s", name, zfs_be->name); + snprintf(envname, sizeof(envname), "%s[%d]", + envprefix, bootenvs_idx); + snprintf(envval, sizeof(envval), "zfs:%s%s/%s", + checkpoint ? "!" : "", rootname, zfs_be->name); rv = setenv(envname, envval, 1); if (rv != 0) break; bootenvs_idx++; } + snprintf(envname, sizeof(envname), "%s_count", envprefix); snprintf(envval, sizeof(envval), "%d", bootenvs_idx); - setenv("bootenvs_count", envval, 1); + setenv(envname, envval, 1); /* Clean up the SLIST of ZFS BEs */ while (!SLIST_EMPTY(&zfs_be_head)) { @@ -1183,19 +1233,17 @@ zfs_bootenv_initial(const char *name) free(zfs_be->name); free(zfs_be); } - - return; - } int zfs_bootenv(const char *name) { - static char poolname[ZFS_MAXNAMELEN], *dsname, *root; + char poolname[ZFS_MAXNAMELEN], *root; + const char *dsname; char becount[4]; uint64_t objid; spa_t *spa; - int len, rv, pages, perpage, currpage; + int rv, pages, perpage, currpage; if (name == NULL) return (EINVAL); @@ -1209,16 +1257,10 @@ zfs_bootenv(const char *name) SLIST_INIT(&zfs_be_head); zfs_env_count = 0; - len = strlen(name); - dsname = strchr(name, '/'); - if (dsname != NULL) { - len = dsname - name; - dsname++; - } else - dsname = ""; - memcpy(poolname, name, len); - poolname[len] = '\0'; + if (split_devname(name, poolname, sizeof(poolname), &dsname) != 0) + return (EINVAL); + spa = spa_find_by_name(poolname); if (!spa) return (ENXIO); @@ -1307,7 +1349,7 @@ zfs_set_env(void) ctr++; continue; } - + snprintf(envname, sizeof(envname), "bootenvmenu_caption[%d]", zfs_env_index); snprintf(envval, sizeof(envval), "%s", zfs_be->name); rv = setenv(envname, envval, 1); @@ -1340,7 +1382,7 @@ zfs_set_env(void) } } - + for (; zfs_env_index <= ZFS_BE_LAST; zfs_env_index++) { snprintf(envname, sizeof(envname), "bootenvmenu_caption[%d]", zfs_env_index); (void)unsetenv(envname); Modified: head/stand/libsa/zfs/zfsimpl.c ============================================================================== --- head/stand/libsa/zfs/zfsimpl.c Tue Aug 18 19:34:31 2020 (r364354) +++ head/stand/libsa/zfs/zfsimpl.c Tue Aug 18 19:48:04 2020 (r364355) @@ -699,7 +699,7 @@ vdev_indirect_read(vdev_t *vdev, const blkptr_t *bp, v vic = &vdev->vdev_indirect_config; vdev->v_mapping = vdev_indirect_mapping_open(spa, - &spa->spa_mos, vic->vic_mapping_object); + spa->spa_mos, vic->vic_mapping_object); } vdev_indirect_remap(vdev, offset, bytes, &zio); @@ -1347,6 +1347,8 @@ spa_create(uint64_t guid, const char *name) free(spa); return (NULL); } + spa->spa_uberblock = &spa->spa_uberblock_master; + spa->spa_mos = &spa->spa_mos_master; spa->spa_guid = guid; spa->spa_root_vdev = vdev_create(guid, NULL); if (spa->spa_root_vdev == NULL) { @@ -1883,7 +1885,7 @@ vdev_probe(vdev_phys_read_t *_read, void *read_priv, s * the best uberblock and then we can actually access * the contents of the pool. */ - vdev_uberblock_load(vdev, &spa->spa_uberblock); + vdev_uberblock_load(vdev, spa->spa_uberblock); if (spap != NULL) *spap = spa; @@ -2409,8 +2411,9 @@ fzap_lookup(const spa_t *spa, const dnode_phys_t *dnod if (zh->zap_magic != ZAP_MAGIC) return (EIO); - if ((rc = fzap_check_size(integer_size, num_integers)) != 0) + if ((rc = fzap_check_size(integer_size, num_integers)) != 0) { return (rc); + } z.zap_block_shift = ilog2(bsize); z.zap_phys = zh; @@ -2766,7 +2769,7 @@ zfs_rlookup(const spa_t *spa, uint64_t objnum, char *r p = &name[sizeof(name) - 1]; *p = '\0'; - if (objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset)) { + if (objset_get_dnode(spa, spa->spa_mos, objnum, &dataset)) { printf("ZFS: can't find dataset %ju\n", (uintmax_t)objnum); return (EIO); } @@ -2774,7 +2777,7 @@ zfs_rlookup(const spa_t *spa, uint64_t objnum, char *r dir_obj = ds->ds_dir_obj; for (;;) { - if (objset_get_dnode(spa, &spa->spa_mos, dir_obj, &dir) != 0) + if (objset_get_dnode(spa, spa->spa_mos, dir_obj, &dir) != 0) return (EIO); dd = (dsl_dir_phys_t *)&dir.dn_bonus; @@ -2783,12 +2786,12 @@ zfs_rlookup(const spa_t *spa, uint64_t objnum, char *r if (parent_obj == 0) break; - if (objset_get_dnode(spa, &spa->spa_mos, parent_obj, + if (objset_get_dnode(spa, spa->spa_mos, parent_obj, &parent) != 0) return (EIO); dd = (dsl_dir_phys_t *)&parent.dn_bonus; child_dir_zapobj = dd->dd_child_dir_zapobj; - if (objset_get_dnode(spa, &spa->spa_mos, child_dir_zapobj, + if (objset_get_dnode(spa, spa->spa_mos, child_dir_zapobj, &child_dir_zap) != 0) return (EIO); if (zap_rlookup(spa, &child_dir_zap, component, dir_obj) != 0) @@ -2820,7 +2823,7 @@ zfs_lookup_dataset(const spa_t *spa, const char *name, dsl_dir_phys_t *dd; const char *p, *q; - if (objset_get_dnode(spa, &spa->spa_mos, + if (objset_get_dnode(spa, spa->spa_mos, DMU_POOL_DIRECTORY_OBJECT, &dir)) return (EIO); if (zap_lookup(spa, &dir, DMU_POOL_ROOT_DATASET, sizeof (dir_obj), @@ -2829,7 +2832,7 @@ zfs_lookup_dataset(const spa_t *spa, const char *name, p = name; for (;;) { - if (objset_get_dnode(spa, &spa->spa_mos, dir_obj, &dir)) + if (objset_get_dnode(spa, spa->spa_mos, dir_obj, &dir)) return (EIO); dd = (dsl_dir_phys_t *)&dir.dn_bonus; @@ -2850,7 +2853,7 @@ zfs_lookup_dataset(const spa_t *spa, const char *name, } child_dir_zapobj = dd->dd_child_dir_zapobj; - if (objset_get_dnode(spa, &spa->spa_mos, child_dir_zapobj, + if (objset_get_dnode(spa, spa->spa_mos, child_dir_zapobj, &child_dir_zap) != 0) return (EIO); @@ -2873,21 +2876,21 @@ zfs_list_dataset(const spa_t *spa, uint64_t objnum/*, dsl_dataset_phys_t *ds; dsl_dir_phys_t *dd; - if (objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset)) { + if (objset_get_dnode(spa, spa->spa_mos, objnum, &dataset)) { printf("ZFS: can't find dataset %ju\n", (uintmax_t)objnum); return (EIO); } ds = (dsl_dataset_phys_t *)&dataset.dn_bonus; dir_obj = ds->ds_dir_obj; - if (objset_get_dnode(spa, &spa->spa_mos, dir_obj, &dir)) { + if (objset_get_dnode(spa, spa->spa_mos, dir_obj, &dir)) { printf("ZFS: can't find dirobj %ju\n", (uintmax_t)dir_obj); return (EIO); } dd = (dsl_dir_phys_t *)&dir.dn_bonus; child_dir_zapobj = dd->dd_child_dir_zapobj; - if (objset_get_dnode(spa, &spa->spa_mos, child_dir_zapobj, + if (objset_get_dnode(spa, spa->spa_mos, child_dir_zapobj, &child_dir_zap) != 0) { printf("ZFS: can't find child zap %ju\n", (uintmax_t)dir_obj); return (EIO); @@ -2908,7 +2911,7 @@ zfs_callback_dataset(const spa_t *spa, uint64_t objnum size_t size; int err; - err = objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset); + err = objset_get_dnode(spa, spa->spa_mos, objnum, &dataset); if (err != 0) { printf("ZFS: can't find dataset %ju\n", (uintmax_t)objnum); return (err); @@ -2916,7 +2919,7 @@ zfs_callback_dataset(const spa_t *spa, uint64_t objnum ds = (dsl_dataset_phys_t *)&dataset.dn_bonus; dir_obj = ds->ds_dir_obj; - err = objset_get_dnode(spa, &spa->spa_mos, dir_obj, &dir); + err = objset_get_dnode(spa, spa->spa_mos, dir_obj, &dir); if (err != 0) { printf("ZFS: can't find dirobj %ju\n", (uintmax_t)dir_obj); return (err); @@ -2924,7 +2927,7 @@ zfs_callback_dataset(const spa_t *spa, uint64_t objnum dd = (dsl_dir_phys_t *)&dir.dn_bonus; child_dir_zapobj = dd->dd_child_dir_zapobj; - err = objset_get_dnode(spa, &spa->spa_mos, child_dir_zapobj, + err = objset_get_dnode(spa, spa->spa_mos, child_dir_zapobj, &child_dir_zap); if (err != 0) { printf("ZFS: can't find child zap %ju\n", (uintmax_t)dir_obj); @@ -2962,7 +2965,7 @@ zfs_mount_dataset(const spa_t *spa, uint64_t objnum, o dnode_phys_t dataset; dsl_dataset_phys_t *ds; - if (objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset)) { + if (objset_get_dnode(spa, spa->spa_mos, objnum, &dataset)) { printf("ZFS: can't find dataset %ju\n", (uintmax_t)objnum); return (EIO); } @@ -2992,7 +2995,7 @@ zfs_get_root(const spa_t *spa, uint64_t *objid) /* * Start with the MOS directory object. */ - if (objset_get_dnode(spa, &spa->spa_mos, + if (objset_get_dnode(spa, spa->spa_mos, DMU_POOL_DIRECTORY_OBJECT, &dir)) { printf("ZFS: can't read MOS object directory\n"); return (EIO); @@ -3003,7 +3006,7 @@ zfs_get_root(const spa_t *spa, uint64_t *objid) */ if (zap_lookup(spa, &dir, DMU_POOL_PROPS, sizeof(props), 1, &props) == 0 && - objset_get_dnode(spa, &spa->spa_mos, props, &propdir) == 0 && + objset_get_dnode(spa, spa->spa_mos, props, &propdir) == 0 && zap_lookup(spa, &propdir, "bootfs", sizeof(bootfs), 1, &bootfs) == 0 && bootfs != 0) { *objid = bootfs; @@ -3014,7 +3017,7 @@ zfs_get_root(const spa_t *spa, uint64_t *objid) */ if (zap_lookup(spa, &dir, DMU_POOL_ROOT_DATASET, sizeof(root), 1, &root) || - objset_get_dnode(spa, &spa->spa_mos, root, &dir)) { + objset_get_dnode(spa, spa->spa_mos, root, &dir)) { printf("ZFS: can't find root dsl_dir\n"); return (EIO); } @@ -3085,7 +3088,7 @@ check_mos_features(const spa_t *spa) size_t size; int rc; - if ((rc = objset_get_dnode(spa, &spa->spa_mos, DMU_OT_OBJECT_DIRECTORY, + if ((rc = objset_get_dnode(spa, spa->spa_mos, DMU_OT_OBJECT_DIRECTORY, &dir)) != 0) return (rc); if ((rc = zap_lookup(spa, &dir, DMU_POOL_FEATURES_FOR_READ, @@ -3097,7 +3100,7 @@ check_mos_features(const spa_t *spa) return (0); } - if ((rc = objset_get_dnode(spa, &spa->spa_mos, objnum, &dir)) != 0) + if ((rc = objset_get_dnode(spa, spa->spa_mos, objnum, &dir)) != 0) return (rc); if (dir.dn_type != DMU_OTN_ZAP_METADATA) @@ -3131,7 +3134,7 @@ load_nvlist(spa_t *spa, uint64_t obj, nvlist_t **value unsigned char *nv; *value = NULL; - if ((rc = objset_get_dnode(spa, &spa->spa_mos, obj, &dir)) != 0) + if ((rc = objset_get_dnode(spa, spa->spa_mos, obj, &dir)) != 0) return (rc); if (dir.dn_type != DMU_OT_PACKED_NVLIST && dir.dn_bonustype != DMU_OT_PACKED_NVLIST_SIZE) { @@ -3160,22 +3163,23 @@ load_nvlist(spa_t *spa, uint64_t obj, nvlist_t **value static int zfs_spa_init(spa_t *spa) { + struct uberblock checkpoint; dnode_phys_t dir; uint64_t config_object; nvlist_t *nvlist; int rc; - if (zio_read(spa, &spa->spa_uberblock.ub_rootbp, &spa->spa_mos)) { + if (zio_read(spa, &spa->spa_uberblock->ub_rootbp, spa->spa_mos)) { printf("ZFS: can't read MOS of pool %s\n", spa->spa_name); return (EIO); } - if (spa->spa_mos.os_type != DMU_OST_META) { + if (spa->spa_mos->os_type != DMU_OST_META) { printf("ZFS: corrupted MOS of pool %s\n", spa->spa_name); return (EIO); } - if (objset_get_dnode(spa, &spa->spa_mos, DMU_POOL_DIRECTORY_OBJECT, - &dir)) { + if (objset_get_dnode(spa, &spa->spa_mos_master, + DMU_POOL_DIRECTORY_OBJECT, &dir)) { printf("ZFS: failed to read pool %s directory object\n", spa->spa_name); return (EIO); @@ -3200,6 +3204,20 @@ zfs_spa_init(spa_t *spa) rc = load_nvlist(spa, config_object, &nvlist); if (rc != 0) return (rc); + + rc = zap_lookup(spa, &dir, DMU_POOL_ZPOOL_CHECKPOINT, + sizeof(uint64_t), sizeof(checkpoint) / sizeof(uint64_t), + &checkpoint); + if (rc == 0 && checkpoint.ub_checkpoint_txg != 0) { + memcpy(&spa->spa_uberblock_checkpoint, &checkpoint, + sizeof(checkpoint)); + if (zio_read(spa, &spa->spa_uberblock_checkpoint.ub_rootbp, + &spa->spa_mos_checkpoint)) { + printf("ZFS: can not read checkpoint data.\n"); + return (EIO); + } + } + /* * Update vdevs from MOS config. Note, we do skip encoding bytes * here. See also vdev_label_read_config(). Modified: head/stand/lua/core.lua ============================================================================== --- head/stand/lua/core.lua Tue Aug 18 19:34:31 2020 (r364354) +++ head/stand/lua/core.lua Tue Aug 18 19:48:04 2020 (r364355) @@ -38,6 +38,8 @@ local default_safe_mode = false local default_single_user = false local default_verbose = false +local bootenv_list = "bootenvs" + local function composeLoaderCmd(cmd_name, argstr) if argstr ~= nil then cmd_name = cmd_name .. " " .. argstr @@ -270,7 +272,7 @@ function core.bootenvDefault() end function core.bootenvList() - local bootenv_count = tonumber(loader.getenv("bootenvs_count")) + local bootenv_count = tonumber(loader.getenv(bootenv_list .. "_count")) local bootenvs = {} local curenv local envcount = 0 @@ -281,7 +283,12 @@ function core.bootenvList() end -- Currently selected bootenv is always first/default - curenv = core.bootenvDefault() + -- On the rewinded list the bootenv may not exists + if core.isRewinded() then + curenv = core.bootenvDefaultRewinded() + else + curenv = core.bootenvDefault() + end if curenv ~= nil then envcount = envcount + 1 bootenvs[envcount] = curenv @@ -289,7 +296,7 @@ function core.bootenvList() end for curenv_idx = 0, bootenv_count - 1 do - curenv = loader.getenv("bootenvs[" .. curenv_idx .. "]") + curenv = loader.getenv(bootenv_list .. "[" .. curenv_idx .. "]") if curenv ~= nil and unique[curenv] == nil then envcount = envcount + 1 bootenvs[envcount] = curenv @@ -297,6 +304,40 @@ function core.bootenvList() end end return bootenvs +end + +function core.isCheckpointed() + return loader.getenv("zpool_checkpoint") ~= nil +end + +function core.bootenvDefaultRewinded() + local defname = "zfs:!" .. string.sub(core.bootenvDefault(), 5) + local bootenv_count = tonumber("bootenvs_check_count") + + if bootenv_count == nil or bootenv_count <= 0 then + return defname + end + + for curenv_idx = 0, bootenv_count - 1 do + curenv = loader.getenv("bootenvs_check[" .. curenv_idx .. "]") + if curenv == defname then + return defname + end + end + + return loader.getenv("bootenvs_check[0]") +end + +function core.isRewinded() + return bootenv_list == "bootenvs_check" +end + +function core.changeRewindCheckpoint() + if core.isRewinded() then + bootenv_list = "bootenvs" + else + bootenv_list = "bootenvs_check" + end end function core.setDefaults() Modified: head/stand/lua/menu.lua ============================================================================== --- head/stand/lua/menu.lua Tue Aug 18 19:34:31 2020 (r364354) +++ head/stand/lua/menu.lua Tue Aug 18 19:48:04 2020 (r364355) @@ -132,6 +132,9 @@ menu.boot_environments = { }, { entry_type = core.MENU_ENTRY, + visible = function() + return core.isRewinded() == false + end, name = function() return color.highlight("b") .. "ootfs: " .. core.bootenvDefault() @@ -250,6 +253,7 @@ menu.welcome = { }, menu_entries.kernel_options, menu_entries.boot_options, + menu_entries.zpool_checkpoints, menu_entries.boot_envs, menu_entries.chainload, } @@ -333,6 +337,32 @@ menu.welcome = { name = "Boot " .. color.highlight("O") .. "ptions", submenu = menu.boot_options, alias = {"o", "O"}, + }, + zpool_checkpoints = { + entry_type = core.MENU_ENTRY, + name = function() + rewind = "No" + if core.isRewinded() then + rewind = "Yes" + end + return "Rewind ZFS " .. color.highlight("C") .. + "heckpoint: " .. rewind + end, + func = function() + core.changeRewindCheckpoint() + if core.isRewinded() then + bootenvSet( + core.bootenvDefaultRewinded()) + else + bootenvSet(core.bootenvDefault()) + end + config.setCarouselIndex("be_active", 1) + end, + visible = function() + return core.isZFSBoot() and + core.isCheckpointed() + end, + alias = {"c", "C"}, }, boot_envs = { entry_type = core.MENU_SUBMENU, Modified: head/sys/cddl/boot/zfs/zfsimpl.h ============================================================================== --- head/sys/cddl/boot/zfs/zfsimpl.h Tue Aug 18 19:34:31 2020 (r364354) +++ head/sys/cddl/boot/zfs/zfsimpl.h Tue Aug 18 19:48:04 2020 (r364355) @@ -1351,6 +1351,7 @@ typedef struct dsl_dataset_phys { #define DMU_POOL_REMOVING "com.delphix:removing" #define DMU_POOL_OBSOLETE_BPOBJ "com.delphix:obsolete_bpobj" #define DMU_POOL_CONDENSING_INDIRECT "com.delphix:condensing_indirect" +#define DMU_POOL_ZPOOL_CHECKPOINT "com.delphix:zpool_checkpoint" #define ZAP_MAGIC 0x2F52AB2ABULL @@ -1814,12 +1815,17 @@ typedef struct spa { char *spa_name; /* pool name */ uint64_t spa_guid; /* pool guid */ uint64_t spa_txg; /* most recent transaction */ - struct uberblock spa_uberblock; /* best uberblock so far */ + struct uberblock *spa_uberblock; /* best uberblock so far */ vdev_t *spa_root_vdev; /* toplevel vdev container */ - objset_phys_t spa_mos; /* MOS for this pool */ + objset_phys_t *spa_mos; /* MOS for this pool */ zio_cksum_salt_t spa_cksum_salt; /* secret salt for cksum */ void *spa_cksum_tmpls[ZIO_CHECKSUM_FUNCTIONS]; boolean_t spa_with_log; /* this pool has log */ + + struct uberblock spa_uberblock_master; /* best uberblock so far */ + objset_phys_t spa_mos_master; /* MOS for this pool */ + struct uberblock spa_uberblock_checkpoint; /* checkpoint uberblock */ + objset_phys_t spa_mos_checkpoint; /* Checkpoint MOS */ } spa_t; /* IO related arguments. */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Aug 18 19:34:31 2020 (r364354) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Aug 18 19:48:04 2020 (r364355) @@ -5719,7 +5719,7 @@ spa_generate_rootconf(const char *name) } int -spa_import_rootpool(const char *name) +spa_import_rootpool(const char *name, bool checkpointrewind) { spa_t *spa; vdev_t *rvd, *bvd, *avd = NULL; @@ -5778,6 +5778,9 @@ spa_import_rootpool(const char *name) } spa->spa_is_root = B_TRUE; spa->spa_import_flags = ZFS_IMPORT_VERBATIM; + if (checkpointrewind) { + spa->spa_import_flags |= ZFS_IMPORT_CHECKPOINT; + } /* * Build up a vdev tree based on the boot device's label config. Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Tue Aug 18 19:34:31 2020 (r364354) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Tue Aug 18 19:48:04 2020 (r364355) @@ -643,7 +643,7 @@ extern int spa_create(const char *pool, nvlist_t *conf #ifdef illumos extern int spa_import_rootpool(char *devpath, char *devid); #else -extern int spa_import_rootpool(const char *name); +extern int spa_import_rootpool(const char *name, bool checkpointrewind); #endif extern int spa_import(const char *pool, nvlist_t *config, nvlist_t *props, uint64_t flags); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Tue Aug 18 19:34:31 2020 (r364354) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Tue Aug 18 19:48:04 2020 (r364355) @@ -1783,6 +1783,18 @@ getpoolname(const char *osname, char *poolname) return (0); } +static void +fetch_osname_options(char *name, bool *checkpointrewind) +{ + + if (name[0] == '!') { + *checkpointrewind = true; + memmove(name, name + 1, strlen(name)); + } else { + *checkpointrewind = false; + } +} + /*ARGSUSED*/ static int zfs_mount(vfs_t *vfsp) @@ -1793,6 +1805,7 @@ zfs_mount(vfs_t *vfsp) char *osname; int error = 0; int canwrite; + bool checkpointrewind; #ifdef illumos if (mvp->v_type != VDIR) @@ -1836,6 +1849,7 @@ zfs_mount(vfs_t *vfsp) secpolicy_fs_mount_clearopts(cr, vfsp); } #endif /* illumos */ + fetch_osname_options(osname, &checkpointrewind); /* * Check for mount privilege? @@ -1921,7 +1935,7 @@ zfs_mount(vfs_t *vfsp) error = getpoolname(osname, pname); if (error == 0) - error = spa_import_rootpool(pname); + error = spa_import_rootpool(pname, checkpointrewind); if (error) goto out; } From owner-svn-src-all@freebsd.org Tue Aug 18 20:20:46 2020 Return-Path: Delivered-To: svn-src-all@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 B03A13C6386; Tue, 18 Aug 2020 20:20:46 +0000 (UTC) (envelope-from imp@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 4BWMjp47vVz4blG; Tue, 18 Aug 2020 20:20:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 706F216FFC; Tue, 18 Aug 2020 20:20:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IKKkPX022887; Tue, 18 Aug 2020 20:20:46 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IKKkwN022885; Tue, 18 Aug 2020 20:20:46 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008182020.07IKKkwN022885@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 20:20:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364356 - head/sys/arm/allwinner X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/arm/allwinner X-SVN-Commit-Revision: 364356 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 20:20:46 -0000 Author: imp Date: Tue Aug 18 20:20:45 2020 New Revision: 364356 URL: https://svnweb.freebsd.org/changeset/base/364356 Log: None of system, subsystem, or type may have spaces in them. Convert the spaces to dashes. Approved by: manu@ Modified: head/sys/arm/allwinner/axp209.c head/sys/arm/allwinner/axp81x.c Modified: head/sys/arm/allwinner/axp209.c ============================================================================== --- head/sys/arm/allwinner/axp209.c Tue Aug 18 19:48:04 2020 (r364355) +++ head/sys/arm/allwinner/axp209.c Tue Aug 18 20:20:45 2020 (r364356) @@ -863,9 +863,9 @@ axp2xx_intr(void *arg) if (reg & AXP2XX_IRQ2_BATT_DISCONN) devctl_notify("PMU", "Battery", "disconnected", NULL); if (reg & AXP2XX_IRQ2_BATT_TEMP_LOW) - devctl_notify("PMU", "Battery", "low temp", NULL); + devctl_notify("PMU", "Battery", "low-temp", NULL); if (reg & AXP2XX_IRQ2_BATT_TEMP_OVER) - devctl_notify("PMU", "Battery", "high temp", NULL); + devctl_notify("PMU", "Battery", "high-temp", NULL); axp2xx_write(sc->dev, AXP2XX_IRQ2_STATUS, AXP2XX_IRQ_ACK); } Modified: head/sys/arm/allwinner/axp81x.c ============================================================================== --- head/sys/arm/allwinner/axp81x.c Tue Aug 18 19:48:04 2020 (r364355) +++ head/sys/arm/allwinner/axp81x.c Tue Aug 18 20:20:45 2020 (r364356) @@ -1118,9 +1118,9 @@ axp8xx_intr(void *arg) if (bootverbose) device_printf(dev, "AXP_IRQSTAT4 val: %x\n", val); if (val & AXP_IRQSTAT4_BATLVL_LO0) - devctl_notify("PMU", "Battery", "shutdown threshold", NULL); + devctl_notify("PMU", "Battery", "shutdown-threshold", NULL); if (val & AXP_IRQSTAT4_BATLVL_LO1) - devctl_notify("PMU", "Battery", "warning threshold", NULL); + devctl_notify("PMU", "Battery", "warning-threshold", NULL); /* Acknowledge */ axp8xx_write(dev, AXP_IRQSTAT4, val); } From owner-svn-src-all@freebsd.org Tue Aug 18 20:41:05 2020 Return-Path: Delivered-To: svn-src-all@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 0DE833C6951; Tue, 18 Aug 2020 20:41:05 +0000 (UTC) (envelope-from cy@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 4BWN9D6f55z4crj; Tue, 18 Aug 2020 20:41:04 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C817A178AD; Tue, 18 Aug 2020 20:41:04 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IKf4uX033501; Tue, 18 Aug 2020 20:41:04 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IKf3hs033495; Tue, 18 Aug 2020 20:41:03 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202008182041.07IKf3hs033495@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Tue, 18 Aug 2020 20:41:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364357 - stable/12/libexec/rc/rc.d X-SVN-Group: stable-12 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: stable/12/libexec/rc/rc.d X-SVN-Commit-Revision: 364357 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 20:41:05 -0000 Author: cy Date: Tue Aug 18 20:41:03 2020 New Revision: 364357 URL: https://svnweb.freebsd.org/changeset/base/364357 Log: MFC r364133: When booting a system with WITHOUT_IPFILTER the following errors are encountered at boot time: rcorder: requirement `ipfs' in file `/etc/rc.d/netif' has no providers. rcorder: requirement `ipfilter' in file `/etc/rc.d/netif' has no providers. rcorder: requirement `ipfilter' in file `/etc/rc.d/netwait' has no providers. rcorder: requirement `ipfilter' in file `/etc/rc.d/net_watchdog' has no providers. rcorder: requirement `ipfilter' in file `/etc/rc.d/securelevel' has no providers. Listing its own requrements in BEFORE rather than use REQUIRE of non-optional scripts resolves this issue. The issue was discovered and patched by glebius at Netflix. Submitted by: glebius Reported by: glebius Modified: stable/12/libexec/rc/rc.d/ipfilter stable/12/libexec/rc/rc.d/ipmon stable/12/libexec/rc/rc.d/ipnat stable/12/libexec/rc/rc.d/netif stable/12/libexec/rc/rc.d/netwait stable/12/libexec/rc/rc.d/securelevel Directory Properties: stable/12/ (props changed) Modified: stable/12/libexec/rc/rc.d/ipfilter ============================================================================== --- stable/12/libexec/rc/rc.d/ipfilter Tue Aug 18 20:20:45 2020 (r364356) +++ stable/12/libexec/rc/rc.d/ipfilter Tue Aug 18 20:41:03 2020 (r364357) @@ -5,6 +5,7 @@ # PROVIDE: ipfilter # REQUIRE: FILESYSTEMS +# BEFORE: ipmon ipnat netif netwait securelevel # KEYWORD: nojailvnet . /etc/rc.subr Modified: stable/12/libexec/rc/rc.d/ipmon ============================================================================== --- stable/12/libexec/rc/rc.d/ipmon Tue Aug 18 20:20:45 2020 (r364356) +++ stable/12/libexec/rc/rc.d/ipmon Tue Aug 18 20:41:03 2020 (r364357) @@ -4,7 +4,7 @@ # # PROVIDE: ipmon -# REQUIRE: FILESYSTEMS hostname sysctl ipfilter +# REQUIRE: FILESYSTEMS hostname sysctl # BEFORE: SERVERS # KEYWORD: nojailvnet Modified: stable/12/libexec/rc/rc.d/ipnat ============================================================================== --- stable/12/libexec/rc/rc.d/ipnat Tue Aug 18 20:20:45 2020 (r364356) +++ stable/12/libexec/rc/rc.d/ipnat Tue Aug 18 20:41:03 2020 (r364357) @@ -4,7 +4,6 @@ # # PROVIDE: ipnat -# REQUIRE: ipfilter # KEYWORD: nojailvnet . /etc/rc.subr Modified: stable/12/libexec/rc/rc.d/netif ============================================================================== --- stable/12/libexec/rc/rc.d/netif Tue Aug 18 20:20:45 2020 (r364356) +++ stable/12/libexec/rc/rc.d/netif Tue Aug 18 20:41:03 2020 (r364357) @@ -27,7 +27,7 @@ # PROVIDE: netif # REQUIRE: FILESYSTEMS iovctl serial sppp sysctl -# REQUIRE: hostid ipfilter ipfs +# REQUIRE: hostid ipfs # KEYWORD: nojailvnet . /etc/rc.subr Modified: stable/12/libexec/rc/rc.d/netwait ============================================================================== --- stable/12/libexec/rc/rc.d/netwait Tue Aug 18 20:20:45 2020 (r364356) +++ stable/12/libexec/rc/rc.d/netwait Tue Aug 18 20:41:03 2020 (r364357) @@ -3,7 +3,7 @@ # $FreeBSD$ # # PROVIDE: netwait -# REQUIRE: devd ipfilter ipfw pf routing +# REQUIRE: devd ipfw pf routing # KEYWORD: nojail # # The netwait script helps handle two situations: Modified: stable/12/libexec/rc/rc.d/securelevel ============================================================================== --- stable/12/libexec/rc/rc.d/securelevel Tue Aug 18 20:20:45 2020 (r364356) +++ stable/12/libexec/rc/rc.d/securelevel Tue Aug 18 20:41:03 2020 (r364357) @@ -4,7 +4,7 @@ # # PROVIDE: securelevel -# REQUIRE: adjkerntz ipfw ipfilter pf +# REQUIRE: adjkerntz ipfw pf . /etc/rc.subr From owner-svn-src-all@freebsd.org Tue Aug 18 20:59:10 2020 Return-Path: Delivered-To: svn-src-all@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 DE1B13C7214; Tue, 18 Aug 2020 20:59:10 +0000 (UTC) (envelope-from cem@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 4BWNZ65dzpz4dmK; Tue, 18 Aug 2020 20:59:10 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A4F0B178D6; Tue, 18 Aug 2020 20:59:10 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IKxA80044434; Tue, 18 Aug 2020 20:59:10 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IKxAej044433; Tue, 18 Aug 2020 20:59:10 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202008182059.07IKxAej044433@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Tue, 18 Aug 2020 20:59:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364358 - head/sys/gdb X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/gdb X-SVN-Commit-Revision: 364358 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 20:59:10 -0000 Author: cem Date: Tue Aug 18 20:59:10 2020 New Revision: 364358 URL: https://svnweb.freebsd.org/changeset/base/364358 Log: gdb(4): Support empty qSupported queries Technically a client may send a qSupported query without specifying any client features. We should respond with our supported list in that case instead of bailing with error. Reported by: rlibby Reviewed by: emaste, rlibby, vangyzen Sponsored by: Isilon Differential Revision: https://reviews.freebsd.org/D26115 Modified: head/sys/gdb/gdb_main.c Modified: head/sys/gdb/gdb_main.c ============================================================================== --- head/sys/gdb/gdb_main.c Tue Aug 18 20:41:03 2020 (r364357) +++ head/sys/gdb/gdb_main.c Tue Aug 18 20:59:10 2020 (r364358) @@ -204,8 +204,14 @@ gdb_do_qsupported(uint32_t *feat) /* Parse supported host features */ *feat = 0; - if (gdb_rx_char() != ':') + switch (gdb_rx_char()) { + case ':': + break; + case EOF: + goto nofeatures; + default: goto error; + } while (gdb_rxsz > 0) { tok = gdb_rxp; @@ -250,6 +256,7 @@ gdb_do_qsupported(uint32_t *feat) *feat |= BIT(i); } +nofeatures: /* Send a supported feature list back */ gdb_tx_begin(0); From owner-svn-src-all@freebsd.org Tue Aug 18 21:26:39 2020 Return-Path: Delivered-To: svn-src-all@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 F12B23C7974; Tue, 18 Aug 2020 21:26:39 +0000 (UTC) (envelope-from imp@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 4BWP9q64P0z3SD1; Tue, 18 Aug 2020 21:26:39 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B32611842D; Tue, 18 Aug 2020 21:26:39 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07ILQdQX062555; Tue, 18 Aug 2020 21:26:39 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07ILQdBh062554; Tue, 18 Aug 2020 21:26:39 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008182126.07ILQdBh062554@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 21:26:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364359 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364359 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 21:26:40 -0000 Author: imp Date: Tue Aug 18 21:26:39 2020 New Revision: 364359 URL: https://svnweb.freebsd.org/changeset/base/364359 Log: Move the possible event types into a column table to make it easier to read. Sort system type alphabetically. Remove some commas that aren't in the devd notification messages. MFC After: 3 days Reviewed by: 0mp (earlier versions), jhb (useful feedback on earlier versions) Differential Revision: https://reviews.freebsd.org/D26105 Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Tue Aug 18 20:59:10 2020 (r364358) +++ head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:39 2020 (r364359) @@ -321,96 +321,112 @@ Vendor ID. A partial list of systems, subsystems, and types used within the .Ic notify mechanism. +.\" +.\" Please keep these tables sorted. Also, please use the same parameters +.\" for each of the tables so that things line up in columns nicely. +.\" Please do not omit the type column for notifiers that omit it. .Pp -.Bl -tag -width ".Li coretemp" -compact -.It Sy System -.It Li ACPI -Events related to the ACPI subsystem. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li ACAD +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li ACPI Ta Ta Ta +Events related to the ACPI Sybsystem. +.It Li ACPI Ta Li ACAD Ta Ta AC line state ($notify=0x00 is offline, 0x01 is online). -.It Li Button +.It Li ACPI Ta Li Button Ta Ta Button state ($notify=0x00 is power, 0x01 is sleep). -.It Li CMBAT +.It Li ACPI Ta Li CMBAT Ta Ta Battery events. -.It Li Dock +.It Li ACPI Ta Li Dock Ta Ta Dock state ($notify=0x00 is undocked, 0x01 is docked). -.It Li Lid +.It Li ACPI Ta Li Lid Ta Ta Lid state ($notify=0x00 is closed, 0x01 is open). -.It Li PROCESSOR +.It Li ACPI Ta Li PROCESSOR Ta Ta Processor state/configuration ($notify=0x81 is a change in available Cx states). -.It Li Resume +.It Li ACPI Ta Li Resume Ta Ta Resume notification. -.It Li Suspend +.It Li ACPI Ta Li Suspend Ta Ta Suspend notification. -.It Li Thermal +.It Li ACPI Ta Li Thermal Ta Ta Thermal zone events. .El .Pp -.It Li CARP +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li CAM Ta Ta Ta Events related to the +.Xr cam 4 +system. +.It Li CAM Ta Li periph Ta Ta +Events related to peripheral devices. +.It Li CAM Ta Li periph Ta Li error Ta +Generic errors. +.It Li CAM Ta Li periph Ta Li timeout Ta +Command timeouts. +.El +.Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li CARP Ta Ta Ta +Events related to the .Xr carp 4 protocol. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Ar vhid@interface +.It CARP Ta Ar vhid@inet Ta Ta The .Dq subsystem contains the actual CARP vhid and the name of the network interface on which the event took place. -.Bl -tag -width ".Li MASTER" -compact -.It Sy Type -.It Li MASTER +.It CARP Ta Ar vhid@inet Ta MASTER Ta Node become the master for a virtual host. -.It Li BACKUP +.It CARP Ta Ar vhid@inet Ta BACKUP Ta Node become the backup for a virtual host. .El +.Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li coretemp Ta Ta Ta +Events related to the +.Xr coretemp 4 +device. +.It Li coretemp Ta Li Thermal Ta Ta +Notification that the CPU core has reached critical temperature. +.It Li coretemp Ta Li Thermal Ta Li temperature Ta +String containing the temperature of the core that has become too hot. .El .Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" .It Li IFNET -Events related to the network subsystem. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Ar interface +.It Li IFNET Ta Ar inet Ta Ta The .Dq subsystem is the actual name of the network interface on which the event took place. -.Bl -tag -width ".Li LINK_DOWN" -compact -.It Sy Type -.It Li LINK_UP +.It Li IFNET Ta Ar inet Ta Li LINK_UP Ta Carrier status changed to UP. -.It Li LINK_DOWN +.It Li IFNET Ta Ar inet Ta Li LINK_DOWN Ta Carrier status changed to DOWN. -.It Li ATTACH +.It Li IFNET Ta Ar inet Ta Li ATTACH Ta The network interface is attached to the system. -.It Li DETACH +.It Li IFNET Ta Ar inet Ta Li DETACH Ta The network interface is detached from the system. .El -.El .Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" .It Li DEVFS -Events related to the -.Xr devfs 5 -filesystem. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li CDEV -.Bl -tag -width ".Li DESTROY" -compact -.It Sy Type -.It Li CREATE +.It Li DEVFS Ta Li CDEV Ta Li CREATE Ta The .Xr devfs 5 node is created. -.It Li DESTROY +.It Li DEVFS Ta Li CDEV Ta Li DESTROY Ta The .Xr devfs 5 node is destroyed. .El -.El .Pp -.It Li GEOM +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li GEOM Ta Ta Ta Events related to the .Xr geom 4 framework. @@ -419,135 +435,77 @@ The difference compared to is that .Li GEOM only includes disk-like devices. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li DEV -.Bl -tag -width ".Li MEDIACHANGE" -compact -.It Sy Type -.It Li CREATE +.It Li GEOM Ta Li DEV Ta Li CREATE Ta A .Xr geom 4 provider is created. -.It Li DESTROY +.It Li GEOM Ta Li DEV Ta Li DESTROY Ta A .Xr geom 4 provider is destroyed. -.It Li GEOM::physpath +.It Li GEOM Ta Li DEV Ta Li GEOM::physpath Ta The physical path of a device has changed. -.It Li MEDIACHANGE +.It Li GEOM Ta Li DEV Ta Li MEDIACHANGE Ta Physical media has changed. -.It Li SIZECHANGE +.It Li GEOM Ta Li DEV Ta Li SIZECHANGE Ta A .Xr geom 4 provider size has changed. .El +.Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li kern Ta Li power Ta Li resume Ta +Notification that the system has woken from the suspended state. .El .Pp -.It Li RCTL +.Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li kernel Ta Li signal Ta Li coredump Ta +Notification that a process has crashed and dumped core. +.El +.Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li RCTL Ta Ta Ta Events related to the .Xr rctl 8 framework. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li rule -.Bl -tag -width ".Li matched" -compact -.It Sy Type -.It Li matched +.It Li RCTL Ta Li rule Ta Li matched Ta A rule with action specified as "devctl" was triggered. .El -.El .Pp -.It Li USB +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li USB Ta Ta Ta Events related to the USB subsystem. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li DEVICE -.Bl -tag -width ".Li DETACH" -compact -.It Sy Type -.It Li ATTACH +.It Li USB Ta Li DEVICE Ta Li ATTACH Ta USB device is attached to the system. -.It Li DETACH -USB device is detached from the system. -.El -.It Li INTERFACE -.Bl -tag -width ".Li DETACH" -compact -.It Sy Type -.It Li ATTACH +.It Li USB Ta Li DEVICE Ta Li DETACH Ta +USB device is detached to the system. +.It Li USB Ta Li INTERFACE Ta Li ATTACH Ta USB interface is attached to a device. -.It Li DETACH +.It Li USB Ta Li INTERFACE Ta Li DETACH Ta USB interface is detached from a device. .El -.El .Pp -.It Li coretemp -Events related to the -.Xr coretemp 4 -device. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li Thermal -Notification that the CPU core has reached critical temperature. -.Bl -tag -width ".Ar temperature" -compact -.It Sy Type -.It Ar temperature -String containing the temperature of the core that has become too hot. -.El -.El -.Pp -.It Li kern -Events related to the kernel. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li power -.Bl -tag -width ".li resume" -compact -.It Sy Type -.It Li resume -Notification that the system has woken from the suspended state. -.El -.El -.Pp -.It Li kernel -More events related to the kernel. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li signal -.Bl -tag -width ".li resume" -compact -.It Sy Type -.It Li coredump -Notification that a process has crashed and dumped core. -.El -.El -.Pp -.It Li CAM -Events related to the -.Xr cam 4 -system. -.Bl -tag -width ".Sy Subsystem" -compact -.It Sy Subsystem -.It Li periph -Events related to peripheral devices. -.Bl -tag -width ".li timeout" -compact -.It Sy Type -.It Li error -Generic errors. -.It Li timeout -Command timeouts. -.El -.El -.El -.Pp + +.\" +.\" End of tables +.\" A link state change to UP on the interface .Dq Li fxp0 would result in the following notify event: .Bd -literal -offset indent -system=IFNET, subsystem=fxp0, type=LINK_UP +system=IFNET subsystem=fxp0 type=LINK_UP .Ed .Pp An AC line state change to .Dq offline would result in the following event: .Bd -literal -offset indent -system=ACPI, subsystem=ACAD, notify=0x00 +system=ACPI subsystem=ACAD notify=0x00 .Ed .Ss Comments Comments may appear anywhere that whitespace may appear in a From owner-svn-src-all@freebsd.org Tue Aug 18 21:26:47 2020 Return-Path: Delivered-To: svn-src-all@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 D2D093C7E10; Tue, 18 Aug 2020 21:26:47 +0000 (UTC) (envelope-from imp@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 4BWP9y41SGz3SRV; Tue, 18 Aug 2020 21:26:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2C8B71842E; Tue, 18 Aug 2020 21:26:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07ILQkAn062609; Tue, 18 Aug 2020 21:26:46 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07ILQk1W062608; Tue, 18 Aug 2020 21:26:46 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008182126.07ILQk1W062608@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 21:26:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364360 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364360 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 21:26:48 -0000 Author: imp Date: Tue Aug 18 21:26:45 2020 New Revision: 364360 URL: https://svnweb.freebsd.org/changeset/base/364360 Log: GEOM::rotation_rate changes are also signaled via devctl. MFC After: 3 days Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:39 2020 (r364359) +++ head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:45 2020 (r364360) @@ -445,6 +445,8 @@ A provider is destroyed. .It Li GEOM Ta Li DEV Ta Li GEOM::physpath Ta The physical path of a device has changed. +.It Li GEOM Ta Li DEV Ta Li GEOM::rotation_rate Ta +The roation rate of the disk has changed. .It Li GEOM Ta Li DEV Ta Li MEDIACHANGE Ta Physical media has changed. .It Li GEOM Ta Li DEV Ta Li SIZECHANGE Ta From owner-svn-src-all@freebsd.org Tue Aug 18 21:26:51 2020 Return-Path: Delivered-To: svn-src-all@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 A809F3C7E19; Tue, 18 Aug 2020 21:26:51 +0000 (UTC) (envelope-from imp@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 4BWPB33kSdz3SPX; Tue, 18 Aug 2020 21:26:51 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B7CAA18522; Tue, 18 Aug 2020 21:26:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07ILQoOK062663; Tue, 18 Aug 2020 21:26:50 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07ILQoOw062662; Tue, 18 Aug 2020 21:26:50 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008182126.07ILQoOw062662@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 21:26:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364361 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364361 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 21:26:51 -0000 Author: imp Date: Tue Aug 18 21:26:50 2020 New Revision: 364361 URL: https://svnweb.freebsd.org/changeset/base/364361 Log: Document the PMU system The pmu(4) and adb(4) drivers on powerpc generate PMU events. Document them. The allwinner power modules also generate these events. Document those as well. MFC After: 3 days Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:45 2020 (r364360) +++ head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:50 2020 (r364361) @@ -470,6 +470,79 @@ Notification that a process has crashed and dumped cor .Pp .Bl -column "System" "Subsystem" "1234567" -compact .Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li PMU Ta Ta Ta +Notification of events from various types of Power Management Units. +.It Li PMU Ta Li "AC" Ta Ta +Notifications of AC power related events. +.It Li PMU Ta Li "AC" Ta Li overvoltage Ta +An over voltage ondition was detected on the AC power line. +.It Li PMU Ta Li "AC" Ta Li plugged Ta +Power has been applied to the AC power line. +.It Li PMU Ta Li "AC" Ta Li unplugged Ta +Power has been removed from the AC power line. +.It Li PMU Ta Li Battery Ta Ta +.It Li PMU Ta Li Battery Ta absent Ta +Battery is no longer absent. +.It Li PMU Ta Li Battery Ta charged Ta +The battery has become charged. +.It Li PMU Ta Li Battery Ta charging Ta +The battery has started charging. +.It Li PMU Ta Li Battery Ta disconnected Ta +The battery has been disconnected. +.It Li PMU Ta Li Battery Ta high-temp Ta +The battery reported a temperature over the limit. +.It Li PMU Ta Li Battery Ta low-temp Ta +The battery reported a temperature under the limit. +.It Li PMU Ta Li Battery Ta plugged Ta +The battery has become plugged (eg connected). +.It Li PMU Ta Li Battery Ta shutdown-threshold Ta +The power in the battery has fallen below the shutdown threshold. +.It Li PMU Ta Li Battery Ta warning-threshold Ta +The power in the battery has fallen below the warn the user threshold. +.It Li PMU Ta Li Button Ta pressed Ta +A button on a +.Xr adb 4 +or +.Xr pmu 4 +has been pressed. +.It Li PMU Ta Li keys Ta Ta +One of the keys on the +.Xr adb 4 +keyboard has been pressed. +.It Li PMU Ta Li keys Ta brightness Ta +A brightness level change has been requested. +Direction is in the $notify variable. +.It Li PMU Ta Li keys Ta mute Ta +The mute key +.It Li PMU Ta Li keys Ta volume Ta +A volume level change has been requested. +Direction is in the $notify variable. +.It Li PMU Ta Li keys Ta eject Ta +An ejection has been requested. +.It Li PMU Ta Li lid Ta close Ta +The +.Xr pmc 4 +device has detected the lid closing. +.It Li PMU Ta Li lid Ta open Ta +The +.Xr pmc 4 +device has detected the lid openinging. +.It Li PMU Ta Li POWER Ta ACLINE Ta +The +.Xr pmc 4 +device has deteted an AC line state ($notify=0x00 is offline, 0x01 is online). +.It Li PMU Ta Li USB Ta overvoltage Ta +An over-voltage condition on the power lines for the USB power pins. +.It Li PMU Ta Li USB Ta plugged Ta +A device has been plugged into a USB device. +.It Li PMU Ta Li USB Ta undervoltage Ta +An under-voltage condition on the power lines for the USB power pins. +.It Li PMU Ta Li USB Ta unplugged Ta +A device has been unplugged into a USB device. +.El +.Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" .It Li RCTL Ta Ta Ta Events related to the .Xr rctl 8 @@ -492,7 +565,6 @@ USB interface is attached to a device. USB interface is detached from a device. .El .Pp - .\" .\" End of tables .\" From owner-svn-src-all@freebsd.org Tue Aug 18 21:26:59 2020 Return-Path: Delivered-To: svn-src-all@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 D24B33C7E81; Tue, 18 Aug 2020 21:26:57 +0000 (UTC) (envelope-from imp@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 4BWPB80Yn5z3SY9; Tue, 18 Aug 2020 21:26:55 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0DEFF183AF; Tue, 18 Aug 2020 21:26:55 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07ILQsLM062714; Tue, 18 Aug 2020 21:26:54 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07ILQshP062713; Tue, 18 Aug 2020 21:26:54 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008182126.07ILQshP062713@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 21:26:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364362 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364362 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 21:26:59 -0000 Author: imp Date: Tue Aug 18 21:26:54 2020 New Revision: 364362 URL: https://svnweb.freebsd.org/changeset/base/364362 Log: Document the AEON subsystem for the Amiga's power button. MFC After: 3 days Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:50 2020 (r364361) +++ head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:54 2020 (r364362) @@ -352,6 +352,12 @@ Thermal zone events. .Pp .Bl -column "System" "Subsystem" "1234567" -compact .Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li AEON Ta Li power Ta Li press Ta +The power button on an amiga has been pressed. +.El +.Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" .It Li CAM Ta Ta Ta Events related to the .Xr cam 4 From owner-svn-src-all@freebsd.org Tue Aug 18 21:27:02 2020 Return-Path: Delivered-To: svn-src-all@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 CDB093C7C3D; Tue, 18 Aug 2020 21:27:01 +0000 (UTC) (envelope-from imp@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 4BWPBF3W0Mz3Shm; Tue, 18 Aug 2020 21:27:01 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 513311833E; Tue, 18 Aug 2020 21:26:59 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07ILQxrD062768; Tue, 18 Aug 2020 21:26:59 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07ILQxfV062767; Tue, 18 Aug 2020 21:26:59 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008182126.07ILQxfV062767@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 21:26:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364363 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364363 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 21:27:02 -0000 Author: imp Date: Tue Aug 18 21:26:58 2020 New Revision: 364363 URL: https://svnweb.freebsd.org/changeset/base/364363 Log: Document the ZFS events as best I can. These are not well documented. MFC After: 3 days Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:54 2020 (r364362) +++ head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:58 2020 (r364363) @@ -571,6 +571,17 @@ USB interface is attached to a device. USB interface is detached from a device. .El .Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li ZFS Ta ZFS Ta Ta +Events about the ZFS subsystem. +See +.Xr zfsd 8 +and +.Pa /etc/devd/zfs.conf +for details. +.El +.Pp .\" .\" End of tables .\" From owner-svn-src-all@freebsd.org Tue Aug 18 21:42:02 2020 Return-Path: Delivered-To: svn-src-all@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 DF2AF3A82AD; Tue, 18 Aug 2020 21:42:02 +0000 (UTC) (envelope-from imp@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 4BWPWZ5dxgz3TRn; Tue, 18 Aug 2020 21:42:02 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A63FA18894; Tue, 18 Aug 2020 21:42:02 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07ILg2OZ074199; Tue, 18 Aug 2020 21:42:02 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07ILg20R074198; Tue, 18 Aug 2020 21:42:02 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008182142.07ILg20R074198@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 18 Aug 2020 21:42:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364364 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364364 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 21:42:02 -0000 Author: imp Date: Tue Aug 18 21:42:02 2020 New Revision: 364364 URL: https://svnweb.freebsd.org/changeset/base/364364 Log: Fix two typos. Submitted by: rpokala@ MFC After: 3 days Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Tue Aug 18 21:26:58 2020 (r364363) +++ head/sbin/devd/devd.conf.5 Tue Aug 18 21:42:02 2020 (r364364) @@ -329,7 +329,7 @@ mechanism. .Bl -column "System" "Subsystem" "1234567" -compact .Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" .It Li ACPI Ta Ta Ta -Events related to the ACPI Sybsystem. +Events related to the ACPI Subsystem. .It Li ACPI Ta Li ACAD Ta Ta AC line state ($notify=0x00 is offline, 0x01 is online). .It Li ACPI Ta Li Button Ta Ta @@ -452,7 +452,7 @@ provider is destroyed. .It Li GEOM Ta Li DEV Ta Li GEOM::physpath Ta The physical path of a device has changed. .It Li GEOM Ta Li DEV Ta Li GEOM::rotation_rate Ta -The roation rate of the disk has changed. +The rotation rate of the disk has changed. .It Li GEOM Ta Li DEV Ta Li MEDIACHANGE Ta Physical media has changed. .It Li GEOM Ta Li DEV Ta Li SIZECHANGE Ta From owner-svn-src-all@freebsd.org Tue Aug 18 22:03:56 2020 Return-Path: Delivered-To: svn-src-all@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 7562A3A8ADF; Tue, 18 Aug 2020 22:03:56 +0000 (UTC) (envelope-from mjg@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 4BWQ0r2V20z3VdC; Tue, 18 Aug 2020 22:03:56 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 388D518DA6; Tue, 18 Aug 2020 22:03:56 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IM3ucT087246; Tue, 18 Aug 2020 22:03:56 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IM3tgi087243; Tue, 18 Aug 2020 22:03:55 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008182203.07IM3tgi087243@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Tue, 18 Aug 2020 22:03:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364365 - in head/sys: amd64/linux arm64/linux i386/linux X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: amd64/linux arm64/linux i386/linux X-SVN-Commit-Revision: 364365 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 22:03:56 -0000 Author: mjg Date: Tue Aug 18 22:03:55 2020 New Revision: 364365 URL: https://svnweb.freebsd.org/changeset/base/364365 Log: linux: consistently use LFREEPATH instead of open-coding it Modified: head/sys/amd64/linux/linux_machdep.c head/sys/arm64/linux/linux_machdep.c head/sys/i386/linux/linux_machdep.c Modified: head/sys/amd64/linux/linux_machdep.c ============================================================================== --- head/sys/amd64/linux/linux_machdep.c Tue Aug 18 21:42:02 2020 (r364364) +++ head/sys/amd64/linux/linux_machdep.c Tue Aug 18 22:03:55 2020 (r364365) @@ -104,7 +104,7 @@ linux_execve(struct thread *td, struct linux_execve_ar error = exec_copyin_args(&eargs, path, UIO_SYSSPACE, args->argp, args->envp); - free(path, M_TEMP); + LFREEPATH(path); if (error == 0) error = linux_common_execve(td, &eargs); return (error); Modified: head/sys/arm64/linux/linux_machdep.c ============================================================================== --- head/sys/arm64/linux/linux_machdep.c Tue Aug 18 21:42:02 2020 (r364364) +++ head/sys/arm64/linux/linux_machdep.c Tue Aug 18 22:03:55 2020 (r364365) @@ -71,7 +71,7 @@ linux_execve(struct thread *td, struct linux_execve_ar error = exec_copyin_args(&eargs, path, UIO_SYSSPACE, uap->argp, uap->envp); - free(path, M_TEMP); + LFREEPATH(path); if (error == 0) error = linux_common_execve(td, &eargs); return (error); Modified: head/sys/i386/linux/linux_machdep.c ============================================================================== --- head/sys/i386/linux/linux_machdep.c Tue Aug 18 21:42:02 2020 (r364364) +++ head/sys/i386/linux/linux_machdep.c Tue Aug 18 22:03:55 2020 (r364365) @@ -108,7 +108,7 @@ linux_execve(struct thread *td, struct linux_execve_ar error = exec_copyin_args(&eargs, newpath, UIO_SYSSPACE, args->argp, args->envp); - free(newpath, M_TEMP); + LFREEPATH(newpath); if (error == 0) error = linux_common_execve(td, &eargs); return (error); From owner-svn-src-all@freebsd.org Tue Aug 18 22:04:25 2020 Return-Path: Delivered-To: svn-src-all@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 574453A8D8A; Tue, 18 Aug 2020 22:04:25 +0000 (UTC) (envelope-from mjg@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 4BWQ1P1zVbz3Vwb; Tue, 18 Aug 2020 22:04:25 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0D34618C1C; Tue, 18 Aug 2020 22:04:25 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IM4OHa087320; Tue, 18 Aug 2020 22:04:24 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IM4NeZ087312; Tue, 18 Aug 2020 22:04:23 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008182204.07IM4NeZ087312@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Tue, 18 Aug 2020 22:04:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364366 - in head/sys: amd64/linux arm64/linux compat/linux i386/linux X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: amd64/linux arm64/linux compat/linux i386/linux X-SVN-Commit-Revision: 364366 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 22:04:25 -0000 Author: mjg Date: Tue Aug 18 22:04:22 2020 New Revision: 364366 URL: https://svnweb.freebsd.org/changeset/base/364366 Log: linux: add sysctl compat.linux.use_emul_path This is a step towards facilitating jails with only Linux binaries. Supporting emul_path adds path lookups which are completely spurious if the binary at hand runs in a Linux-based root directory. It defaults to on (== current behavior). make -C /root/linux-5.3-rc8 -s -j 1 bzImage: use_emul_path=1: 101.65s user 68.68s system 100% cpu 2:49.62 total use_emul_path=0: 101.41s user 64.32s system 100% cpu 2:45.02 total Modified: head/sys/amd64/linux/linux_machdep.c head/sys/arm64/linux/linux_machdep.c head/sys/compat/linux/linux_file.c head/sys/compat/linux/linux_mib.c head/sys/compat/linux/linux_misc.c head/sys/compat/linux/linux_stats.c head/sys/compat/linux/linux_uid16.c head/sys/compat/linux/linux_util.h head/sys/i386/linux/linux_machdep.c Modified: head/sys/amd64/linux/linux_machdep.c ============================================================================== --- head/sys/amd64/linux/linux_machdep.c Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/amd64/linux/linux_machdep.c Tue Aug 18 22:04:22 2020 (r364366) @@ -98,13 +98,17 @@ linux_execve(struct thread *td, struct linux_execve_ar char *path; int error; - LCONVPATHEXIST(td, args->path, &path); - LINUX_CTR(execve); - error = exec_copyin_args(&eargs, path, UIO_SYSSPACE, args->argp, - args->envp); - LFREEPATH(path); + if (!LUSECONVPATH(td)) { + error = exec_copyin_args(&eargs, args->path, UIO_USERSPACE, + args->argp, args->envp); + } else { + LCONVPATHEXIST(td, args->path, &path); + error = exec_copyin_args(&eargs, path, UIO_SYSSPACE, args->argp, + args->envp); + LFREEPATH(path); + } if (error == 0) error = linux_common_execve(td, &eargs); return (error); Modified: head/sys/arm64/linux/linux_machdep.c ============================================================================== --- head/sys/arm64/linux/linux_machdep.c Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/arm64/linux/linux_machdep.c Tue Aug 18 22:04:22 2020 (r364366) @@ -67,11 +67,15 @@ linux_execve(struct thread *td, struct linux_execve_ar char *path; int error; - LCONVPATHEXIST(td, uap->path, &path); - - error = exec_copyin_args(&eargs, path, UIO_SYSSPACE, uap->argp, - uap->envp); - LFREEPATH(path); + if (!LUSECONVPATH(td)) { + error = exec_copyin_args(&eargs, uap->path, UIO_USERSPACE, + uap->argp, uap->envp); + } else { + LCONVPATHEXIST(td, uap->path, &path); + error = exec_copyin_args(&eargs, path, UIO_SYSSPACE, + uap->argp, uap->envp); + LFREEPATH(path); + } if (error == 0) error = linux_common_execve(td, &eargs); return (error); Modified: head/sys/compat/linux/linux_file.c ============================================================================== --- head/sys/compat/linux/linux_file.c Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/compat/linux/linux_file.c Tue Aug 18 22:04:22 2020 (r364366) @@ -66,7 +66,8 @@ __FBSDID("$FreeBSD$"); #include #include -static int linux_common_open(struct thread *, int, char *, int, int); +static int linux_common_open(struct thread *, int, const char *, int, int, + enum uio_seg); static int linux_getdents_error(struct thread *, int, int); static struct bsd_to_linux_bitmap seal_bitmap[] = { @@ -107,17 +108,22 @@ linux_creat(struct thread *td, struct linux_creat_args char *path; int error; - LCONVPATHEXIST(td, args->path, &path); - - error = kern_openat(td, AT_FDCWD, path, UIO_SYSSPACE, - O_WRONLY | O_CREAT | O_TRUNC, args->mode); - LFREEPATH(path); + if (!LUSECONVPATH(td)) { + error = kern_openat(td, AT_FDCWD, args->path, UIO_USERSPACE, + O_WRONLY | O_CREAT | O_TRUNC, args->mode); + } else { + LCONVPATHEXIST(td, args->path, &path); + error = kern_openat(td, AT_FDCWD, path, UIO_SYSSPACE, + O_WRONLY | O_CREAT | O_TRUNC, args->mode); + LFREEPATH(path); + } return (error); } #endif static int -linux_common_open(struct thread *td, int dirfd, char *path, int l_flags, int mode) +linux_common_open(struct thread *td, int dirfd, const char *path, int l_flags, + int mode, enum uio_seg seg) { struct proc *p = td->td_proc; struct file *fp; @@ -163,7 +169,7 @@ linux_common_open(struct thread *td, int dirfd, char * bsd_flags |= O_DIRECTORY; /* XXX LINUX_O_NOATIME: unable to be easily implemented. */ - error = kern_openat(td, dirfd, path, UIO_SYSSPACE, bsd_flags, mode); + error = kern_openat(td, dirfd, path, seg, bsd_flags, mode); if (error != 0) { if (error == EMLINK) error = ELOOP; @@ -201,7 +207,6 @@ linux_common_open(struct thread *td, int dirfd, char * } done: - LFREEPATH(path); return (error); } @@ -209,15 +214,22 @@ int linux_openat(struct thread *td, struct linux_openat_args *args) { char *path; - int dfd; + int dfd, error; dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd; + if (!LUSECONVPATH(td)) { + return (linux_common_open(td, dfd, args->filename, args->flags, + args->mode, UIO_USERSPACE)); + } if (args->flags & LINUX_O_CREAT) LCONVPATH_AT(td, args->filename, &path, 1, dfd); else LCONVPATH_AT(td, args->filename, &path, 0, dfd); - return (linux_common_open(td, dfd, path, args->flags, args->mode)); + error = linux_common_open(td, dfd, path, args->flags, args->mode, + UIO_SYSSPACE); + LFREEPATH(path); + return (error); } #ifdef LINUX_LEGACY_SYSCALLS @@ -225,13 +237,21 @@ int linux_open(struct thread *td, struct linux_open_args *args) { char *path; + int error; + if (!LUSECONVPATH(td)) { + return (linux_common_open(td, AT_FDCWD, args->path, args->flags, + args->mode, UIO_USERSPACE)); + } if (args->flags & LINUX_O_CREAT) LCONVPATHCREAT(td, args->path, &path); else LCONVPATHEXIST(td, args->path, &path); - return (linux_common_open(td, AT_FDCWD, path, args->flags, args->mode)); + error = linux_common_open(td, AT_FDCWD, path, args->flags, args->mode, + UIO_SYSSPACE); + LFREEPATH(path); + return (error); } #endif @@ -535,12 +555,16 @@ linux_access(struct thread *td, struct linux_access_ar if (args->amode & ~(F_OK | X_OK | W_OK | R_OK)) return (EINVAL); - LCONVPATHEXIST(td, args->path, &path); + if (!LUSECONVPATH(td)) { + error = kern_accessat(td, AT_FDCWD, args->path, UIO_USERSPACE, 0, + args->amode); + } else { + LCONVPATHEXIST(td, args->path, &path); + error = kern_accessat(td, AT_FDCWD, path, UIO_SYSSPACE, 0, + args->amode); + LFREEPATH(path); + } - error = kern_accessat(td, AT_FDCWD, path, UIO_SYSSPACE, 0, - args->amode); - LFREEPATH(path); - return (error); } #endif @@ -556,11 +580,14 @@ linux_faccessat(struct thread *td, struct linux_facces return (EINVAL); dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd; - LCONVPATHEXIST_AT(td, args->filename, &path, dfd); + if (!LUSECONVPATH(td)) { + error = kern_accessat(td, dfd, args->filename, UIO_USERSPACE, 0, args->amode); + } else { + LCONVPATHEXIST_AT(td, args->filename, &path, dfd); + error = kern_accessat(td, dfd, path, UIO_SYSSPACE, 0, args->amode); + LFREEPATH(path); + } - error = kern_accessat(td, dfd, path, UIO_SYSSPACE, 0, args->amode); - LFREEPATH(path); - return (error); } @@ -572,18 +599,31 @@ linux_unlink(struct thread *td, struct linux_unlink_ar int error; struct stat st; - LCONVPATHEXIST(td, args->path, &path); - - error = kern_funlinkat(td, AT_FDCWD, path, FD_NONE, UIO_SYSSPACE, 0, 0); - if (error == EPERM) { - /* Introduce POSIX noncompliant behaviour of Linux */ - if (kern_statat(td, 0, AT_FDCWD, path, UIO_SYSSPACE, &st, - NULL) == 0) { - if (S_ISDIR(st.st_mode)) - error = EISDIR; + if (!LUSECONVPATH(td)) { + error = kern_funlinkat(td, AT_FDCWD, args->path, FD_NONE, + UIO_USERSPACE, 0, 0); + if (error == EPERM) { + /* Introduce POSIX noncompliant behaviour of Linux */ + if (kern_statat(td, 0, AT_FDCWD, args->path, + UIO_SYSSPACE, &st, NULL) == 0) { + if (S_ISDIR(st.st_mode)) + error = EISDIR; + } } + } else { + LCONVPATHEXIST(td, args->path, &path); + error = kern_funlinkat(td, AT_FDCWD, path, FD_NONE, UIO_SYSSPACE, 0, 0); + if (error == EPERM) { + /* Introduce POSIX noncompliant behaviour of Linux */ + if (kern_statat(td, 0, AT_FDCWD, path, UIO_SYSSPACE, &st, + NULL) == 0) { + if (S_ISDIR(st.st_mode)) + error = EISDIR; + } + } + LFREEPATH(path); } - LFREEPATH(path); + return (error); } #endif Modified: head/sys/compat/linux/linux_mib.c ============================================================================== --- head/sys/compat/linux/linux_mib.c Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/compat/linux/linux_mib.c Tue Aug 18 22:04:22 2020 (r364366) @@ -85,6 +85,10 @@ SYSCTL_BOOL(_compat_linux, OID_AUTO, map_sched_prio, C &linux_map_sched_prio, 0, "Map scheduler priorities to Linux priorities " "(not POSIX compliant)"); +int linux_use_emul_path = 1; +SYSCTL_INT(_compat_linux, OID_AUTO, use_emul_path, CTLFLAG_RWTUN, + &linux_use_emul_path, 0, "Use linux.compat.emul_path"); + static int linux_set_osname(struct thread *td, char *osname); static int linux_set_osrelease(struct thread *td, char *osrelease); static int linux_set_oss_version(struct thread *td, int oss_version); Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/compat/linux/linux_misc.c Tue Aug 18 22:04:22 2020 (r364366) @@ -263,18 +263,23 @@ linux_uselib(struct thread *td, struct linux_uselib_ar int error; bool locked, opened, textset; - LCONVPATHEXIST(td, args->library, &library); - a_out = NULL; vp = NULL; locked = false; textset = false; opened = false; - NDINIT(&ni, LOOKUP, ISOPEN | FOLLOW | LOCKLEAF | AUDITVNODE1, - UIO_SYSSPACE, library, td); - error = namei(&ni); - LFREEPATH(library); + if (!LUSECONVPATH(td)) { + NDINIT(&ni, LOOKUP, ISOPEN | FOLLOW | LOCKLEAF | AUDITVNODE1, + UIO_USERSPACE, args->library, td); + error = namei(&ni); + } else { + LCONVPATHEXIST(td, args->library, &library); + NDINIT(&ni, LOOKUP, ISOPEN | FOLLOW | LOCKLEAF | AUDITVNODE1, + UIO_SYSSPACE, library, td); + error = namei(&ni); + LFREEPATH(library); + } if (error) goto cleanup; @@ -732,12 +737,16 @@ linux_utime(struct thread *td, struct linux_utime_args struct l_utimbuf lut; char *fname; int error; + bool convpath; - LCONVPATHEXIST(td, args->fname, &fname); + convpath = LUSECONVPATH(td); + if (convpath) + LCONVPATHEXIST(td, args->fname, &fname); if (args->times) { if ((error = copyin(args->times, &lut, sizeof lut))) { - LFREEPATH(fname); + if (convpath) + LFREEPATH(fname); return (error); } tv[0].tv_sec = lut.l_actime; @@ -748,9 +757,14 @@ linux_utime(struct thread *td, struct linux_utime_args } else tvp = NULL; - error = kern_utimesat(td, AT_FDCWD, fname, UIO_SYSSPACE, tvp, - UIO_SYSSPACE); - LFREEPATH(fname); + if (!convpath) { + error = kern_utimesat(td, AT_FDCWD, args->fname, UIO_USERSPACE, + tvp, UIO_SYSSPACE); + } else { + error = kern_utimesat(td, AT_FDCWD, fname, UIO_SYSSPACE, tvp, + UIO_SYSSPACE); + LFREEPATH(fname); + } return (error); } #endif @@ -763,8 +777,11 @@ linux_utimes(struct thread *td, struct linux_utimes_ar struct timeval tv[2], *tvp = NULL; char *fname; int error; + bool convpath; - LCONVPATHEXIST(td, args->fname, &fname); + convpath = LUSECONVPATH(td); + if (convpath) + LCONVPATHEXIST(td, args->fname, &fname); if (args->tptr != NULL) { if ((error = copyin(args->tptr, ltv, sizeof ltv))) { @@ -778,9 +795,14 @@ linux_utimes(struct thread *td, struct linux_utimes_ar tvp = tv; } - error = kern_utimesat(td, AT_FDCWD, fname, UIO_SYSSPACE, - tvp, UIO_SYSSPACE); - LFREEPATH(fname); + if (!convpath) { + error = kern_utimesat(td, AT_FDCWD, args->fname, UIO_USERSPACE, + tvp, UIO_SYSSPACE); + } else { + error = kern_utimesat(td, AT_FDCWD, fname, UIO_SYSSPACE, + tvp, UIO_SYSSPACE); + LFREEPATH(fname); + } return (error); } #endif @@ -881,13 +903,17 @@ linux_futimesat(struct thread *td, struct linux_futime struct timeval tv[2], *tvp = NULL; char *fname; int error, dfd; + bool convpath; + convpath = LUSECONVPATH(td); dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd; - LCONVPATHEXIST_AT(td, args->filename, &fname, dfd); + if (convpath) + LCONVPATHEXIST_AT(td, args->filename, &fname, dfd); if (args->utimes != NULL) { if ((error = copyin(args->utimes, ltv, sizeof ltv))) { - LFREEPATH(fname); + if (convpath) + LFREEPATH(fname); return (error); } tv[0].tv_sec = ltv[0].tv_sec; @@ -897,8 +923,13 @@ linux_futimesat(struct thread *td, struct linux_futime tvp = tv; } - error = kern_utimesat(td, dfd, fname, UIO_SYSSPACE, tvp, UIO_SYSSPACE); - LFREEPATH(fname); + if (!convpath) { + error = kern_utimesat(td, dfd, args->filename, UIO_USERSPACE, + tvp, UIO_SYSSPACE); + } else { + error = kern_utimesat(td, dfd, fname, UIO_SYSSPACE, tvp, UIO_SYSSPACE); + LFREEPATH(fname); + } return (error); } #endif @@ -1062,19 +1093,28 @@ linux_mknod(struct thread *td, struct linux_mknod_args { char *path; int error; + enum uio_seg seg; + bool convpath; - LCONVPATHCREAT(td, args->path, &path); + convpath = LUSECONVPATH(td); + if (!convpath) { + path = args->path; + seg = UIO_USERSPACE; + } else { + LCONVPATHCREAT(td, args->path, &path); + seg = UIO_SYSSPACE; + } switch (args->mode & S_IFMT) { case S_IFIFO: case S_IFSOCK: - error = kern_mkfifoat(td, AT_FDCWD, path, UIO_SYSSPACE, + error = kern_mkfifoat(td, AT_FDCWD, path, seg, args->mode); break; case S_IFCHR: case S_IFBLK: - error = kern_mknodat(td, AT_FDCWD, path, UIO_SYSSPACE, + error = kern_mknodat(td, AT_FDCWD, path, seg, args->mode, args->dev); break; @@ -1086,7 +1126,7 @@ linux_mknod(struct thread *td, struct linux_mknod_args args->mode |= S_IFREG; /* FALLTHROUGH */ case S_IFREG: - error = kern_openat(td, AT_FDCWD, path, UIO_SYSSPACE, + error = kern_openat(td, AT_FDCWD, path, seg, O_WRONLY | O_CREAT | O_TRUNC, args->mode); if (error == 0) kern_close(td, td->td_retval[0]); @@ -1096,7 +1136,8 @@ linux_mknod(struct thread *td, struct linux_mknod_args error = EINVAL; break; } - LFREEPATH(path); + if (convpath) + LFREEPATH(path); return (error); } #endif @@ -1106,19 +1147,29 @@ linux_mknodat(struct thread *td, struct linux_mknodat_ { char *path; int error, dfd; + enum uio_seg seg; + bool convpath; dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd; - LCONVPATHCREAT_AT(td, args->filename, &path, dfd); + convpath = LUSECONVPATH(td); + if (!convpath) { + path = __DECONST(char *, args->filename); + seg = UIO_USERSPACE; + } else { + LCONVPATHCREAT_AT(td, args->filename, &path, dfd); + seg = UIO_SYSSPACE; + } + switch (args->mode & S_IFMT) { case S_IFIFO: case S_IFSOCK: - error = kern_mkfifoat(td, dfd, path, UIO_SYSSPACE, args->mode); + error = kern_mkfifoat(td, dfd, path, seg, args->mode); break; case S_IFCHR: case S_IFBLK: - error = kern_mknodat(td, dfd, path, UIO_SYSSPACE, args->mode, + error = kern_mknodat(td, dfd, path, seg, args->mode, args->dev); break; @@ -1130,7 +1181,7 @@ linux_mknodat(struct thread *td, struct linux_mknodat_ args->mode |= S_IFREG; /* FALLTHROUGH */ case S_IFREG: - error = kern_openat(td, dfd, path, UIO_SYSSPACE, + error = kern_openat(td, dfd, path, seg, O_WRONLY | O_CREAT | O_TRUNC, args->mode); if (error == 0) kern_close(td, td->td_retval[0]); @@ -1140,7 +1191,8 @@ linux_mknodat(struct thread *td, struct linux_mknodat_ error = EINVAL; break; } - LFREEPATH(path); + if (convpath) + LFREEPATH(path); return (error); } Modified: head/sys/compat/linux/linux_stats.c ============================================================================== --- head/sys/compat/linux/linux_stats.c Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/compat/linux/linux_stats.c Tue Aug 18 22:04:22 2020 (r364366) @@ -89,7 +89,7 @@ translate_vnhook_major_minor(struct vnode *vp, struct } static int -linux_kern_statat(struct thread *td, int flag, int fd, char *path, +linux_kern_statat(struct thread *td, int flag, int fd, const char *path, enum uio_seg pathseg, struct stat *sbp) { @@ -99,7 +99,7 @@ linux_kern_statat(struct thread *td, int flag, int fd, #ifdef LINUX_LEGACY_SYSCALLS static int -linux_kern_stat(struct thread *td, char *path, enum uio_seg pathseg, +linux_kern_stat(struct thread *td, const char *path, enum uio_seg pathseg, struct stat *sbp) { @@ -107,7 +107,7 @@ linux_kern_stat(struct thread *td, char *path, enum ui } static int -linux_kern_lstat(struct thread *td, char *path, enum uio_seg pathseg, +linux_kern_lstat(struct thread *td, const char *path, enum uio_seg pathseg, struct stat *sbp) { @@ -210,10 +210,13 @@ linux_newstat(struct thread *td, struct linux_newstat_ char *path; int error; - LCONVPATHEXIST(td, args->path, &path); - - error = linux_kern_stat(td, path, UIO_SYSSPACE, &buf); - LFREEPATH(path); + if (!LUSECONVPATH(td)) { + error = linux_kern_stat(td, args->path, UIO_USERSPACE, &buf); + } else { + LCONVPATHEXIST(td, args->path, &path); + error = linux_kern_stat(td, path, UIO_SYSSPACE, &buf); + LFREEPATH(path); + } if (error) return (error); return (newstat_copyout(&buf, args->buf)); @@ -226,10 +229,13 @@ linux_newlstat(struct thread *td, struct linux_newlsta char *path; int error; - LCONVPATHEXIST(td, args->path, &path); - - error = linux_kern_lstat(td, path, UIO_SYSSPACE, &sb); - LFREEPATH(path); + if (!LUSECONVPATH(td)) { + error = linux_kern_lstat(td, args->path, UIO_USERSPACE, &sb); + } else { + LCONVPATHEXIST(td, args->path, &path); + error = linux_kern_lstat(td, path, UIO_SYSSPACE, &sb); + LFREEPATH(path); + } if (error) return (error); return (newstat_copyout(&sb, args->buf)); @@ -286,14 +292,16 @@ linux_stat(struct thread *td, struct linux_stat_args * char *path; int error; - LCONVPATHEXIST(td, args->path, &path); - - error = linux_kern_stat(td, path, UIO_SYSSPACE, &buf); - if (error) { + if (!LUSECONVPATH(td)) { + error = linux_kern_stat(td, args->path, UIO_USERSPACE, &buf); + } else { + LCONVPATHEXIST(td, args->path, &path); + error = linux_kern_stat(td, path, UIO_SYSSPACE, &buf); LFREEPATH(path); + } + if (error) { return (error); } - LFREEPATH(path); return (stat_copyout(&buf, args->up)); } @@ -304,14 +312,16 @@ linux_lstat(struct thread *td, struct linux_lstat_args char *path; int error; - LCONVPATHEXIST(td, args->path, &path); - - error = linux_kern_lstat(td, path, UIO_SYSSPACE, &buf); - if (error) { + if (!LUSECONVPATH(td)) { + error = linux_kern_lstat(td, args->path, UIO_USERSPACE, &buf); + } else { + LCONVPATHEXIST(td, args->path, &path); + error = linux_kern_lstat(td, path, UIO_SYSSPACE, &buf); LFREEPATH(path); + } + if (error) { return (error); } - LFREEPATH(path); return (stat_copyout(&buf, args->up)); } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ @@ -413,11 +423,15 @@ linux_statfs(struct thread *td, struct linux_statfs_ar char *path; int error; - LCONVPATHEXIST(td, args->path, &path); - - bsd_statfs = malloc(sizeof(struct statfs), M_STATFS, M_WAITOK); - error = kern_statfs(td, path, UIO_SYSSPACE, bsd_statfs); - LFREEPATH(path); + if (!LUSECONVPATH(td)) { + bsd_statfs = malloc(sizeof(struct statfs), M_STATFS, M_WAITOK); + error = kern_statfs(td, args->path, UIO_USERSPACE, bsd_statfs); + } else { + LCONVPATHEXIST(td, args->path, &path); + bsd_statfs = malloc(sizeof(struct statfs), M_STATFS, M_WAITOK); + error = kern_statfs(td, path, UIO_SYSSPACE, bsd_statfs); + LFREEPATH(path); + } if (error == 0) error = bsd_to_linux_statfs(bsd_statfs, &linux_statfs); free(bsd_statfs, M_STATFS); @@ -457,11 +471,15 @@ linux_statfs64(struct thread *td, struct linux_statfs6 if (args->bufsize != sizeof(struct l_statfs64)) return (EINVAL); - LCONVPATHEXIST(td, args->path, &path); - - bsd_statfs = malloc(sizeof(struct statfs), M_STATFS, M_WAITOK); - error = kern_statfs(td, path, UIO_SYSSPACE, bsd_statfs); - LFREEPATH(path); + if (!LUSECONVPATH(td)) { + bsd_statfs = malloc(sizeof(struct statfs), M_STATFS, M_WAITOK); + error = kern_statfs(td, args->path, UIO_USERSPACE, bsd_statfs); + } else { + LCONVPATHEXIST(td, args->path, &path); + bsd_statfs = malloc(sizeof(struct statfs), M_STATFS, M_WAITOK); + error = kern_statfs(td, path, UIO_SYSSPACE, bsd_statfs); + LFREEPATH(path); + } if (error == 0) bsd_to_linux_statfs64(bsd_statfs, &linux_statfs); free(bsd_statfs, M_STATFS); @@ -568,10 +586,13 @@ linux_stat64(struct thread *td, struct linux_stat64_ar char *filename; int error; - LCONVPATHEXIST(td, args->filename, &filename); - - error = linux_kern_stat(td, filename, UIO_SYSSPACE, &buf); - LFREEPATH(filename); + if (!LUSECONVPATH(td)) { + error = linux_kern_stat(td, args->filename, UIO_USERSPACE, &buf); + } else { + LCONVPATHEXIST(td, args->filename, &filename); + error = linux_kern_stat(td, filename, UIO_SYSSPACE, &buf); + LFREEPATH(filename); + } if (error) return (error); return (stat64_copyout(&buf, args->statbuf)); @@ -584,10 +605,13 @@ linux_lstat64(struct thread *td, struct linux_lstat64_ char *filename; int error; - LCONVPATHEXIST(td, args->filename, &filename); - - error = linux_kern_lstat(td, filename, UIO_SYSSPACE, &sb); - LFREEPATH(filename); + if (!LUSECONVPATH(td)) { + error = linux_kern_lstat(td, args->filename, UIO_USERSPACE, &sb); + } else { + LCONVPATHEXIST(td, args->filename, &filename); + error = linux_kern_lstat(td, filename, UIO_SYSSPACE, &sb); + LFREEPATH(filename); + } if (error) return (error); return (stat64_copyout(&sb, args->statbuf)); @@ -620,12 +644,16 @@ linux_fstatat64(struct thread *td, struct linux_fstata AT_SYMLINK_NOFOLLOW : 0; dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd; - LCONVPATHEXIST_AT(td, args->pathname, &path, dfd); - - error = linux_kern_statat(td, flag, dfd, path, UIO_SYSSPACE, &buf); - if (!error) + if (!LUSECONVPATH(td)) { + error = linux_kern_statat(td, flag, dfd, args->pathname, + UIO_USERSPACE, &buf); + } else { + LCONVPATHEXIST_AT(td, args->pathname, &path, dfd); + error = linux_kern_statat(td, flag, dfd, path, UIO_SYSSPACE, &buf); + LFREEPATH(path); + } + if (error == 0) error = stat64_copyout(&buf, args->statbuf); - LFREEPATH(path); return (error); } @@ -645,12 +673,16 @@ linux_newfstatat(struct thread *td, struct linux_newfs AT_SYMLINK_NOFOLLOW : 0; dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd; - LCONVPATHEXIST_AT(td, args->pathname, &path, dfd); - - error = linux_kern_statat(td, flag, dfd, path, UIO_SYSSPACE, &buf); + if (!LUSECONVPATH(td)) { + error = linux_kern_statat(td, flag, dfd, args->pathname, + UIO_USERSPACE, &buf); + } else { + LCONVPATHEXIST_AT(td, args->pathname, &path, dfd); + error = linux_kern_statat(td, flag, dfd, path, UIO_SYSSPACE, &buf); + LFREEPATH(path); + } if (error == 0) error = newstat_copyout(&buf, args->statbuf); - LFREEPATH(path); return (error); } Modified: head/sys/compat/linux/linux_uid16.c ============================================================================== --- head/sys/compat/linux/linux_uid16.c Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/compat/linux/linux_uid16.c Tue Aug 18 22:04:22 2020 (r364366) @@ -112,22 +112,25 @@ linux_chown16(struct thread *td, struct linux_chown16_ char *path; int error; - LCONVPATHEXIST(td, args->path, &path); + if (!LUSECONVPATH(td) && !SDT_PROBES_ENABLED()) { + error = kern_fchownat(td, AT_FDCWD, args->path, UIO_USERSPACE, + CAST_NOCHG(args->uid), CAST_NOCHG(args->gid), 0); + } else { + LCONVPATHEXIST(td, args->path, &path); + /* + * The DTrace probes have to be after the LCONVPATHEXIST, as + * LCONVPATHEXIST may return on its own and we do not want to + * have a stray entry without the corresponding return. + */ + LIN_SDT_PROBE3(uid16, linux_chown16, entry, args->path, args->uid, + args->gid); + LIN_SDT_PROBE1(uid16, linux_chown16, conv_path, path); - /* - * The DTrace probes have to be after the LCONVPATHEXIST, as - * LCONVPATHEXIST may return on its own and we do not want to - * have a stray entry without the corresponding return. - */ - LIN_SDT_PROBE3(uid16, linux_chown16, entry, args->path, args->uid, - args->gid); - LIN_SDT_PROBE1(uid16, linux_chown16, conv_path, path); - - error = kern_fchownat(td, AT_FDCWD, path, UIO_SYSSPACE, - CAST_NOCHG(args->uid), CAST_NOCHG(args->gid), 0); - LFREEPATH(path); - - LIN_SDT_PROBE1(uid16, linux_chown16, return, error); + error = kern_fchownat(td, AT_FDCWD, path, UIO_SYSSPACE, + CAST_NOCHG(args->uid), CAST_NOCHG(args->gid), 0); + LFREEPATH(path); + LIN_SDT_PROBE1(uid16, linux_chown16, return, error); + } return (error); } @@ -137,22 +140,26 @@ linux_lchown16(struct thread *td, struct linux_lchown1 char *path; int error; - LCONVPATHEXIST(td, args->path, &path); + if (!LUSECONVPATH(td) && !SDT_PROBES_ENABLED()) { + error = kern_fchownat(td, AT_FDCWD, args->path, UIO_USERSPACE, + CAST_NOCHG(args->uid), CAST_NOCHG(args->gid), AT_SYMLINK_NOFOLLOW); + } else { + LCONVPATHEXIST(td, args->path, &path); - /* - * The DTrace probes have to be after the LCONVPATHEXIST, as - * LCONVPATHEXIST may return on its own and we do not want to - * have a stray entry without the corresponding return. - */ - LIN_SDT_PROBE3(uid16, linux_lchown16, entry, args->path, args->uid, - args->gid); - LIN_SDT_PROBE1(uid16, linux_lchown16, conv_path, path); + /* + * The DTrace probes have to be after the LCONVPATHEXIST, as + * LCONVPATHEXIST may return on its own and we do not want to + * have a stray entry without the corresponding return. + */ + LIN_SDT_PROBE3(uid16, linux_lchown16, entry, args->path, args->uid, + args->gid); + LIN_SDT_PROBE1(uid16, linux_lchown16, conv_path, path); - error = kern_fchownat(td, AT_FDCWD, path, UIO_SYSSPACE, - CAST_NOCHG(args->uid), CAST_NOCHG(args->gid), AT_SYMLINK_NOFOLLOW); - LFREEPATH(path); - - LIN_SDT_PROBE1(uid16, linux_lchown16, return, error); + error = kern_fchownat(td, AT_FDCWD, path, UIO_SYSSPACE, + CAST_NOCHG(args->uid), CAST_NOCHG(args->gid), AT_SYMLINK_NOFOLLOW); + LFREEPATH(path); + LIN_SDT_PROBE1(uid16, linux_lchown16, return, error); + } return (error); } Modified: head/sys/compat/linux/linux_util.h ============================================================================== --- head/sys/compat/linux/linux_util.h Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/compat/linux/linux_util.h Tue Aug 18 22:04:22 2020 (r364366) @@ -51,8 +51,11 @@ MALLOC_DECLARE(M_FUTEX); MALLOC_DECLARE(M_FUTEX_WP); extern char linux_emul_path[]; +extern int linux_use_emul_path; int linux_emul_convpath(struct thread *, const char *, enum uio_seg, char **, int, int); + +#define LUSECONVPATH(td) atomic_load_int(&linux_use_emul_path) #define LCONVPATH_AT(td, upath, pathp, i, dfd) \ do { \ Modified: head/sys/i386/linux/linux_machdep.c ============================================================================== --- head/sys/i386/linux/linux_machdep.c Tue Aug 18 22:03:55 2020 (r364365) +++ head/sys/i386/linux/linux_machdep.c Tue Aug 18 22:04:22 2020 (r364366) @@ -104,11 +104,15 @@ linux_execve(struct thread *td, struct linux_execve_ar char *newpath; int error; - LCONVPATHEXIST(td, args->path, &newpath); - - error = exec_copyin_args(&eargs, newpath, UIO_SYSSPACE, - args->argp, args->envp); - LFREEPATH(newpath); + if (!LUSECONVPATH(td)) { + error = exec_copyin_args(&eargs, args->path, UIO_USERSPACE, + args->argp, args->envp); + } else { + LCONVPATHEXIST(td, args->path, &newpath); + error = exec_copyin_args(&eargs, newpath, UIO_SYSSPACE, + args->argp, args->envp); + LFREEPATH(newpath); + } if (error == 0) error = linux_common_execve(td, &eargs); return (error); From owner-svn-src-all@freebsd.org Tue Aug 18 22:15:52 2020 Return-Path: Delivered-To: svn-src-all@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 151773A8F60; Tue, 18 Aug 2020 22:15:52 +0000 (UTC) (envelope-from zec@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 4BWQGb6rxSz3Wr9; Tue, 18 Aug 2020 22:15:51 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CE9F318E12; Tue, 18 Aug 2020 22:15:51 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IMFp6T094152; Tue, 18 Aug 2020 22:15:51 GMT (envelope-from zec@FreeBSD.org) Received: (from zec@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IMFpLU094151; Tue, 18 Aug 2020 22:15:51 GMT (envelope-from zec@FreeBSD.org) Message-Id: <202008182215.07IMFpLU094151@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zec set sender to zec@FreeBSD.org using -f From: Marko Zec Date: Tue, 18 Aug 2020 22:15:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364367 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: zec X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 364367 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 22:15:52 -0000 Author: zec Date: Tue Aug 18 22:15:51 2020 New Revision: 364367 URL: https://svnweb.freebsd.org/changeset/base/364367 Log: Fix ber parameter description. Modified: head/share/man/man4/ng_pipe.4 Modified: head/share/man/man4/ng_pipe.4 ============================================================================== --- head/share/man/man4/ng_pipe.4 Tue Aug 18 22:04:22 2020 (r364366) +++ head/share/man/man4/ng_pipe.4 Tue Aug 18 22:15:51 2020 (r364367) @@ -130,7 +130,7 @@ struct ng_pipe_cfg { /* Config structure for one hook */ struct ng_pipe_hookcfg { u_int64_t bandwidth; /* bits per second */ - u_int64_t ber; /* errors per 2^48 bits */ + u_int64_t ber; /* avg. interval between bit errors (1 / BER) */ u_int32_t qin_size_limit; /* number of queue items */ u_int32_t qout_size_limit; /* number of queue items */ u_int32_t duplicate; /* probability in % */ From owner-svn-src-all@freebsd.org Tue Aug 18 22:46:47 2020 Return-Path: Delivered-To: svn-src-all@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 722803A9BF7; Tue, 18 Aug 2020 22:46:47 +0000 (UTC) (envelope-from zec@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 4BWQyH2Slkz3YBB; Tue, 18 Aug 2020 22:46:47 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 395CA19500; Tue, 18 Aug 2020 22:46:47 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07IMkldF012392; Tue, 18 Aug 2020 22:46:47 GMT (envelope-from zec@FreeBSD.org) Received: (from zec@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07IMklaw012391; Tue, 18 Aug 2020 22:46:47 GMT (envelope-from zec@FreeBSD.org) Message-Id: <202008182246.07IMklaw012391@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zec set sender to zec@FreeBSD.org using -f From: Marko Zec Date: Tue, 18 Aug 2020 22:46:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364368 - head/sys/netgraph X-SVN-Group: head X-SVN-Commit-Author: zec X-SVN-Commit-Paths: head/sys/netgraph X-SVN-Commit-Revision: 364368 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2020 22:46:47 -0000 Author: zec Date: Tue Aug 18 22:46:46 2020 New Revision: 364368 URL: https://svnweb.freebsd.org/changeset/base/364368 Log: Increase BER to PER lookup table size in an attempt to mitigate panics with LRO and TSO. Reported by: rstone Modified: head/sys/netgraph/ng_pipe.h Modified: head/sys/netgraph/ng_pipe.h ============================================================================== --- head/sys/netgraph/ng_pipe.h Tue Aug 18 22:15:51 2020 (r364367) +++ head/sys/netgraph/ng_pipe.h Tue Aug 18 22:46:46 2020 (r364368) @@ -43,7 +43,7 @@ #define NG_PIPE_HOOK_UPPER "upper" #define NG_PIPE_HOOK_LOWER "lower" -#define MAX_FSIZE 16384 /* Largest supported frame size, in bytes, for BER */ +#define MAX_FSIZE 65536 /* Largest supported frame size, in bytes, for BER */ #define MAX_OHSIZE 256 /* Largest supported dummy-framing size, in bytes */ /* Statistics structure for one hook */ From owner-svn-src-all@freebsd.org Wed Aug 19 00:09:40 2020 Return-Path: Delivered-To: svn-src-all@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 97BB03AB9B2; Wed, 19 Aug 2020 00:09:40 +0000 (UTC) (envelope-from rew@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 4BWSnw3JHDz3d0Z; Wed, 19 Aug 2020 00:09:40 +0000 (UTC) (envelope-from rew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 50B451A213; Wed, 19 Aug 2020 00:09:40 +0000 (UTC) (envelope-from rew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07J09eXd061648; Wed, 19 Aug 2020 00:09:40 GMT (envelope-from rew@FreeBSD.org) Received: (from rew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07J09eQM061647; Wed, 19 Aug 2020 00:09:40 GMT (envelope-from rew@FreeBSD.org) Message-Id: <202008190009.07J09eQM061647@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rew set sender to rew@FreeBSD.org using -f From: Robert Wing Date: Wed, 19 Aug 2020 00:09:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364369 - head/sbin/bectl X-SVN-Group: head X-SVN-Commit-Author: rew X-SVN-Commit-Paths: head/sbin/bectl X-SVN-Commit-Revision: 364369 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 00:09:40 -0000 Author: rew Date: Wed Aug 19 00:09:39 2020 New Revision: 364369 URL: https://svnweb.freebsd.org/changeset/base/364369 Log: bectl(8): Fix output of `bectl list` for the 'Mountpoint' column. Currently, the output of `bectl list` doesn't align the 'Mountpoint' column correctly when the 'mounted' property of a boot environment dataset is longer than the default column width. Set the 'Mountpoint' column width to the boot environment dataset with the longest 'mounted' property or to the default width, whichever is greater. PR: 241064 Reported by: vermaden@interia.pl Reviewed by: kevans (mentor) Approved by: kevans (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26048 Modified: head/sbin/bectl/bectl_list.c Modified: head/sbin/bectl/bectl_list.c ============================================================================== --- head/sbin/bectl/bectl_list.c Tue Aug 18 22:46:46 2020 (r364368) +++ head/sbin/bectl/bectl_list.c Wed Aug 19 00:09:39 2020 (r364369) @@ -292,19 +292,23 @@ print_headers(nvlist_t *props, struct printc *pc) nvpair_t *cur; nvlist_t *dsprops; char *propstr; - size_t be_maxcol; + size_t be_maxcol, mount_colsz; if (pc->show_all_datasets || pc->show_snaps) chosen_be_header = HEADER_BEPLUS; else chosen_be_header = HEADER_BE; be_maxcol = strlen(chosen_be_header); + mount_colsz = strlen(HEADER_MOUNT); for (cur = nvlist_next_nvpair(props, NULL); cur != NULL; cur = nvlist_next_nvpair(props, cur)) { be_maxcol = MAX(be_maxcol, strlen(nvpair_name(cur))); + nvpair_value_nvlist(cur, &dsprops); + + if (nvlist_lookup_string(dsprops, "mounted", &propstr) == 0) + mount_colsz = MAX(mount_colsz, strlen(propstr)); if (!pc->show_all_datasets && !pc->show_snaps) continue; - nvpair_value_nvlist(cur, &dsprops); if (nvlist_lookup_string(dsprops, "dataset", &propstr) != 0) continue; be_maxcol = MAX(be_maxcol, strlen(propstr) + INDENT_INCREMENT); @@ -316,10 +320,10 @@ print_headers(nvlist_t *props, struct printc *pc) pc->be_colsz = be_maxcol; pc->active_colsz_def = strlen(HEADER_ACTIVE); - pc->mount_colsz = strlen(HEADER_MOUNT); + pc->mount_colsz = mount_colsz; pc->space_colsz = strlen(HEADER_SPACE); - printf("%*s %s %s %s %s\n", -pc->be_colsz, chosen_be_header, - HEADER_ACTIVE, HEADER_MOUNT, HEADER_SPACE, HEADER_CREATED); + printf("%*s %s %*s %s %s\n", -pc->be_colsz, chosen_be_header, + HEADER_ACTIVE, -pc->mount_colsz, HEADER_MOUNT, HEADER_SPACE, HEADER_CREATED); /* * All other invocations in which we aren't using the default header From owner-svn-src-all@freebsd.org Wed Aug 19 02:18:12 2020 Return-Path: Delivered-To: svn-src-all@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 210133AEC2A; Wed, 19 Aug 2020 02:18:12 +0000 (UTC) (envelope-from imp@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 4BWWfD07ryz41yv; Wed, 19 Aug 2020 02:18:12 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D962A1B67D; Wed, 19 Aug 2020 02:18:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07J2IB8i041274; Wed, 19 Aug 2020 02:18:11 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07J2IBTS041273; Wed, 19 Aug 2020 02:18:11 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008190218.07J2IBTS041273@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Wed, 19 Aug 2020 02:18:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364370 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364370 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 02:18:12 -0000 Author: imp Date: Wed Aug 19 02:18:11 2020 New Revision: 364370 URL: https://svnweb.freebsd.org/changeset/base/364370 Log: Three typos: Amiga is a proper noun Condition is traditionally spelled starting with 'c' Some, but not all, of the over/under-voltage instances were hyphenated. Since they are all adverb phrases, they all need to be hyphenated. Pointy hat: imp Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Wed Aug 19 00:09:39 2020 (r364369) +++ head/sbin/devd/devd.conf.5 Wed Aug 19 02:18:11 2020 (r364370) @@ -353,7 +353,7 @@ Thermal zone events. .Bl -column "System" "Subsystem" "1234567" -compact .Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" .It Li AEON Ta Li power Ta Li press Ta -The power button on an amiga has been pressed. +The power button on an Amiga has been pressed. .El .Pp .Bl -column "System" "Subsystem" "1234567" -compact @@ -481,7 +481,7 @@ Notification of events from various types of Power Man .It Li PMU Ta Li "AC" Ta Ta Notifications of AC power related events. .It Li PMU Ta Li "AC" Ta Li overvoltage Ta -An over voltage ondition was detected on the AC power line. +An over-voltage condition was detected on the AC power line. .It Li PMU Ta Li "AC" Ta Li plugged Ta Power has been applied to the AC power line. .It Li PMU Ta Li "AC" Ta Li unplugged Ta From owner-svn-src-all@freebsd.org Wed Aug 19 02:50:10 2020 Return-Path: Delivered-To: svn-src-all@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 A35113AF649; Wed, 19 Aug 2020 02:50:10 +0000 (UTC) (envelope-from mjg@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 4BWXM63xQlz43pG; Wed, 19 Aug 2020 02:50:10 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6AC781C13C; Wed, 19 Aug 2020 02:50:10 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07J2oAR0059858; Wed, 19 Aug 2020 02:50:10 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07J2oAbt059857; Wed, 19 Aug 2020 02:50:10 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008190250.07J2oAbt059857@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Wed, 19 Aug 2020 02:50:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364371 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364371 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 02:50:10 -0000 Author: mjg Date: Wed Aug 19 02:50:09 2020 New Revision: 364371 URL: https://svnweb.freebsd.org/changeset/base/364371 Log: vfs: sanity check mount counters in vfs_op_enter Modified: head/sys/kern/vfs_mount.c Modified: head/sys/kern/vfs_mount.c ============================================================================== --- head/sys/kern/vfs_mount.c Wed Aug 19 02:18:11 2020 (r364370) +++ head/sys/kern/vfs_mount.c Wed Aug 19 02:50:09 2020 (r364371) @@ -1518,6 +1518,9 @@ vfs_op_enter(struct mount *mp) mp->mnt_writeopcount += zpcpu_replace_cpu(mp->mnt_writeopcount_pcpu, 0, cpu); } + if (mp->mnt_ref <= 0 || mp->mnt_lockref < 0 || mp->mnt_writeopcount < 0) + panic("%s: invalid count(s) on mp %p: ref %d lockref %d writeopcount %d\n", + __func__, mp, mp->mnt_ref, mp->mnt_lockref, mp->mnt_writeopcount); MNT_IUNLOCK(mp); vfs_assert_mount_counters(mp); } From owner-svn-src-all@freebsd.org Wed Aug 19 02:51:21 2020 Return-Path: Delivered-To: svn-src-all@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 93C743AFB81; Wed, 19 Aug 2020 02:51:21 +0000 (UTC) (envelope-from mjg@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 4BWXNT3S0Fz4469; Wed, 19 Aug 2020 02:51:21 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5A71C1BEBD; Wed, 19 Aug 2020 02:51:21 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07J2pLYe064543; Wed, 19 Aug 2020 02:51:21 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07J2pI0b063679; Wed, 19 Aug 2020 02:51:18 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008190251.07J2pI0b063679@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Wed, 19 Aug 2020 02:51:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364372 - in head/sys: cam/ctl compat/linux dev/xen/blkback fs/cd9660 fs/ext2fs fs/msdosfs fs/udf kern sys ufs/ffs vm X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: cam/ctl compat/linux dev/xen/blkback fs/cd9660 fs/ext2fs fs/msdosfs fs/udf kern sys ufs/ffs vm X-SVN-Commit-Revision: 364372 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 02:51:21 -0000 Author: mjg Date: Wed Aug 19 02:51:17 2020 New Revision: 364372 URL: https://svnweb.freebsd.org/changeset/base/364372 Log: vfs: drop the error parameter from vn_isdisk, introduce vn_isdisk_error Most consumers pass NULL. Modified: head/sys/cam/ctl/ctl_backend_block.c head/sys/compat/linux/linux_stats.c head/sys/dev/xen/blkback/blkback.c head/sys/fs/cd9660/cd9660_vfsops.c head/sys/fs/ext2fs/ext2_vfsops.c head/sys/fs/msdosfs/msdosfs_vfsops.c head/sys/fs/udf/udf_vfsops.c head/sys/kern/vfs_aio.c head/sys/kern/vfs_bio.c head/sys/kern/vfs_subr.c head/sys/sys/vnode.h head/sys/ufs/ffs/ffs_softdep.c head/sys/ufs/ffs/ffs_vfsops.c head/sys/vm/swap_pager.c head/sys/vm/vnode_pager.c Modified: head/sys/cam/ctl/ctl_backend_block.c ============================================================================== --- head/sys/cam/ctl/ctl_backend_block.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/cam/ctl/ctl_backend_block.c Wed Aug 19 02:51:17 2020 (r364372) @@ -2184,7 +2184,7 @@ again: be_lun->vn = nd.ni_vp; /* We only support disks and files. */ - if (vn_isdisk(be_lun->vn, &error)) { + if (vn_isdisk_error(be_lun->vn, &error)) { error = ctl_be_block_open_dev(be_lun, req); } else if (be_lun->vn->v_type == VREG) { error = ctl_be_block_open_file(be_lun, req); @@ -2547,7 +2547,7 @@ ctl_be_block_modify(struct ctl_be_block_softc *softc, control_softc->ha_mode == CTL_HA_MODE_SER_ONLY) { if (be_lun->vn == NULL) error = ctl_be_block_open(be_lun, req); - else if (vn_isdisk(be_lun->vn, &error)) + else if (vn_isdisk_error(be_lun->vn, &error)) error = ctl_be_block_open_dev(be_lun, req); else if (be_lun->vn->v_type == VREG) { vn_lock(be_lun->vn, LK_SHARED | LK_RETRY); Modified: head/sys/compat/linux/linux_stats.c ============================================================================== --- head/sys/compat/linux/linux_stats.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/compat/linux/linux_stats.c Wed Aug 19 02:51:17 2020 (r364372) @@ -65,7 +65,7 @@ translate_vnhook_major_minor(struct vnode *vp, struct { int major, minor; - if (vn_isdisk(vp, NULL)) { + if (vn_isdisk(vp)) { sb->st_mode &= ~S_IFMT; sb->st_mode |= S_IFBLK; } @@ -131,7 +131,7 @@ translate_fd_major_minor(struct thread *td, int fd, st fget(td, fd, &cap_no_rights, &fp) != 0) return; vp = fp->f_vnode; - if (vp != NULL && vn_isdisk(vp, NULL)) { + if (vp != NULL && vn_isdisk(vp)) { buf->st_mode &= ~S_IFMT; buf->st_mode |= S_IFBLK; } Modified: head/sys/dev/xen/blkback/blkback.c ============================================================================== --- head/sys/dev/xen/blkback/blkback.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/dev/xen/blkback/blkback.c Wed Aug 19 02:51:17 2020 (r364372) @@ -2735,7 +2735,7 @@ xbb_open_backend(struct xbb_softc *xbb) xbb->vn = nd.ni_vp; /* We only support disks and files. */ - if (vn_isdisk(xbb->vn, &error)) { + if (vn_isdisk_error(xbb->vn, &error)) { error = xbb_open_dev(xbb); } else if (xbb->vn->v_type == VREG) { error = xbb_open_file(xbb); Modified: head/sys/fs/cd9660/cd9660_vfsops.c ============================================================================== --- head/sys/fs/cd9660/cd9660_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/fs/cd9660/cd9660_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -165,7 +165,7 @@ cd9660_mount(struct mount *mp) NDFREE(&ndp, NDF_ONLY_PNBUF); devvp = ndp.ni_vp; - if (!vn_isdisk(devvp, &error)) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/fs/ext2fs/ext2_vfsops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/fs/ext2fs/ext2_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -247,7 +247,7 @@ ext2_mount(struct mount *mp) NDFREE(ndp, NDF_ONLY_PNBUF); devvp = ndp->ni_vp; - if (!vn_isdisk(devvp, &error)) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/fs/msdosfs/msdosfs_vfsops.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/fs/msdosfs/msdosfs_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -343,7 +343,7 @@ msdosfs_mount(struct mount *mp) devvp = ndp.ni_vp; NDFREE(&ndp, NDF_ONLY_PNBUF); - if (!vn_isdisk(devvp, &error)) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/fs/udf/udf_vfsops.c ============================================================================== --- head/sys/fs/udf/udf_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/fs/udf/udf_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -233,7 +233,7 @@ udf_mount(struct mount *mp) NDFREE(ndp, NDF_ONLY_PNBUF); devvp = ndp->ni_vp; - if (vn_isdisk(devvp, &error) == 0) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/kern/vfs_aio.c ============================================================================== --- head/sys/kern/vfs_aio.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/kern/vfs_aio.c Wed Aug 19 02:51:17 2020 (r364372) @@ -1972,7 +1972,7 @@ sys_aio_cancel(struct thread *td, struct aio_cancel_ar if (fp->f_type == DTYPE_VNODE) { vp = fp->f_vnode; - if (vn_isdisk(vp, &error)) { + if (vn_isdisk(vp)) { fdrop(fp, td); td->td_retval[0] = AIO_NOTCANCELED; return (0); Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/kern/vfs_bio.c Wed Aug 19 02:51:17 2020 (r364372) @@ -2724,7 +2724,7 @@ brelse(struct buf *bp) if ((bp->b_flags & B_VMIO) && (bp->b_flags & B_NOCACHE || (bp->b_ioflags & BIO_ERROR && bp->b_iocmd == BIO_READ)) && (v_mnt == NULL || (v_mnt->mnt_vfc->vfc_flags & VFCF_NETWORK) == 0 || - vn_isdisk(bp->b_vp, NULL) || (bp->b_flags & B_DELWRI) == 0)) { + vn_isdisk(bp->b_vp) || (bp->b_flags & B_DELWRI) == 0)) { vfs_vmio_invalidate(bp); allocbuf(bp, 0); } @@ -3757,7 +3757,7 @@ bp_unmapped_get_kva(struct buf *bp, daddr_t blkno, int * Calculate the amount of the address space we would reserve * if the buffer was mapped. */ - bsize = vn_isdisk(bp->b_vp, NULL) ? DEV_BSIZE : bp->b_bufobj->bo_bsize; + bsize = vn_isdisk(bp->b_vp) ? DEV_BSIZE : bp->b_bufobj->bo_bsize; KASSERT(bsize != 0, ("bsize == 0, check bo->bo_bsize")); offset = blkno * bsize; maxsize = size + (offset & PAGE_MASK); @@ -4013,7 +4013,7 @@ newbuf_unlocked: if (flags & GB_NOCREAT) return (EEXIST); - bsize = vn_isdisk(vp, NULL) ? DEV_BSIZE : bo->bo_bsize; + bsize = vn_isdisk(vp) ? DEV_BSIZE : bo->bo_bsize; KASSERT(bsize != 0, ("bsize == 0, check bo->bo_bsize")); offset = blkno * bsize; vmio = vp->v_object != NULL; @@ -4026,7 +4026,7 @@ newbuf_unlocked: } maxsize = imax(maxsize, bsize); if ((flags & GB_NOSPARSE) != 0 && vmio && - !vn_isdisk(vp, NULL)) { + !vn_isdisk(vp)) { error = VOP_BMAP(vp, blkno, NULL, &d_blkno, 0, 0); KASSERT(error != EOPNOTSUPP, ("GB_NOSPARSE from fs not supporting bmap, vp %p", Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/kern/vfs_subr.c Wed Aug 19 02:51:17 2020 (r364372) @@ -4977,8 +4977,8 @@ vn_need_pageq_flush(struct vnode *vp) /* * Check if vnode represents a disk device */ -int -vn_isdisk(struct vnode *vp, int *errp) +bool +vn_isdisk_error(struct vnode *vp, int *errp) { int error; @@ -4996,9 +4996,16 @@ vn_isdisk(struct vnode *vp, int *errp) error = ENOTBLK; dev_unlock(); out: - if (errp != NULL) - *errp = error; + *errp = error; return (error == 0); +} + +bool +vn_isdisk(struct vnode *vp) +{ + int error; + + return (vn_isdisk_error(vp, &error)); } /* Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/sys/vnode.h Wed Aug 19 02:51:17 2020 (r364372) @@ -718,7 +718,8 @@ int vn_generic_copy_file_range(struct vnode *invp, off unsigned int flags, struct ucred *incred, struct ucred *outcred, struct thread *fsize_td); int vn_need_pageq_flush(struct vnode *vp); -int vn_isdisk(struct vnode *vp, int *errp); +bool vn_isdisk_error(struct vnode *vp, int *errp); +bool vn_isdisk(struct vnode *vp); int _vn_lock(struct vnode *vp, int flags, const char *file, int line); #define vn_lock(vp, flags) _vn_lock(vp, flags, __FILE__, __LINE__) int vn_open(struct nameidata *ndp, int *flagp, int cmode, struct file *fp); Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/ufs/ffs/ffs_softdep.c Wed Aug 19 02:51:17 2020 (r364372) @@ -12723,7 +12723,7 @@ softdep_fsync_mountdev(vp) struct worklist *wk; struct bufobj *bo; - if (!vn_isdisk(vp, NULL)) + if (!vn_isdisk(vp)) panic("softdep_fsync_mountdev: vnode not a disk"); bo = &vp->v_bufobj; restart: Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/ufs/ffs/ffs_vfsops.c Wed Aug 19 02:51:17 2020 (r364372) @@ -728,7 +728,7 @@ ffs_mount(struct mount *mp) return (error); NDFREE(&ndp, NDF_ONLY_PNBUF); devvp = ndp.ni_vp; - if (!vn_isdisk(devvp, &error)) { + if (!vn_isdisk_error(devvp, &error)) { vput(devvp); return (error); } Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/vm/swap_pager.c Wed Aug 19 02:51:17 2020 (r364372) @@ -919,7 +919,7 @@ sysctl_swap_fragmentation(SYSCTL_HANDLER_ARGS) sbuf_new_for_sysctl(&sbuf, NULL, 128, req); mtx_lock(&sw_dev_mtx); TAILQ_FOREACH(sp, &swtailq, sw_list) { - if (vn_isdisk(sp->sw_vp, NULL)) + if (vn_isdisk(sp->sw_vp)) devname = devtoname(sp->sw_vp->v_rdev); else devname = "[file]"; @@ -2325,7 +2325,7 @@ sys_swapon(struct thread *td, struct swapon_args *uap) NDFREE(&nd, NDF_ONLY_PNBUF); vp = nd.ni_vp; - if (vn_isdisk(vp, &error)) { + if (vn_isdisk_error(vp, &error)) { error = swapongeom(vp); } else if (vp->v_type == VREG && (vp->v_mount->mnt_vfc->vfc_flags & VFCF_NETWORK) != 0 && @@ -2548,7 +2548,7 @@ swapoff_all(void) mtx_lock(&sw_dev_mtx); TAILQ_FOREACH_SAFE(sp, &swtailq, sw_list, spt) { mtx_unlock(&sw_dev_mtx); - if (vn_isdisk(sp->sw_vp, NULL)) + if (vn_isdisk(sp->sw_vp)) devname = devtoname(sp->sw_vp->v_rdev); else devname = "[file]"; @@ -2596,7 +2596,7 @@ swap_dev_info(int name, struct xswdev *xs, char *devna xs->xsw_nblks = sp->sw_nblks; xs->xsw_used = sp->sw_used; if (devname != NULL) { - if (vn_isdisk(sp->sw_vp, NULL)) + if (vn_isdisk(sp->sw_vp)) tmp_devname = devtoname(sp->sw_vp->v_rdev); else tmp_devname = "[file]"; Modified: head/sys/vm/vnode_pager.c ============================================================================== --- head/sys/vm/vnode_pager.c Wed Aug 19 02:50:09 2020 (r364371) +++ head/sys/vm/vnode_pager.c Wed Aug 19 02:51:17 2020 (r364372) @@ -152,7 +152,7 @@ vnode_create_vobject(struct vnode *vp, off_t isize, st struct vattr va; bool last; - if (!vn_isdisk(vp, NULL) && vn_canvmio(vp) == FALSE) + if (!vn_isdisk(vp) && vn_canvmio(vp) == FALSE) return (0); object = vp->v_object; @@ -160,7 +160,7 @@ vnode_create_vobject(struct vnode *vp, off_t isize, st return (0); if (size == 0) { - if (vn_isdisk(vp, NULL)) { + if (vn_isdisk(vp)) { size = IDX_TO_OFF(INT_MAX); } else { if (VOP_GETATTR(vp, &va, td->td_ucred)) From owner-svn-src-all@freebsd.org Wed Aug 19 07:28:03 2020 Return-Path: Delivered-To: svn-src-all@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 5BCF53B4746; Wed, 19 Aug 2020 07:28:03 +0000 (UTC) (envelope-from mjg@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 4BWfWl1nx0z4KVh; Wed, 19 Aug 2020 07:28:03 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2110E1F3A7; Wed, 19 Aug 2020 07:28:03 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07J7S2Zk032396; Wed, 19 Aug 2020 07:28:02 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07J7S1ZX032388; Wed, 19 Aug 2020 07:28:01 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008190728.07J7S1ZX032388@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Wed, 19 Aug 2020 07:28:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364373 - in head/sys: fs/cd9660 fs/fuse fs/nfsclient fs/smbfs fs/unionfs kern ufs/ufs X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: fs/cd9660 fs/fuse fs/nfsclient fs/smbfs fs/unionfs kern ufs/ufs X-SVN-Commit-Revision: 364373 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 07:28:03 -0000 Author: mjg Date: Wed Aug 19 07:28:01 2020 New Revision: 364373 URL: https://svnweb.freebsd.org/changeset/base/364373 Log: vfs: remove the always-curthread td argument from VOP_RECLAIM Modified: head/sys/fs/cd9660/cd9660_node.c head/sys/fs/fuse/fuse_vnops.c head/sys/fs/nfsclient/nfs_clnode.c head/sys/fs/smbfs/smbfs_node.c head/sys/fs/unionfs/union_vnops.c head/sys/kern/uipc_mqueue.c head/sys/kern/vfs_subr.c head/sys/kern/vnode_if.src head/sys/ufs/ufs/ufs_inode.c Modified: head/sys/fs/cd9660/cd9660_node.c ============================================================================== --- head/sys/fs/cd9660/cd9660_node.c Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/fs/cd9660/cd9660_node.c Wed Aug 19 07:28:01 2020 (r364373) @@ -86,7 +86,6 @@ int cd9660_reclaim(ap) struct vop_reclaim_args /* { struct vnode *a_vp; - struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; Modified: head/sys/fs/fuse/fuse_vnops.c ============================================================================== --- head/sys/fs/fuse/fuse_vnops.c Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/fs/fuse/fuse_vnops.c Wed Aug 19 07:28:01 2020 (r364373) @@ -1527,14 +1527,13 @@ out: /* struct vnop_reclaim_args { struct vnode *a_vp; - struct thread *a_td; }; */ static int fuse_vnop_reclaim(struct vop_reclaim_args *ap) { struct vnode *vp = ap->a_vp; - struct thread *td = ap->a_td; + struct thread *td = curthread; struct fuse_vnode_data *fvdat = VTOFUD(vp); struct fuse_filehandle *fufh, *fufh_tmp; Modified: head/sys/fs/nfsclient/nfs_clnode.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clnode.c Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/fs/nfsclient/nfs_clnode.c Wed Aug 19 07:28:01 2020 (r364373) @@ -286,7 +286,10 @@ ncl_reclaim(struct vop_reclaim_args *ap) struct vnode *vp = ap->a_vp; struct nfsnode *np = VTONFS(vp); struct nfsdmap *dp, *dp2; + struct thread *td; + td = curthread; + /* * If the NLM is running, give it a chance to abort pending * locks. @@ -295,7 +298,7 @@ ncl_reclaim(struct vop_reclaim_args *ap) nfs_reclaim_p(ap); NFSLOCKNODE(np); - ncl_releasesillyrename(vp, ap->a_td); + ncl_releasesillyrename(vp, td); NFSUNLOCKNODE(np); if (NFS_ISV4(vp) && vp->v_type == VREG) @@ -305,7 +308,7 @@ ncl_reclaim(struct vop_reclaim_args *ap) * ncl_inactive(), but there are cases where it is not * called, so we need to do it again here. */ - (void) nfsrpc_close(vp, 1, ap->a_td); + (void) nfsrpc_close(vp, 1, td); vfs_hash_remove(vp); Modified: head/sys/fs/smbfs/smbfs_node.c ============================================================================== --- head/sys/fs/smbfs/smbfs_node.c Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/fs/smbfs/smbfs_node.c Wed Aug 19 07:28:01 2020 (r364373) @@ -260,7 +260,6 @@ int smbfs_reclaim(ap) struct vop_reclaim_args /* { struct vnode *a_vp; - struct thread *a_p; } */ *ap; { struct vnode *vp = ap->a_vp; Modified: head/sys/fs/unionfs/union_vnops.c ============================================================================== --- head/sys/fs/unionfs/union_vnops.c Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/fs/unionfs/union_vnops.c Wed Aug 19 07:28:01 2020 (r364373) @@ -1731,7 +1731,7 @@ unionfs_reclaim(struct vop_reclaim_args *ap) { /* UNIONFS_INTERNAL_DEBUG("unionfs_reclaim: enter\n"); */ - unionfs_noderem(ap->a_vp, ap->a_td); + unionfs_noderem(ap->a_vp, curthread); /* UNIONFS_INTERNAL_DEBUG("unionfs_reclaim: leave\n"); */ Modified: head/sys/kern/uipc_mqueue.c ============================================================================== --- head/sys/kern/uipc_mqueue.c Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/kern/uipc_mqueue.c Wed Aug 19 07:28:01 2020 (r364373) @@ -1099,7 +1099,6 @@ mqfs_inactive(struct vop_inactive_args *ap) struct vop_reclaim_args { struct vop_generic_args a_gen; struct vnode *a_vp; - struct thread *a_td; }; #endif Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/kern/vfs_subr.c Wed Aug 19 07:28:01 2020 (r364373) @@ -3879,7 +3879,7 @@ vgonel(struct vnode *vp) /* * Reclaim the vnode. */ - if (VOP_RECLAIM(vp, td)) + if (VOP_RECLAIM(vp)) panic("vgone: cannot reclaim"); if (mp != NULL) vn_finished_secondary_write(mp); Modified: head/sys/kern/vnode_if.src ============================================================================== --- head/sys/kern/vnode_if.src Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/kern/vnode_if.src Wed Aug 19 07:28:01 2020 (r364373) @@ -401,7 +401,6 @@ vop_need_inactive { vop_reclaim { IN struct vnode *vp; - IN struct thread *td; }; Modified: head/sys/ufs/ufs/ufs_inode.c ============================================================================== --- head/sys/ufs/ufs/ufs_inode.c Wed Aug 19 02:51:17 2020 (r364372) +++ head/sys/ufs/ufs/ufs_inode.c Wed Aug 19 07:28:01 2020 (r364373) @@ -222,7 +222,6 @@ int ufs_reclaim(ap) struct vop_reclaim_args /* { struct vnode *a_vp; - struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; From owner-svn-src-all@freebsd.org Wed Aug 19 07:58:59 2020 Return-Path: Delivered-To: svn-src-all@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 43B273B6206 for ; Wed, 19 Aug 2020 07:58:59 +0000 (UTC) (envelope-from bounces+15304419-159a-svn-src-all=freebsd.org@sendgrid.net) Received: from wrqvqxvw.outbound-mail.sendgrid.net (wrqvqxvw.outbound-mail.sendgrid.net [149.72.74.137]) (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 4BWgCQ35mTz4N0X for ; Wed, 19 Aug 2020 07:58:58 +0000 (UTC) (envelope-from bounces+15304419-159a-svn-src-all=freebsd.org@sendgrid.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.net; h=from:to:subject:mime-version:content-type; s=smtpapi; bh=p/2QKQ9+HXofe411j34IpudQTo81HsvIR3ejri7+SE4=; b=ZYqH7wwgLPHvQ SqVcmomrnjhXziEiACiMLmCleOL6lD6NzjmHXSZqwaRyZOaX4BtuTwD3tGALOtvg JPKwUvZm62Tqpndl5LLAhWzQVOeIWKyg/L8j4ONk2niVpUf5MDMgGj0DksEJ9PYD 4zvb8dVdxsUpNcVryEaq5kcz0r+xxI= Received: by filter1043p1iad2.sendgrid.net with SMTP id filter1043p1iad2-8752-5F3CDBC0-17 2020-08-19 07:58:56.388039418 +0000 UTC m=+132370.778689178 Received: from spectator.co.uk (unknown) by ismtpd0021p1iad2.sendgrid.net (SG) with ESMTP id XSNDR9JbQIGvxYfGfho0lg for ; Wed, 19 Aug 2020 07:58:56.243 +0000 (UTC) From: freebsd.org IT Help Desk To: svn-src-all@freebsd.org Subject: =?UTF-8?B?0JDRgXRp0L5uIFJlcXVpcmVkIA==?=svn-src-all@freebsd.org: Email account verification Date: Wed, 19 Aug 2020 07:58:56 +0000 (UTC) Message-ID: <20200819095855.D32EFC0C8CCFC649@freebsd.org> X-SG-EID: A6W2xSVPHetogaU8rnzccWwgBYtN+QvIzXyjfe/10PEpJsjdOEw4FdmavNLpDF9bkGGzjnYnnr64qG LF4FJo9FbxzzWkS0p1e+VrambtxSr/VUWDveAQ/t2IkuxJ2zplo1MNMQNGAYzyQqgf5ynDUys1UXHD XpNZ125ueIi+L5lfOhuM3tUPzHOoqxDya2AHfGfyJg0CtwFv3YR4TuBrC5WqMRu39BiDHN5wT0dcnS /hoMbhi0W6BJE3G1W9pdzPJJycxhaGSk2kHH135dm3UQ== X-Rspamd-Queue-Id: 4BWgCQ35mTz4N0X X-Spamd-Bar: ++++++++++++++ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=sendgrid.net header.s=smtpapi header.b=ZYqH7wwg; dmarc=none; spf=pass (mx1.freebsd.org: domain of bounces@sendgrid.net designates 149.72.74.137 as permitted sender) smtp.mailfrom=bounces@sendgrid.net X-Spamd-Result: default: False [14.95 / 15.00]; R_SPF_ALLOW(0.00)[+ip4:149.72.0.0/16:c]; TO_DN_NONE(0.00)[]; DKIM_TRACE(0.00)[sendgrid.net:+]; NEURAL_HAM_SHORT(-0.10)[-0.102]; FORGED_SENDER(0.30)[account-security-noreply@freebsd.org,bounces@sendgrid.net]; DBL_SPAM(12.50)[jnv.cloudns.asia:url,taskmail.cloudns.asia:url]; MIME_TRACE(0.00)[0:+,1:~,2:~,3:~,4:~,5:~,6:~,7:~,8:~]; ASN(0.00)[asn:11377, ipnet:149.72.64.0/19, country:US]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_FROM(0.00)[15304419-159a-svn-src-all=freebsd.org]; TO_DOM_EQ_FROM_DOM(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(0.00)[sendgrid.net:s=smtpapi]; FROM_NEQ_ENVFROM(0.00)[account-security-noreply@freebsd.org,bounces@sendgrid.net]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; HTML_SHORT_LINK_IMG_1(2.00)[]; MIME_GOOD(-0.10)[multipart/related]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; BAD_REP_POLICIES(0.10)[]; MANY_INVISIBLE_PARTS(0.05)[1]; RCVD_TLS_LAST(0.00)[]; MIME_HTML_ONLY(0.20)[]; RWL_MAILSPIKE_VERYGOOD(0.00)[149.72.74.137:from]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[svn-src-all] X-Spam: Yes MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 07:58:59 -0000 From owner-svn-src-all@freebsd.org Wed Aug 19 08:05:38 2020 Return-Path: Delivered-To: svn-src-all@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 8D1603B5FD5; Wed, 19 Aug 2020 08:05:38 +0000 (UTC) (envelope-from hselasky@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 4BWgM63DZsz4Nh6; Wed, 19 Aug 2020 08:05:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 522181F5F9; Wed, 19 Aug 2020 08:05:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07J85cm1057108; Wed, 19 Aug 2020 08:05:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07J85cpL057107; Wed, 19 Aug 2020 08:05:38 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008190805.07J85cpL057107@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 08:05:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364374 - head/sys/dev/sound/usb X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/sound/usb X-SVN-Commit-Revision: 364374 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 08:05:38 -0000 Author: hselasky Date: Wed Aug 19 08:05:37 2020 New Revision: 364374 URL: https://svnweb.freebsd.org/changeset/base/364374 Log: Print current buffer latency in dmesg for the USB audio driver and not just the maximum. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/sound/usb/uaudio.c Modified: head/sys/dev/sound/usb/uaudio.c ============================================================================== --- head/sys/dev/sound/usb/uaudio.c Wed Aug 19 07:28:01 2020 (r364373) +++ head/sys/dev/sound/usb/uaudio.c Wed Aug 19 08:05:37 2020 (r364374) @@ -1031,10 +1031,11 @@ uaudio_attach(device_t dev) } for (x = 0; x != sc->sc_play_chan[i].num_alt; x++) { device_printf(dev, "Play[%u]: %d Hz, %d ch, %s format, " - "2x8ms buffer.\n", i, + "2x%dms buffer.\n", i, sc->sc_play_chan[i].usb_alt[x].sample_rate, sc->sc_play_chan[i].usb_alt[x].channels, - sc->sc_play_chan[i].usb_alt[x].p_fmt->description); + sc->sc_play_chan[i].usb_alt[x].p_fmt->description, + uaudio_buffer_ms); } } if (i == 0) @@ -1060,10 +1061,11 @@ uaudio_attach(device_t dev) } for (x = 0; x != sc->sc_rec_chan[i].num_alt; x++) { device_printf(dev, "Record[%u]: %d Hz, %d ch, %s format, " - "2x8ms buffer.\n", i, + "2x%dms buffer.\n", i, sc->sc_rec_chan[i].usb_alt[x].sample_rate, sc->sc_rec_chan[i].usb_alt[x].channels, - sc->sc_rec_chan[i].usb_alt[x].p_fmt->description); + sc->sc_rec_chan[i].usb_alt[x].p_fmt->description, + uaudio_buffer_ms); } } if (i == 0) From owner-svn-src-all@freebsd.org Wed Aug 19 10:01:06 2020 Return-Path: Delivered-To: svn-src-all@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 949BA3B91E2; Wed, 19 Aug 2020 10:01:06 +0000 (UTC) (envelope-from netchild@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 4BWjwL3Pf9z4Wmv; Wed, 19 Aug 2020 10:01:06 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 58A6320E45; Wed, 19 Aug 2020 10:01:06 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JA16oK031664; Wed, 19 Aug 2020 10:01:06 GMT (envelope-from netchild@FreeBSD.org) Received: (from netchild@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JA16fC031663; Wed, 19 Aug 2020 10:01:06 GMT (envelope-from netchild@FreeBSD.org) Message-Id: <202008191001.07JA16fC031663@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: netchild set sender to netchild@FreeBSD.org using -f From: Alexander Leidinger Date: Wed, 19 Aug 2020 10:01:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364375 - head X-SVN-Group: head X-SVN-Commit-Author: netchild X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 364375 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 10:01:06 -0000 Author: netchild Date: Wed Aug 19 10:01:05 2020 New Revision: 364375 URL: https://svnweb.freebsd.org/changeset/base/364375 Log: Fix the real shared libraries (lib*.so.X) from OLD_FILES to OLD_LIBS, as it is supposed to be. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Aug 19 08:05:37 2020 (r364374) +++ head/ObsoleteFiles.inc Wed Aug 19 10:01:05 2020 (r364375) @@ -537,7 +537,7 @@ OLD_LIBS+=usr/lib32/padlock.so OLD_FILES+=usr/include/private/event/event.h OLD_FILES+=usr/lib/libprivateevent.a OLD_FILES+=usr/lib/libprivateevent.so -OLD_FILES+=usr/lib/libprivateevent.so.1 +OLD_LIBS+=usr/lib/libprivateevent.so.1 OLD_FILES+=usr/lib/libprivateevent_p.a OLD_DIRS+=usr/include/private/event @@ -2274,7 +2274,7 @@ OLD_FILES+=usr/include/sys/dir.h # 20190729: gzip'ed a.out support removed OLD_FILES+=usr/include/sys/inflate.h # 20190722: cap_random(3) removed -OLD_FILES+=lib/casper/libcap_random.so.1 +OLD_LIBS+=lib/casper/libcap_random.so.1 OLD_FILES+=usr/include/casper/cap_random.h OLD_FILES+=usr/share/man/man3/cap_random.3.gz OLD_FILES+=usr/share/man/man3/cap_random_buf.3.gz @@ -2465,7 +2465,7 @@ OLD_FILES+=usr/share/man/man4/wb.4.gz OLD_FILES+=usr/share/man/man4/xe.4.gz OLD_FILES+=usr/share/man/man4/if_xe.4.gz # 20190513: libcap_sysctl interface change -OLD_FILES+=lib/casper/libcap_sysctl.so.1 +OLD_LIBS+=lib/casper/libcap_sysctl.so.1 # 20190509: tests/sys/opencrypto requires the net/py-dpkt package. OLD_FILES+=usr/tests/sys/opencrypto/dpkt.py OLD_FILES+=usr/tests/sys/opencrypto/dpkt.pyc @@ -4585,7 +4585,7 @@ OLD_FILES+=usr/include/netnatm/natm.h OLD_FILES+=usr/lib/debug/sbin/atmconfig.debug OLD_FILES+=usr/lib/debug/usr/lib/snmp_atm.so.6.debug OLD_FILES+=usr/lib/snmp_atm.so -OLD_FILES+=usr/lib/snmp_atm.so.6 +OLD_LIBS+=usr/lib/snmp_atm.so.6 OLD_FILES+=usr/share/doc/atm/atmconfig.help OLD_FILES+=usr/share/doc/atm/atmconfig_device.help OLD_DIRS+=usr/share/doc/atm @@ -7079,11 +7079,11 @@ OLD_FILES+=usr/share/examples/libusb20/aux.h OLD_FILES+=usr/include/_libiconv_compat.h OLD_FILES+=usr/lib/libiconv.a OLD_FILES+=usr/lib/libiconv.so -OLD_FILES+=usr/lib/libiconv.so.3 +OLD_LIBS+=usr/lib/libiconv.so.3 OLD_FILES+=usr/lib/libiconv_p.a OLD_FILES+=usr/lib32/libiconv.a OLD_FILES+=usr/lib32/libiconv.so -OLD_FILES+=usr/lib32/libiconv.so.3 +OLD_LIBS+=usr/lib32/libiconv.so.3 OLD_FILES+=usr/lib32/libiconv_p.a # 20131103: removal of utxrm(8), use 'utx rm' instead. OLD_FILES+=usr/sbin/utxrm @@ -9598,14 +9598,14 @@ OLD_FILES+=usr/lib/libalias_pptp.so OLD_FILES+=usr/lib/libalias_skinny.so OLD_FILES+=usr/lib/libalias_smedia.so # 20061201: remove old *.so.4 libalias modules -OLD_FILES+=lib/libalias_cuseeme.so.4 -OLD_FILES+=lib/libalias_dummy.so.4 -OLD_FILES+=lib/libalias_ftp.so.4 -OLD_FILES+=lib/libalias_irc.so.4 -OLD_FILES+=lib/libalias_nbt.so.4 -OLD_FILES+=lib/libalias_pptp.so.4 -OLD_FILES+=lib/libalias_skinny.so.4 -OLD_FILES+=lib/libalias_smedia.so.4 +OLD_LIBS+=lib/libalias_cuseeme.so.4 +OLD_LIBS+=lib/libalias_dummy.so.4 +OLD_LIBS+=lib/libalias_ftp.so.4 +OLD_LIBS+=lib/libalias_irc.so.4 +OLD_LIBS+=lib/libalias_nbt.so.4 +OLD_LIBS+=lib/libalias_pptp.so.4 +OLD_LIBS+=lib/libalias_skinny.so.4 +OLD_LIBS+=lib/libalias_smedia.so.4 # 20061126: remove old man page OLD_FILES+=usr/share/man/man3/archive_read_set_bytes_per_block.3.gz # 20061125: remove old man page @@ -9988,10 +9988,10 @@ OLD_FILES+=usr/share/man/man3/tree_mung.3.gz OLD_FILES+=usr/share/man/man3/tree_srch.3.gz OLD_FILES+=usr/share/man/man3/tree_trav.3.gz # 2004XXYY: OS internal libs, no ports use them, no need to use OLD_LIBS -OLD_FILES+=lib/geom/geom_concat.so.1 -OLD_FILES+=lib/geom/geom_label.so.1 -OLD_FILES+=lib/geom/geom_nop.so.1 -OLD_FILES+=lib/geom/geom_stripe.so.1 +OLD_LIBS+=lib/geom/geom_concat.so.1 +OLD_LIBS+=lib/geom/geom_label.so.1 +OLD_LIBS+=lib/geom/geom_nop.so.1 +OLD_LIBS+=lib/geom/geom_stripe.so.1 # 20040728: GCC 3.4.2 OLD_DIRS+=usr/include/c++/3.3 OLD_FILES+=usr/include/c++/3.3/FlexLexer.h From owner-svn-src-all@freebsd.org Wed Aug 19 10:32:27 2020 Return-Path: Delivered-To: svn-src-all@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 036A23BA21C; Wed, 19 Aug 2020 10:32:27 +0000 (UTC) (envelope-from rscheff@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 4BWkcV6GPMz4Yff; Wed, 19 Aug 2020 10:32:26 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BB23D218DA; Wed, 19 Aug 2020 10:32:26 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JAWQQW051391; Wed, 19 Aug 2020 10:32:26 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JAWQla051390; Wed, 19 Aug 2020 10:32:26 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202008191032.07JAWQla051390@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Wed, 19 Aug 2020 10:32:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364376 - stable/12/sys/netinet X-SVN-Group: stable-12 X-SVN-Commit-Author: rscheff X-SVN-Commit-Paths: stable/12/sys/netinet X-SVN-Commit-Revision: 364376 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 10:32:27 -0000 Author: rscheff Date: Wed Aug 19 10:32:26 2020 New Revision: 364376 URL: https://svnweb.freebsd.org/changeset/base/364376 Log: MFC r362988: Fix KASSERT during tcp_newtcpcb when low on memory While testing with system default cc set to cubic, and running a memory exhaustion validation, FreeBSD panics for a missing inpcb reference / lock. Reviewed by: rgrimes (mentor), tuexen (mentor) Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D25583 Modified: stable/12/sys/netinet/tcp_subr.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netinet/tcp_subr.c ============================================================================== --- stable/12/sys/netinet/tcp_subr.c Wed Aug 19 10:01:05 2020 (r364375) +++ stable/12/sys/netinet/tcp_subr.c Wed Aug 19 10:32:26 2020 (r364376) @@ -1615,6 +1615,12 @@ tcp_newtcpcb(struct inpcb *inp) KASSERT(!STAILQ_EMPTY(&cc_list), ("cc_list is empty!")); CC_ALGO(tp) = CC_DEFAULT(); CC_LIST_RUNLOCK(); + /* + * The tcpcb will hold a reference on its inpcb until tcp_discardcb() + * is called. + */ + in_pcbref(inp); /* Reference for tcpcb */ + tp->t_inpcb = inp; if (CC_ALGO(tp)->cb_init != NULL) if (CC_ALGO(tp)->cb_init(tp->ccv) > 0) { @@ -1659,12 +1665,6 @@ tcp_newtcpcb(struct inpcb *inp) if (V_tcp_do_sack) tp->t_flags |= TF_SACK_PERMIT; TAILQ_INIT(&tp->snd_holes); - /* - * The tcpcb will hold a reference on its inpcb until tcp_discardcb() - * is called. - */ - in_pcbref(inp); /* Reference for tcpcb */ - tp->t_inpcb = inp; /* * Init srtt to TCPTV_SRTTBASE (0), so we can tell that we have no From owner-svn-src-all@freebsd.org Wed Aug 19 10:36:18 2020 Return-Path: Delivered-To: svn-src-all@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 BC5E63B9FE1; Wed, 19 Aug 2020 10:36:18 +0000 (UTC) (envelope-from rscheff@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 4BWkhy4V52z4YgJ; Wed, 19 Aug 2020 10:36:18 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 79C77214D8; Wed, 19 Aug 2020 10:36:18 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JAaIBa051668; Wed, 19 Aug 2020 10:36:18 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JAaGpK051661; Wed, 19 Aug 2020 10:36:16 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202008191036.07JAaGpK051661@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Wed, 19 Aug 2020 10:36:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364377 - stable/12/sys/netinet/cc X-SVN-Group: stable-12 X-SVN-Commit-Author: rscheff X-SVN-Commit-Paths: stable/12/sys/netinet/cc X-SVN-Commit-Revision: 364377 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 10:36:18 -0000 Author: rscheff Date: Wed Aug 19 10:36:16 2020 New Revision: 364377 URL: https://svnweb.freebsd.org/changeset/base/364377 Log: MFC r363380: Add MODULE_VERSION to TCP loadable congestion control modules. Without versioning information, using preexisting loader / linker code is not easily possible when another module may have dependencies on pre-loaded modules, and also doesn't allow the automatic loading of dependent modules. No functional change of the actual modules. Reviewed by: tuexen (mentor), rgrimes (mentor) Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D25744 Modified: stable/12/sys/netinet/cc/cc_cdg.c stable/12/sys/netinet/cc/cc_chd.c stable/12/sys/netinet/cc/cc_cubic.c stable/12/sys/netinet/cc/cc_dctcp.c stable/12/sys/netinet/cc/cc_hd.c stable/12/sys/netinet/cc/cc_htcp.c stable/12/sys/netinet/cc/cc_newreno.c stable/12/sys/netinet/cc/cc_vegas.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netinet/cc/cc_cdg.c ============================================================================== --- stable/12/sys/netinet/cc/cc_cdg.c Wed Aug 19 10:32:26 2020 (r364376) +++ stable/12/sys/netinet/cc/cc_cdg.c Wed Aug 19 10:36:16 2020 (r364377) @@ -714,5 +714,5 @@ SYSCTL_UINT(_net_inet_tcp_cc_cdg, OID_AUTO, loss_compe "the window backoff for loss based CC compatibility"); DECLARE_CC_MODULE(cdg, &cdg_cc_algo); - +MODULE_VERSION(cdg, 1); MODULE_DEPEND(cdg, ertt, 1, 1, 1); Modified: stable/12/sys/netinet/cc/cc_chd.c ============================================================================== --- stable/12/sys/netinet/cc/cc_chd.c Wed Aug 19 10:32:26 2020 (r364376) +++ stable/12/sys/netinet/cc/cc_chd.c Wed Aug 19 10:36:16 2020 (r364377) @@ -493,4 +493,5 @@ SYSCTL_UINT(_net_inet_tcp_cc_chd, OID_AUTO, use_max, "as the basic delay measurement for the algorithm."); DECLARE_CC_MODULE(chd, &chd_cc_algo); +MODULE_VERSION(chd, 1); MODULE_DEPEND(chd, ertt, 1, 1, 1); Modified: stable/12/sys/netinet/cc/cc_cubic.c ============================================================================== --- stable/12/sys/netinet/cc/cc_cubic.c Wed Aug 19 10:32:26 2020 (r364376) +++ stable/12/sys/netinet/cc/cc_cubic.c Wed Aug 19 10:36:16 2020 (r364377) @@ -473,3 +473,4 @@ cubic_ssthresh_update(struct cc_var *ccv) DECLARE_CC_MODULE(cubic, &cubic_cc_algo); +MODULE_VERSION(cubic, 1); Modified: stable/12/sys/netinet/cc/cc_dctcp.c ============================================================================== --- stable/12/sys/netinet/cc/cc_dctcp.c Wed Aug 19 10:32:26 2020 (r364376) +++ stable/12/sys/netinet/cc/cc_dctcp.c Wed Aug 19 10:36:16 2020 (r364377) @@ -467,3 +467,4 @@ SYSCTL_PROC(_net_inet_tcp_cc_dctcp, OID_AUTO, slowstar "IU", "half CWND reduction after the first slow start"); DECLARE_CC_MODULE(dctcp, &dctcp_cc_algo); +MODULE_VERSION(dctcp, 1); Modified: stable/12/sys/netinet/cc/cc_hd.c ============================================================================== --- stable/12/sys/netinet/cc/cc_hd.c Wed Aug 19 10:32:26 2020 (r364376) +++ stable/12/sys/netinet/cc/cc_hd.c Wed Aug 19 10:36:16 2020 (r364377) @@ -249,4 +249,5 @@ SYSCTL_PROC(_net_inet_tcp_cc_hd, OID_AUTO, queue_min, &hd_qmin_handler, "IU", "minimum queueing delay threshold (qmin) in ticks"); DECLARE_CC_MODULE(hd, &hd_cc_algo); +MODULE_VERSION(hd, 1); MODULE_DEPEND(hd, ertt, 1, 1, 1); Modified: stable/12/sys/netinet/cc/cc_htcp.c ============================================================================== --- stable/12/sys/netinet/cc/cc_htcp.c Wed Aug 19 10:32:26 2020 (r364376) +++ stable/12/sys/netinet/cc/cc_htcp.c Wed Aug 19 10:36:16 2020 (r364377) @@ -530,3 +530,4 @@ SYSCTL_UINT(_net_inet_tcp_cc_htcp, OID_AUTO, rtt_scali "enable H-TCP RTT scaling"); DECLARE_CC_MODULE(htcp, &htcp_cc_algo); +MODULE_VERSION(htcp, 1); Modified: stable/12/sys/netinet/cc/cc_newreno.c ============================================================================== --- stable/12/sys/netinet/cc/cc_newreno.c Wed Aug 19 10:32:26 2020 (r364376) +++ stable/12/sys/netinet/cc/cc_newreno.c Wed Aug 19 10:36:16 2020 (r364377) @@ -399,3 +399,4 @@ SYSCTL_PROC(_net_inet_tcp_cc_newreno, OID_AUTO, beta_e "New Reno beta ecn, specified as number between 1 and 100"); DECLARE_CC_MODULE(newreno, &newreno_cc_algo); +MODULE_VERSION(newreno, 1); Modified: stable/12/sys/netinet/cc/cc_vegas.c ============================================================================== --- stable/12/sys/netinet/cc/cc_vegas.c Wed Aug 19 10:32:26 2020 (r364376) +++ stable/12/sys/netinet/cc/cc_vegas.c Wed Aug 19 10:36:16 2020 (r364377) @@ -300,4 +300,5 @@ SYSCTL_PROC(_net_inet_tcp_cc_vegas, OID_AUTO, beta, "vegas beta, specified as number of \"buffers\" (0 < alpha < beta)"); DECLARE_CC_MODULE(vegas, &vegas_cc_algo); +MODULE_VERSION(vegas, 1); MODULE_DEPEND(vegas, ertt, 1, 1, 1); From owner-svn-src-all@freebsd.org Wed Aug 19 10:40:03 2020 Return-Path: Delivered-To: svn-src-all@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 39CD33BA4A4; Wed, 19 Aug 2020 10:40:03 +0000 (UTC) (envelope-from rscheff@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 4BWknH0pwyz4Z6J; Wed, 19 Aug 2020 10:40:03 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F400C21456; Wed, 19 Aug 2020 10:40:02 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JAe2Nq052225; Wed, 19 Aug 2020 10:40:02 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JAe2x1052224; Wed, 19 Aug 2020 10:40:02 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202008191040.07JAe2x1052224@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Wed, 19 Aug 2020 10:40:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364378 - stable/12/sys/netinet/cc X-SVN-Group: stable-12 X-SVN-Commit-Author: rscheff X-SVN-Commit-Paths: stable/12/sys/netinet/cc X-SVN-Commit-Revision: 364378 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 10:40:03 -0000 Author: rscheff Date: Wed Aug 19 10:40:02 2020 New Revision: 364378 URL: https://svnweb.freebsd.org/changeset/base/364378 Log: MFC r363397: Fix style and comment around concave/convex regions in TCP cubic. In cubic, the concave region is when snd_cwnd starts growing slower towards max_cwnd (cwnd at the time of the congestion event), and the convex region is when snd_cwnd starts to grow faster and eventually appearing like slow-start like growth. PR: 238478 Reviewed by: tuexen (mentor), rgrimes (mentor) Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D24657 Modified: stable/12/sys/netinet/cc/cc_cubic.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netinet/cc/cc_cubic.c ============================================================================== --- stable/12/sys/netinet/cc/cc_cubic.c Wed Aug 19 10:36:16 2020 (r364377) +++ stable/12/sys/netinet/cc/cc_cubic.c Wed Aug 19 10:40:02 2020 (r364378) @@ -185,12 +185,11 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type) */ if (CCV(ccv, snd_cwnd) < w_tf) CCV(ccv, snd_cwnd) = ulmin(w_tf, INT_MAX); - } - - else if (CCV(ccv, snd_cwnd) < w_cubic_next) { + } else if (CCV(ccv, snd_cwnd) < w_cubic_next) { /* * Concave or convex region, follow CUBIC * cwnd growth. + * Only update snd_cwnd, if it doesn't shrink. */ if (V_tcp_do_rfc3465) CCV(ccv, snd_cwnd) = ulmin(w_cubic_next, From owner-svn-src-all@freebsd.org Wed Aug 19 11:50:13 2020 Return-Path: Delivered-To: svn-src-all@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 7AD123BBD87; Wed, 19 Aug 2020 11:50:13 +0000 (UTC) (envelope-from hselasky@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 4BWmLF2gWpz4fWC; Wed, 19 Aug 2020 11:50:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 40108222EA; Wed, 19 Aug 2020 11:50:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JBoDG6096639; Wed, 19 Aug 2020 11:50:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JBoCjh096637; Wed, 19 Aug 2020 11:50:12 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191150.07JBoCjh096637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 11:50:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364379 - head/sys/dev/usb/controller X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/usb/controller X-SVN-Commit-Revision: 364379 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 11:50:13 -0000 Author: hselasky Date: Wed Aug 19 11:50:12 2020 New Revision: 364379 URL: https://svnweb.freebsd.org/changeset/base/364379 Log: Avoid evaluating the XHCI control endpoint context. The XHCI specification says that the XHCI controller should detect reception of the USB device descriptors, and automatically update the max packet size in the control endpoint context. Differential Revision: https://reviews.freebsd.org/D26104 Reviewed by: kp@ MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/controller/xhci.c head/sys/dev/usb/controller/xhci.h Modified: head/sys/dev/usb/controller/xhci.c ============================================================================== --- head/sys/dev/usb/controller/xhci.c Wed Aug 19 10:40:02 2020 (r364378) +++ head/sys/dev/usb/controller/xhci.c Wed Aug 19 11:50:12 2020 (r364379) @@ -2398,8 +2398,6 @@ xhci_configure_endpoint(struct usb_device *udev, /* store endpoint mode */ pepext->trb_ep_mode = ep_mode; - /* store bMaxPacketSize for control endpoints */ - pepext->trb_ep_maxp = edesc->wMaxPacketSize[0]; usb_pc_cpu_flush(pepext->page_cache); if (ep_mode == USB_EP_MODE_STREAMS) { @@ -2929,17 +2927,6 @@ xhci_transfer_insert(struct usb_xfer *xfer) return (USB_ERR_NOMEM); } - /* check if bMaxPacketSize changed */ - if (xfer->flags_int.control_xfr != 0 && - pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0]) { - - DPRINTFN(8, "Reconfigure control endpoint\n"); - - /* force driver to reconfigure endpoint */ - pepext->trb_halted = 1; - pepext->trb_running = 0; - } - /* check for stopped condition, after putting transfer on interrupt queue */ if (pepext->trb_running == 0) { struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); @@ -3917,8 +3904,10 @@ xhci_configure_reset_endpoint(struct usb_xfer *xfer) if (!(sc->sc_hw.devs[index].ep_configured & mask)) { sc->sc_hw.devs[index].ep_configured |= mask; err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); - } else { + } else if (epno != 1) { err = xhci_cmd_evaluate_ctx(sc, buf_inp.physaddr, index); + } else { + err = 0; } if (err != 0) { Modified: head/sys/dev/usb/controller/xhci.h ============================================================================== --- head/sys/dev/usb/controller/xhci.h Wed Aug 19 10:40:02 2020 (r364378) +++ head/sys/dev/usb/controller/xhci.h Wed Aug 19 11:50:12 2020 (r364379) @@ -393,7 +393,6 @@ struct xhci_endpoint_ext { uint8_t trb_halted; uint8_t trb_running; uint8_t trb_ep_mode; - uint8_t trb_ep_maxp; }; enum { From owner-svn-src-all@freebsd.org Wed Aug 19 12:16:12 2020 Return-Path: Delivered-To: svn-src-all@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 D469F3BCBA3; Wed, 19 Aug 2020 12:16:12 +0000 (UTC) (envelope-from hselasky@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 4BWmwD5Drjz3SVj; Wed, 19 Aug 2020 12:16:12 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 925F022943; Wed, 19 Aug 2020 12:16:12 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JCGCA1015256; Wed, 19 Aug 2020 12:16:12 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JCGCVe015255; Wed, 19 Aug 2020 12:16:12 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191216.07JCGCVe015255@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 12:16:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364380 - in stable/12/sys/dev: rtwn/usb usb X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in stable/12/sys/dev: rtwn/usb usb X-SVN-Commit-Revision: 364380 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 12:16:12 -0000 Author: hselasky Date: Wed Aug 19 12:16:11 2020 New Revision: 364380 URL: https://svnweb.freebsd.org/changeset/base/364380 Log: MFC r363950: Add new USB ID. Submitted by: Dmitry Luhtionov Sponsored by: Mellanox Technologies Modified: stable/12/sys/dev/rtwn/usb/rtwn_usb_attach.h stable/12/sys/dev/usb/usbdevs Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/rtwn/usb/rtwn_usb_attach.h ============================================================================== --- stable/12/sys/dev/rtwn/usb/rtwn_usb_attach.h Wed Aug 19 11:50:12 2020 (r364379) +++ stable/12/sys/dev/rtwn/usb/rtwn_usb_attach.h Wed Aug 19 12:16:11 2020 (r364380) @@ -123,6 +123,7 @@ static const STRUCT_USB_HOST_ID rtwn_devs[] = { RTWN_RTL8188EU_DEV(TPLINK, WN727NV5), RTWN_RTL8188EU_DEV(REALTEK, RTL8188ETV), RTWN_RTL8188EU_DEV(REALTEK, RTL8188EU), + RTWN_RTL8188EU_DEV(MERCUSYS, MW150US), #undef RTWN_RTL8188EU_DEV /* RTL8812AU */ Modified: stable/12/sys/dev/usb/usbdevs ============================================================================== --- stable/12/sys/dev/usb/usbdevs Wed Aug 19 11:50:12 2020 (r364379) +++ stable/12/sys/dev/usb/usbdevs Wed Aug 19 12:16:11 2020 (r364380) @@ -783,6 +783,7 @@ vendor NHJ 0x2770 NHJ vendor THINGM 0x27b8 ThingM vendor PERASO 0x2932 Peraso Technologies, Inc. vendor PLANEX 0x2c02 Planex Communications +vendor MERCUSYS 0x2c4e Mercusys, Inc. vendor QUECTEL 0x2c7c Quectel Wireless Solutions vendor VIDZMEDIA 0x3275 VidzMedia Pte Ltd vendor LINKINSTRUMENTS 0x3195 Link Instruments Inc. @@ -3191,6 +3192,9 @@ product MELCO WLIUCGNM2 0x01ee WLI-UC-GNM2 product MELCO WIU2433DM 0x0242 WI-U2-433DM product MELCO WIU3866D 0x025d WI-U3-866D product MELCO WIU2433DHP 0x029b WI-U2-433DHP + +/* Mercusys, Inc. */ +product MERCUSYS MW150US 0x0102 Mercusys MW150US /* Merlin products */ product MERLIN V620 0x1110 Merlin V620 From owner-svn-src-all@freebsd.org Wed Aug 19 12:23:05 2020 Return-Path: Delivered-To: svn-src-all@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 E06B83BD132; Wed, 19 Aug 2020 12:23:05 +0000 (UTC) (envelope-from hselasky@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 4BWn495XtQz3Sxc; Wed, 19 Aug 2020 12:23:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A211F228BE; Wed, 19 Aug 2020 12:23:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JCN5g8021223; Wed, 19 Aug 2020 12:23:05 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JCN56g021222; Wed, 19 Aug 2020 12:23:05 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191223.07JCN56g021222@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 12:23:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364381 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 364381 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 12:23:05 -0000 Author: hselasky Date: Wed Aug 19 12:23:05 2020 New Revision: 364381 URL: https://svnweb.freebsd.org/changeset/base/364381 Log: MFC r364019: Add full support support for dynamic allocation and freeing of epoch's. Make sure to reclaim epoch structures when they are freed to support dynamic allocation and freeing of epoch structures. While at it, move the 64 supported epoch control structures to the static memory domain. This overall simplifies the management and debugging of system epoch's. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D25960 Sponsored by: Mellanox Technologies Modified: stable/12/sys/kern/subr_epoch.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/subr_epoch.c ============================================================================== --- stable/12/sys/kern/subr_epoch.c Wed Aug 19 12:16:11 2020 (r364380) +++ stable/12/sys/kern/subr_epoch.c Wed Aug 19 12:23:05 2020 (r364381) @@ -54,8 +54,6 @@ __FBSDID("$FreeBSD$"); #include -static MALLOC_DEFINE(M_EPOCH, "epoch", "epoch based reclamation"); - #ifdef __amd64__ #define EPOCH_ALIGN CACHE_LINE_SIZE*2 #else @@ -76,7 +74,7 @@ typedef struct epoch_record { struct epoch { struct ck_epoch e_epoch __aligned(EPOCH_ALIGN); epoch_record_t e_pcpu_record; - int e_idx; + int e_in_use; int e_flags; /* fields above are part of KBI and cannot be modified */ struct sx e_drain_sx; @@ -123,19 +121,23 @@ TAILQ_HEAD (threadlist, thread); CK_STACK_CONTAINER(struct ck_epoch_entry, stack_entry, ck_epoch_entry_container) -epoch_t allepochs[MAX_EPOCHS]; +static struct epoch epoch_array[MAX_EPOCHS]; DPCPU_DEFINE(struct grouptask, epoch_cb_task); DPCPU_DEFINE(int, epoch_cb_count); static __read_mostly int inited; -static __read_mostly int epoch_count; __read_mostly epoch_t global_epoch; __read_mostly epoch_t global_epoch_preempt; static void epoch_call_task(void *context __unused); static uma_zone_t pcpu_zone_record; +static struct sx epoch_sx; + +#define EPOCH_LOCK() sx_xlock(&epoch_sx) +#define EPOCH_UNLOCK() sx_xunlock(&epoch_sx) + static void epoch_init(void *arg __unused) { @@ -158,6 +160,7 @@ epoch_init(void *arg __unused) DPCPU_ID_PTR(cpu, epoch_cb_task), NULL, cpu, -1, "epoch call task"); } + sx_init(&epoch_sx, "epoch-sx"); inited = 1; global_epoch = epoch_alloc(0); global_epoch_preempt = epoch_alloc(EPOCH_PREEMPT); @@ -203,18 +206,47 @@ epoch_t epoch_alloc(int flags) { epoch_t epoch; + int i; + MPASS(name != NULL); + if (__predict_false(!inited)) panic("%s called too early in boot", __func__); - epoch = malloc(sizeof(struct epoch), M_EPOCH, M_ZERO | M_WAITOK); + + EPOCH_LOCK(); + + /* + * Find a free index in the epoch array. If no free index is + * found, try to use the index after the last one. + */ + for (i = 0;; i++) { + /* + * If too many epochs are currently allocated, + * return NULL. + */ + if (i == MAX_EPOCHS) { + epoch = NULL; + goto done; + } + if (epoch_array[i].e_in_use == 0) + break; + } + + epoch = epoch_array + i; ck_epoch_init(&epoch->e_epoch); epoch_ctor(epoch); - MPASS(epoch_count < MAX_EPOCHS - 2); epoch->e_flags = flags; - epoch->e_idx = epoch_count; sx_init(&epoch->e_drain_sx, "epoch-drain-sx"); mtx_init(&epoch->e_drain_mtx, "epoch-drain-mtx", NULL, MTX_DEF); - allepochs[epoch_count++] = epoch; + + /* + * Set e_in_use last, because when this field is set the + * epoch_call_task() function will start scanning this epoch + * structure. + */ + atomic_store_rel_int(&epoch->e_in_use, 1); +done: + EPOCH_UNLOCK(); return (epoch); } @@ -222,13 +254,24 @@ void epoch_free(epoch_t epoch) { + EPOCH_LOCK(); + + MPASS(epoch->e_in_use != 0); + epoch_drain_callbacks(epoch); - allepochs[epoch->e_idx] = NULL; + + atomic_store_rel_int(&epoch->e_in_use, 0); + /* + * Make sure the epoch_call_task() function see e_in_use equal + * to zero, by calling epoch_wait() on the global_epoch: + */ epoch_wait(global_epoch); uma_zfree_pcpu(pcpu_zone_record, epoch->e_pcpu_record); mtx_destroy(&epoch->e_drain_mtx); sx_destroy(&epoch->e_drain_sx); - free(epoch, M_EPOCH); + memset(epoch, 0, sizeof(*epoch)); + + EPOCH_UNLOCK(); } static epoch_record_t @@ -592,8 +635,10 @@ epoch_call_task(void *arg __unused) ck_stack_init(&cb_stack); critical_enter(); epoch_enter(global_epoch); - for (total = i = 0; i < epoch_count; i++) { - if (__predict_false((epoch = allepochs[i]) == NULL)) + for (total = i = 0; i != MAX_EPOCHS; i++) { + epoch = epoch_array + i; + if (__predict_false( + atomic_load_acq_int(&epoch->e_in_use) == 0)) continue; er = epoch_currecord(epoch); record = &er->er_record; From owner-svn-src-all@freebsd.org Wed Aug 19 12:25:35 2020 Return-Path: Delivered-To: svn-src-all@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 5FD283BCF6E; Wed, 19 Aug 2020 12:25:35 +0000 (UTC) (envelope-from hselasky@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 4BWn731v2zz3Syf; Wed, 19 Aug 2020 12:25:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1FEE922D51; Wed, 19 Aug 2020 12:25:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JCPYSP021418; Wed, 19 Aug 2020 12:25:34 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JCPYR6021416; Wed, 19 Aug 2020 12:25:34 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191225.07JCPYR6021416@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 12:25:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364382 - in stable/12/sys/compat/linuxkpi/common: include/linux src X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in stable/12/sys/compat/linuxkpi/common: include/linux src X-SVN-Commit-Revision: 364382 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 12:25:35 -0000 Author: hselasky Date: Wed Aug 19 12:25:34 2020 New Revision: 364382 URL: https://svnweb.freebsd.org/changeset/base/364382 Log: MFC r364028: Implement radix_tree_store() in the LinuxKPI for use with the coming extensible arrays implementation. While at it add some more comments explaining the current radix_tree_insert() function and make sure to clean the root node when the radix tree reaches the maximum height. This can happen if the index passed is too big when the tree is empty. The radix_tree_store() function is basically a copy of the radix_tree_insert() function with some added functionality. The radix_tree_store() function is local to FreeBSD and does not yet exist in Linux. Reviewed by: kib Sponsored by: Mellanox Technologies Modified: stable/12/sys/compat/linuxkpi/common/include/linux/radix-tree.h stable/12/sys/compat/linuxkpi/common/src/linux_radix.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/compat/linuxkpi/common/include/linux/radix-tree.h ============================================================================== --- stable/12/sys/compat/linuxkpi/common/include/linux/radix-tree.h Wed Aug 19 12:23:05 2020 (r364381) +++ stable/12/sys/compat/linuxkpi/common/include/linux/radix-tree.h Wed Aug 19 12:25:34 2020 (r364382) @@ -78,6 +78,7 @@ radix_tree_exception(void *arg) void *radix_tree_lookup(struct radix_tree_root *, unsigned long); void *radix_tree_delete(struct radix_tree_root *, unsigned long); int radix_tree_insert(struct radix_tree_root *, unsigned long, void *); +int radix_tree_store(struct radix_tree_root *, unsigned long, void **); bool radix_tree_iter_find(struct radix_tree_root *, struct radix_tree_iter *, void ***); void radix_tree_iter_delete(struct radix_tree_root *, struct radix_tree_iter *, void **); Modified: stable/12/sys/compat/linuxkpi/common/src/linux_radix.c ============================================================================== --- stable/12/sys/compat/linuxkpi/common/src/linux_radix.c Wed Aug 19 12:23:05 2020 (r364381) +++ stable/12/sys/compat/linuxkpi/common/src/linux_radix.c Wed Aug 19 12:25:34 2020 (r364382) @@ -2,7 +2,7 @@ * Copyright (c) 2010 Isilon Systems, Inc. * Copyright (c) 2010 iX Systems, Inc. * Copyright (c) 2010 Panasas, Inc. - * Copyright (c) 2013-2018 Mellanox Technologies, Ltd. + * Copyright (c) 2013-2020 Mellanox Technologies, Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -55,6 +55,17 @@ radix_pos(long id, int height) return (id >> (RADIX_TREE_MAP_SHIFT * height)) & RADIX_TREE_MAP_MASK; } +static void +radix_tree_clean_root_node(struct radix_tree_root *root) +{ + /* Check if the root node should be freed */ + if (root->rnode->count == 0) { + free(root->rnode, M_RADIX); + root->rnode = NULL; + root->height = 0; + } +} + void * radix_tree_lookup(struct radix_tree_root *root, unsigned long index) { @@ -197,8 +208,10 @@ radix_tree_insert(struct radix_tree_root *root, unsign while (radix_max(root) < index) { /* check if the radix tree is getting too big */ - if (root->height == RADIX_TREE_MAX_HEIGHT) + if (root->height == RADIX_TREE_MAX_HEIGHT) { + radix_tree_clean_root_node(root); return (-E2BIG); + } /* * If the root radix level is not empty, we need to @@ -206,8 +219,16 @@ radix_tree_insert(struct radix_tree_root *root, unsign */ if (node->count != 0) { node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); - if (node == NULL) + if (node == NULL) { + /* + * Freeing the already allocated radix + * levels, if any, will be handled by + * the radix_tree_delete() function. + * This code path can only happen when + * the tree is not empty. + */ return (-ENOMEM); + } node->slots[0] = root->rnode; node->count++; root->rnode = node; @@ -231,14 +252,9 @@ radix_tree_insert(struct radix_tree_root *root, unsign temp[idx] = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); if (temp[idx] == NULL) { - while(idx--) + while (idx--) free(temp[idx], M_RADIX); - /* Check if we should free the root node as well. */ - if (root->rnode->count == 0) { - free(root->rnode, M_RADIX); - root->rnode = NULL; - root->height = 0; - } + radix_tree_clean_root_node(root); return (-ENOMEM); } } @@ -260,5 +276,112 @@ radix_tree_insert(struct radix_tree_root *root, unsign node->slots[idx] = item; node->count++; + return (0); +} + +int +radix_tree_store(struct radix_tree_root *root, unsigned long index, void **ppitem) +{ + struct radix_tree_node *node; + struct radix_tree_node *temp[RADIX_TREE_MAX_HEIGHT - 1]; + void *pitem; + int height; + int idx; + + /* + * Inserting a NULL item means delete it. The old pointer is + * stored at the location pointed to by "ppitem". + */ + if (*ppitem == NULL) { + *ppitem = radix_tree_delete(root, index); + return (0); + } + + /* get root node, if any */ + node = root->rnode; + + /* allocate root node, if any */ + if (node == NULL) { + node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); + if (node == NULL) + return (-ENOMEM); + root->rnode = node; + root->height++; + } + + /* expand radix tree as needed */ + while (radix_max(root) < index) { + + /* check if the radix tree is getting too big */ + if (root->height == RADIX_TREE_MAX_HEIGHT) { + radix_tree_clean_root_node(root); + return (-E2BIG); + } + + /* + * If the root radix level is not empty, we need to + * allocate a new radix level: + */ + if (node->count != 0) { + node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); + if (node == NULL) { + /* + * Freeing the already allocated radix + * levels, if any, will be handled by + * the radix_tree_delete() function. + * This code path can only happen when + * the tree is not empty. + */ + return (-ENOMEM); + } + node->slots[0] = root->rnode; + node->count++; + root->rnode = node; + } + root->height++; + } + + /* get radix tree height index */ + height = root->height - 1; + + /* walk down the tree until the first missing node, if any */ + for ( ; height != 0; height--) { + idx = radix_pos(index, height); + if (node->slots[idx] == NULL) + break; + node = node->slots[idx]; + } + + /* allocate the missing radix levels, if any */ + for (idx = 0; idx != height; idx++) { + temp[idx] = malloc(sizeof(*node), M_RADIX, + root->gfp_mask | M_ZERO); + if (temp[idx] == NULL) { + while (idx--) + free(temp[idx], M_RADIX); + radix_tree_clean_root_node(root); + return (-ENOMEM); + } + } + + /* setup new radix levels, if any */ + for ( ; height != 0; height--) { + idx = radix_pos(index, height); + node->slots[idx] = temp[height - 1]; + node->count++; + node = node->slots[idx]; + } + + /* + * Insert and adjust count if the item does not already exist. + */ + idx = radix_pos(index, 0); + /* swap */ + pitem = node->slots[idx]; + node->slots[idx] = *ppitem; + *ppitem = pitem; + + if (pitem == NULL) + node->count++; return (0); } From owner-svn-src-all@freebsd.org Wed Aug 19 12:26:24 2020 Return-Path: Delivered-To: svn-src-all@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 4D59A3BD063; Wed, 19 Aug 2020 12:26:24 +0000 (UTC) (envelope-from hselasky@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 4BWn801LPHz3T9Z; Wed, 19 Aug 2020 12:26:24 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 108AE2296F; Wed, 19 Aug 2020 12:26:24 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JCQN8H021658; Wed, 19 Aug 2020 12:26:23 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JCQNdX021656; Wed, 19 Aug 2020 12:26:23 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191226.07JCQNdX021656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 12:26:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r364383 - in stable/11/sys/compat/linuxkpi/common: include/linux src X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in stable/11/sys/compat/linuxkpi/common: include/linux src X-SVN-Commit-Revision: 364383 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 12:26:24 -0000 Author: hselasky Date: Wed Aug 19 12:26:23 2020 New Revision: 364383 URL: https://svnweb.freebsd.org/changeset/base/364383 Log: MFC r364028: Implement radix_tree_store() in the LinuxKPI for use with the coming extensible arrays implementation. While at it add some more comments explaining the current radix_tree_insert() function and make sure to clean the root node when the radix tree reaches the maximum height. This can happen if the index passed is too big when the tree is empty. The radix_tree_store() function is basically a copy of the radix_tree_insert() function with some added functionality. The radix_tree_store() function is local to FreeBSD and does not yet exist in Linux. Reviewed by: kib Sponsored by: Mellanox Technologies Modified: stable/11/sys/compat/linuxkpi/common/include/linux/radix-tree.h stable/11/sys/compat/linuxkpi/common/src/linux_radix.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linuxkpi/common/include/linux/radix-tree.h ============================================================================== --- stable/11/sys/compat/linuxkpi/common/include/linux/radix-tree.h Wed Aug 19 12:25:34 2020 (r364382) +++ stable/11/sys/compat/linuxkpi/common/include/linux/radix-tree.h Wed Aug 19 12:26:23 2020 (r364383) @@ -78,6 +78,7 @@ radix_tree_exception(void *arg) void *radix_tree_lookup(struct radix_tree_root *, unsigned long); void *radix_tree_delete(struct radix_tree_root *, unsigned long); int radix_tree_insert(struct radix_tree_root *, unsigned long, void *); +int radix_tree_store(struct radix_tree_root *, unsigned long, void **); bool radix_tree_iter_find(struct radix_tree_root *, struct radix_tree_iter *, void ***); void radix_tree_iter_delete(struct radix_tree_root *, struct radix_tree_iter *, void **); Modified: stable/11/sys/compat/linuxkpi/common/src/linux_radix.c ============================================================================== --- stable/11/sys/compat/linuxkpi/common/src/linux_radix.c Wed Aug 19 12:25:34 2020 (r364382) +++ stable/11/sys/compat/linuxkpi/common/src/linux_radix.c Wed Aug 19 12:26:23 2020 (r364383) @@ -2,7 +2,7 @@ * Copyright (c) 2010 Isilon Systems, Inc. * Copyright (c) 2010 iX Systems, Inc. * Copyright (c) 2010 Panasas, Inc. - * Copyright (c) 2013-2018 Mellanox Technologies, Ltd. + * Copyright (c) 2013-2020 Mellanox Technologies, Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -55,6 +55,17 @@ radix_pos(long id, int height) return (id >> (RADIX_TREE_MAP_SHIFT * height)) & RADIX_TREE_MAP_MASK; } +static void +radix_tree_clean_root_node(struct radix_tree_root *root) +{ + /* Check if the root node should be freed */ + if (root->rnode->count == 0) { + free(root->rnode, M_RADIX); + root->rnode = NULL; + root->height = 0; + } +} + void * radix_tree_lookup(struct radix_tree_root *root, unsigned long index) { @@ -197,8 +208,10 @@ radix_tree_insert(struct radix_tree_root *root, unsign while (radix_max(root) < index) { /* check if the radix tree is getting too big */ - if (root->height == RADIX_TREE_MAX_HEIGHT) + if (root->height == RADIX_TREE_MAX_HEIGHT) { + radix_tree_clean_root_node(root); return (-E2BIG); + } /* * If the root radix level is not empty, we need to @@ -206,8 +219,16 @@ radix_tree_insert(struct radix_tree_root *root, unsign */ if (node->count != 0) { node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); - if (node == NULL) + if (node == NULL) { + /* + * Freeing the already allocated radix + * levels, if any, will be handled by + * the radix_tree_delete() function. + * This code path can only happen when + * the tree is not empty. + */ return (-ENOMEM); + } node->slots[0] = root->rnode; node->count++; root->rnode = node; @@ -231,14 +252,9 @@ radix_tree_insert(struct radix_tree_root *root, unsign temp[idx] = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); if (temp[idx] == NULL) { - while(idx--) + while (idx--) free(temp[idx], M_RADIX); - /* Check if we should free the root node as well. */ - if (root->rnode->count == 0) { - free(root->rnode, M_RADIX); - root->rnode = NULL; - root->height = 0; - } + radix_tree_clean_root_node(root); return (-ENOMEM); } } @@ -260,5 +276,112 @@ radix_tree_insert(struct radix_tree_root *root, unsign node->slots[idx] = item; node->count++; + return (0); +} + +int +radix_tree_store(struct radix_tree_root *root, unsigned long index, void **ppitem) +{ + struct radix_tree_node *node; + struct radix_tree_node *temp[RADIX_TREE_MAX_HEIGHT - 1]; + void *pitem; + int height; + int idx; + + /* + * Inserting a NULL item means delete it. The old pointer is + * stored at the location pointed to by "ppitem". + */ + if (*ppitem == NULL) { + *ppitem = radix_tree_delete(root, index); + return (0); + } + + /* get root node, if any */ + node = root->rnode; + + /* allocate root node, if any */ + if (node == NULL) { + node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); + if (node == NULL) + return (-ENOMEM); + root->rnode = node; + root->height++; + } + + /* expand radix tree as needed */ + while (radix_max(root) < index) { + + /* check if the radix tree is getting too big */ + if (root->height == RADIX_TREE_MAX_HEIGHT) { + radix_tree_clean_root_node(root); + return (-E2BIG); + } + + /* + * If the root radix level is not empty, we need to + * allocate a new radix level: + */ + if (node->count != 0) { + node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); + if (node == NULL) { + /* + * Freeing the already allocated radix + * levels, if any, will be handled by + * the radix_tree_delete() function. + * This code path can only happen when + * the tree is not empty. + */ + return (-ENOMEM); + } + node->slots[0] = root->rnode; + node->count++; + root->rnode = node; + } + root->height++; + } + + /* get radix tree height index */ + height = root->height - 1; + + /* walk down the tree until the first missing node, if any */ + for ( ; height != 0; height--) { + idx = radix_pos(index, height); + if (node->slots[idx] == NULL) + break; + node = node->slots[idx]; + } + + /* allocate the missing radix levels, if any */ + for (idx = 0; idx != height; idx++) { + temp[idx] = malloc(sizeof(*node), M_RADIX, + root->gfp_mask | M_ZERO); + if (temp[idx] == NULL) { + while (idx--) + free(temp[idx], M_RADIX); + radix_tree_clean_root_node(root); + return (-ENOMEM); + } + } + + /* setup new radix levels, if any */ + for ( ; height != 0; height--) { + idx = radix_pos(index, height); + node->slots[idx] = temp[height - 1]; + node->count++; + node = node->slots[idx]; + } + + /* + * Insert and adjust count if the item does not already exist. + */ + idx = radix_pos(index, 0); + /* swap */ + pitem = node->slots[idx]; + node->slots[idx] = *ppitem; + *ppitem = pitem; + + if (pitem == NULL) + node->count++; return (0); } From owner-svn-src-all@freebsd.org Wed Aug 19 12:39:46 2020 Return-Path: Delivered-To: svn-src-all@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 8E9C63BD921 for ; Wed, 19 Aug 2020 12:39:46 +0000 (UTC) (envelope-from send@kharkovrecruiting.net) Received: from kharkovrecruiting.net (kharkovrecruiting.net [82.117.245.241]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BWnRP4byyz3VJH for ; Wed, 19 Aug 2020 12:39:45 +0000 (UTC) (envelope-from send@kharkovrecruiting.net) Received: from www1.kharkovpersonal.local ([127.0.0.1]) (authenticated user send@kharkovrecruiting.net) by kharkovrecruiting.net (Kerio Connect 7.0.1) (using TLSv1/SSLv3 with cipher AES256-SHA (256 bits)) for svn-src-all@freebsd.org; Wed, 19 Aug 2020 15:09:30 +0300 Date: Wed, 19 Aug 2020 15:09:30 +0300 From: =?utf-8?B?0JrQvtC80L/QsNC90LjRjyAi0KXQsNGA0YzQutC+0LIt0KDQtdC60YA=?= =?utf-8?B?0YPRgtC40L3QsyI=?= Subject: =?utf-8?B?0JrQvtC80L/QsNC90LjRjyDCq9Cl0LDRgNGM0LrQvtCyINCg0LXQutGA?= =?utf-8?B?0YPRgtC40L3Qs8K7IC0g0JLQsNGIINC90LXQt9Cw0LzQtdC90LjQvNGL0Lkg0L8=?= =?utf-8?B?0L7QvNC+0YnQvdC40Log0LIg0L/QvtC40YHQutC1INC4INC/0L7QtNCx0L7RgNC1?= =?utf-8?B?INC/0LXRgNGB0L7QvdCw0LvQsCDRgSAyMDA3INCzLiAoMzM4MTY0KQ==?= Reply-to: To: Message-Id: <527bf765-a86f-498d-8e7c-e16c5a3da28b@freebsd.org> Mime-Version: 1.0 X-Priority: 3 (Normal) X-Mailer: 1C:Enterprise 8.3 X-Spamd-Bar: +++++++++++++ Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of send@kharkovrecruiting.net designates 82.117.245.241 as permitted sender) smtp.mailfrom=send@kharkovrecruiting.net X-Rspamd-Fuzzy: 40d7f6859b3a9f366c5c15b14b706e258b773dfea9e639305482fdafe084f452136d717bedba0fc48e00be0701a7837a1ee4f98641e3a5c78da0bc23fcf0aa7e X-Rspamd-Fuzzy: ebd0809b74964f06aaf9310ac75566e8cf444eea96831322dcb190db5e979a3830b859d0d4dec3f7fb65507ef0e08572d2932b3cafff6a4d77de357b0ff3be5f X-Spamd-Result: default: False [13.77 / 15.00]; HAS_REPLYTO(0.00)[send@kharkovrecruiting.net]; MV_CASE(0.50)[]; R_SPF_ALLOW(0.00)[+mx]; MAILER_1C_8_BASE64(0.00)[]; REPLYTO_ADDR_EQ_FROM(0.00)[]; TO_DN_NONE(0.00)[]; FUZZY_DENIED(10.51)[1:40d7f6859b:1.00:txt,1:ebd0809b74:1.00:txt]; CTYPE_MIXED_BOGUS(1.00)[]; HAS_X_PRIO_THREE(0.00)[3]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:34248, ipnet:82.117.240.0/21, country:UA]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[multipart/mixed,multipart/alternative,text/plain]; DMARC_NA(0.00)[kharkovrecruiting.net]; RCPT_COUNT_ONE(0.00)[1]; BAD_REP_POLICIES(0.10)[]; MID_RHS_MATCH_TO(1.00)[]; NEURAL_SPAM_SHORT(0.76)[0.759]; RCVD_IN_DNSWL_NONE(0.00)[82.117.245.241:from]; RCVD_COUNT_TWO(0.00)[2]; GREYLIST(0.00)[pass,body]; MAILMAN_DEST(0.00)[svn-src-all] X-Rspamd-Queue-Id: 4BWnRP4byyz3VJH X-Spam: Yes Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 12:39:46 -0000 DQrQmtC+0LzQv9Cw0L3QuNGPIMKr0KXQsNGA0YzQutC+0LIg0KDQtdC60YDRg9GC 0LjQvdCzwrsgLSDQktCw0Ygg0L3QtdC30LDQvNC10L3QuNC80YvQuSDQv9C+0LzQ vtGJ0L3QuNC6INCyINC/0L7QuNGB0LrQtSDQuCDQv9C+0LTQsdC+0YDQtSDQv9C1 0YDRgdC+0L3QsNC70LAg0YEgMjAwNyDQsy4NCtCa0L7QvNC/0LDQvdC40Y8g0KXQ sNGA0YzQutC+0LIg0KDQtdC60YDRg9GC0LjQvdCzwqAgLSDRjdGC0L46DQrigJMg 0L7Rh9C10L3RjCDQv9GA0L7RgdGC0L7QuSDRgdC/0L7RgdC+0LEg0YDQtdGI0LXQ vdC40Y8g0LrQsNC00YDQvtCy0L7Qs9C+INC+0LHQtdGB0L/QtdGH0LXQvdC40Y8s IC0g0JLRiyDQv9C+0LvRg9GH0LDQtdGC0LUg0LPQvtGC0L7QstGL0YUsINGB0L7Q vtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjRhSDQktCw0YjQuNC8INGC0YDQtdCx0L7Q stCw0L3QuNGP0LwsINC60LDQvdC00LjQtNCw0YLQvtCyLg0K4oCTINC+0YfQtdC9 0Ywg0Y3QutC+0L3QvtC80L3Ri9C5INC80LXRgtC+0LQg0L/QvtC00LHQvtGA0LAg 0L/QtdGA0YHQvtC90LDQu9CwLCAtINCS0Ysg0Y3QutC+0L3QvtC80LjRgtC1INGB 0LLQvtC1INC00YDQsNCz0L7RhtC10L3QvdC+0LUg0LLRgNC10LzRjywg0L3QtSDR gtGA0LDRgtC40YLQtSDRgdCy0L7RjiDRjdC90LXRgNCz0LjRjiDQvdCwINC80LDR gdGB0YMg0L3QtdC/0YDQvtC00YPQutGC0LjQstC90YvRhSDQuCDQvdC1INCy0YHQ tdCz0LTQsCwg0LrQsNC6INC/0L7RgtC+0Lwg0L7QutCw0LfRi9Cy0LDQtdGC0YHR jywg0L3Rg9C20L3Ri9GFINGB0L7QsdC10YHQtdC00L7QstCw0L3QuNC5Lg0K4oCT INC+0YfQtdC90Ywg0YPQtNC+0LHQvdGL0Lkg0Lgg0YHQvtCy0LXRgNGI0LXQvdC9 0YvQuSDQvNC10YLQvtC0LCAtINCS0LDQvCDQvdC1INC90YPQttC90L4g0L3QuCDQ viDRh9C10Lwg0LLQvtC70L3QvtCy0LDRgtGM0YHRjyDQuCDQtNGD0LzQsNGC0Yws INC60LDQvdC00LjQtNCw0YLRiyDRgdCw0LzQuCDQsdGD0LTRg9GCINCx0L7RgNC+ 0YLRjNGB0Y8g0LfQsCDQvNC10YHRgtC+INCyINCS0LDRiNC10Lkg0LrQvtC80L/Q sNC90LjQuCENCuKAkyDQtdC00LjQvdGB0YLQstC10L3QvdC+INC/0YDQsNCy0LjQ u9GM0L3Ri9C5INGB0L/QvtGB0L7QsSDQv9C+0LTQsdC+0YDQsCDQv9C10YDRgdC+ 0L3QsNC70LAsIC0g0JLQsNGBINC/0YDQvtC60L7QvdGB0YPQu9GM0YLQuNGA0YPR jtGCINC70YPRh9GI0LjQtSDRgdC/0LXRhtC40LDQu9C40YHRgtGLINCyINC+0LHQ u9Cw0YHRgtC4INGA0LXQutGA0YPRgtC40L3Qs9CwINC4INC/0YDQuNCy0LXQtNGD 0YIg0JLQsNC8INCS0YHQtdGFISEhINCb0YPRh9GI0LjRhSEhISDQutCw0L3QtNC4 0LTQsNGC0L7Qsiwg0LjQvNC10Y7RidC40YXRgdGPINC90LAg0YDRi9C90LrQtSDR gtGA0YPQtNCwINCyINC90LDRgdGC0L7Rj9GJ0LXQtSDQstGA0LXQvNGPLg0K0J3Q sNGI0Lgg0LrQvtC+0YDQtNC40L3QsNGC0Ys6NjEwMDIsINCj0LrRgNCw0LjQvdCw LCDQsy7QpdCw0YDRjNC60L7Qsiwg0YPQuy4g0KfQtdGA0L3Ri9GI0LXQstGB0LrQ vtCz0L4sIDM0LCDQvtGE0LjRgSAzMi800YLQtdC7LiAoMDU3KSA3NTktNTQ4MSwg KDA2NykgNTc4LTc3MDcgKFZpYmVyLCBUZWxlZ3JhbSnCoNGC0LXQuy4gKDA0NCkg MjIxLTE1LTIwU2t5cGU6IGtoYXJrb3ZwZXJzb25hbGh0dHA6Ly9raGFya292cmVj cnVpdGluZy5jb21FbWFpbDogb2ZmaWNlQGtoYXJrb3ZyZWNydWl0aW5nLmNvbSAN CsKgDQrQp9GC0L7QsdGLINC+0YLQv9C40YHQsNGC0YzCoNCy0LDRiCDQsNC00YDQ tdGBOsKgc3ZuLXNyYy1hbGxAZnJlZWJzZC5vcmcg0L7RgiDRgNCw0YHRgdGL0LvQ utC4INCy0YvRiNC70LjRgtC1INC/0LjRgdGM0LzQviDQvdCwINCw0LTRgNC10YEg c2VuZEBraGFya292cmVjcnVpdGluZy5uZXQg0YEg0YLQtdC80L7QuTogRGVsP3N2 bi1zcmMtYWxsQGZyZWVic2Qub3Jn From owner-svn-src-all@freebsd.org Wed Aug 19 12:47:05 2020 Return-Path: Delivered-To: svn-src-all@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 F207B3BDC0F; Wed, 19 Aug 2020 12:47:05 +0000 (UTC) (envelope-from 0mp@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 4BWnbs66Qvz3VM9; Wed, 19 Aug 2020 12:47:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B5F54230DE; Wed, 19 Aug 2020 12:47:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JCl5dc034089; Wed, 19 Aug 2020 12:47:05 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JCl5VA034088; Wed, 19 Aug 2020 12:47:05 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008191247.07JCl5VA034088@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 19 Aug 2020 12:47:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364384 - stable/12/sbin/bectl X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/sbin/bectl X-SVN-Commit-Revision: 364384 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 12:47:06 -0000 Author: 0mp (doc,ports committer) Date: Wed Aug 19 12:47:05 2020 New Revision: 364384 URL: https://svnweb.freebsd.org/changeset/base/364384 Log: MFC 364294, 364295: - Remove an unnecessary macro - Comment out TODO notes from bectl(8) manual page Modified: stable/12/sbin/bectl/bectl.8 Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/bectl/bectl.8 ============================================================================== --- stable/12/sbin/bectl/bectl.8 Wed Aug 19 12:26:23 2020 (r364383) +++ stable/12/sbin/bectl/bectl.8 Wed Aug 19 12:47:05 2020 (r364384) @@ -17,7 +17,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 18, 2020 +.Dd August 17, 2020 .Dt BECTL 8 .Os .Sh NAME @@ -102,7 +102,7 @@ Activate the given .Ar beName as the default boot filesystem. If the -.Op Fl t +.Fl t flag is given, this takes effect only for the next boot. .It Xo .Cm check @@ -337,11 +337,11 @@ prints usage information if or .Fl \&? is specified. -.Sh EXAMPLES -.Bl -bullet -.It -To fill in with jail upgrade example when behavior is firm. -.El +\" .Sh EXAMPLES +\" .Bl -bullet +\" .It +\" To fill in with jail upgrade example when behavior is firm. +\" .El .Sh SEE ALSO .Xr libbe 3 , .Xr beinstall.sh 8 , From owner-svn-src-all@freebsd.org Wed Aug 19 12:51:13 2020 Return-Path: Delivered-To: svn-src-all@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 C7A573BDD21; Wed, 19 Aug 2020 12:51:13 +0000 (UTC) (envelope-from 0mp@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 4BWnhd4vt9z3W8C; Wed, 19 Aug 2020 12:51:13 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8BBAA23200; Wed, 19 Aug 2020 12:51:13 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JCpDDl034338; Wed, 19 Aug 2020 12:51:13 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JCpDo7034337; Wed, 19 Aug 2020 12:51:13 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008191251.07JCpDo7034337@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 19 Aug 2020 12:51:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r364385 - stable/11/sbin/bectl X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/sbin/bectl X-SVN-Commit-Revision: 364385 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 12:51:13 -0000 Author: 0mp (doc,ports committer) Date: Wed Aug 19 12:51:13 2020 New Revision: 364385 URL: https://svnweb.freebsd.org/changeset/base/364385 Log: MFC 364294, 364295: - Remove an unnecessary macro - Comment out TODO notes from bectl(8) manual page Modified: stable/11/sbin/bectl/bectl.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/bectl/bectl.8 ============================================================================== --- stable/11/sbin/bectl/bectl.8 Wed Aug 19 12:47:05 2020 (r364384) +++ stable/11/sbin/bectl/bectl.8 Wed Aug 19 12:51:13 2020 (r364385) @@ -17,7 +17,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 11, 2019 +.Dd August 17, 2020 .Dt BECTL 8 .Os .Sh NAME @@ -102,7 +102,7 @@ Activate the given .Ar beName as the default boot filesystem. If the -.Op Fl t +.Fl t flag is given, this takes effect only for the next boot. .It Xo .Cm check @@ -337,11 +337,11 @@ prints usage information if or .Fl \&? is specified. -.Sh EXAMPLES -.Bl -bullet -.It -To fill in with jail upgrade example when behavior is firm. -.El +\" .Sh EXAMPLES +\" .Bl -bullet +\" .It +\" To fill in with jail upgrade example when behavior is firm. +\" .El .Sh SEE ALSO .Xr beinstall.sh 1 , .Xr libbe 3 , From owner-svn-src-all@freebsd.org Wed Aug 19 13:07:06 2020 Return-Path: Delivered-To: svn-src-all@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 1FE3B3BE2D1; Wed, 19 Aug 2020 13:07:06 +0000 (UTC) (envelope-from hselasky@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 4BWp2y01mJz3X6R; Wed, 19 Aug 2020 13:07:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D7C8323511; Wed, 19 Aug 2020 13:07:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JD754t046813; Wed, 19 Aug 2020 13:07:05 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JD74oO046808; Wed, 19 Aug 2020 13:07:04 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191307.07JD74oO046808@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 13:07:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364386 - in stable/12/sys: dev/hwpmc kern netinet netinet6 sys X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in stable/12/sys: dev/hwpmc kern netinet netinet6 sys X-SVN-Commit-Revision: 364386 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 13:07:06 -0000 Author: hselasky Date: Wed Aug 19 13:07:04 2020 New Revision: 364386 URL: https://svnweb.freebsd.org/changeset/base/364386 Log: MFC r359438 and r359477: Remove the "config" taskqgroup and its KPIs. Equivalent functionality is already provided by taskqueue(9), just use that instead. Interfaces may be detached from a taskqueue_thread task, for example by prison_complete(), so after r359438, when draining the queue we may end up deadlocking. Modified: stable/12/sys/dev/hwpmc/hwpmc_mod.c stable/12/sys/kern/subr_gtaskqueue.c stable/12/sys/netinet/in_mcast.c stable/12/sys/netinet6/in6_mcast.c stable/12/sys/sys/gtaskqueue.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/hwpmc/hwpmc_mod.c ============================================================================== --- stable/12/sys/dev/hwpmc/hwpmc_mod.c Wed Aug 19 12:51:13 2020 (r364385) +++ stable/12/sys/dev/hwpmc/hwpmc_mod.c Wed Aug 19 13:07:04 2020 (r364386) @@ -36,9 +36,9 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include -#include #include #include #include @@ -63,7 +63,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include /* needs to be after */ @@ -187,7 +187,7 @@ static int pmc_threadfreelist_entries=0; /* * Task to free thread descriptors */ -static struct grouptask free_gtask; +static struct task free_task; /* * A map of row indices to classdep structures. @@ -2411,15 +2411,15 @@ pmc_thread_descriptor_pool_free(struct pmc_thread *pt) LIST_INSERT_HEAD(&pmc_threadfreelist, pt, pt_next); pmc_threadfreelist_entries++; if (pmc_threadfreelist_entries > pmc_threadfreelist_max) - GROUPTASK_ENQUEUE(&free_gtask); + taskqueue_enqueue(taskqueue_fast, &free_task); mtx_unlock_spin(&pmc_threadfreelist_mtx); } /* - * A callout to manage the free list. + * An asynchronous task to manage the free list. */ static void -pmc_thread_descriptor_pool_free_task(void *arg __unused) +pmc_thread_descriptor_pool_free_task(void *arg __unused, int pending __unused) { struct pmc_thread *pt; LIST_HEAD(, pmc_thread) tmplist; @@ -5715,11 +5715,8 @@ pmc_initialize(void) mtx_init(&pmc_threadfreelist_mtx, "pmc-threadfreelist", "pmc-leaf", MTX_SPIN); - /* - * Initialize the callout to monitor the thread free list. - * This callout will also handle the initial population of the list. - */ - taskqgroup_config_gtask_init(NULL, &free_gtask, pmc_thread_descriptor_pool_free_task, "thread descriptor pool free task"); + /* Initialize the task to prune the thread free list. */ + TASK_INIT(&free_task, 0, pmc_thread_descriptor_pool_free_task, NULL); /* register process {exit,fork,exec} handlers */ pmc_exit_tag = EVENTHANDLER_REGISTER(process_exit, @@ -5818,6 +5815,7 @@ pmc_cleanup(void) } /* reclaim allocated data structures */ + taskqueue_drain(taskqueue_fast, &free_task); mtx_destroy(&pmc_threadfreelist_mtx); pmc_thread_descriptor_pool_drain(); @@ -5825,7 +5823,6 @@ pmc_cleanup(void) mtx_pool_destroy(&pmc_mtxpool); mtx_destroy(&pmc_processhash_mtx); - taskqgroup_config_gtask_deinit(&free_gtask); if (pmc_processhash) { #ifdef HWPMC_DEBUG struct pmc_process *pp; Modified: stable/12/sys/kern/subr_gtaskqueue.c ============================================================================== --- stable/12/sys/kern/subr_gtaskqueue.c Wed Aug 19 12:51:13 2020 (r364385) +++ stable/12/sys/kern/subr_gtaskqueue.c Wed Aug 19 13:07:04 2020 (r364386) @@ -55,7 +55,6 @@ static int task_is_running(struct gtaskqueue *queue, s static void gtaskqueue_drain_locked(struct gtaskqueue *queue, struct gtask *gtask); TASKQGROUP_DEFINE(softirq, mp_ncpus, 1); -TASKQGROUP_DEFINE(config, 1, 1); struct gtaskqueue_busy { struct gtask *tb_running; @@ -891,24 +890,6 @@ taskqgroup_bind(struct taskqgroup *qgroup) } } -static void -taskqgroup_config_init(void *arg) -{ - struct taskqgroup *qgroup = qgroup_config; - LIST_HEAD(, grouptask) gtask_head = LIST_HEAD_INITIALIZER(NULL); - - LIST_SWAP(>ask_head, &qgroup->tqg_queue[0].tgc_tasks, - grouptask, gt_list); - qgroup->tqg_queue[0].tgc_cnt = 0; - taskqgroup_cpu_create(qgroup, 0, 0); - - qgroup->tqg_cnt = 1; - qgroup->tqg_stride = 1; -} - -SYSINIT(taskqgroup_config_init, SI_SUB_TASKQ, SI_ORDER_SECOND, - taskqgroup_config_init, NULL); - static int _taskqgroup_adjust(struct taskqgroup *qgroup, int cnt, int stride) { @@ -1028,21 +1009,5 @@ taskqgroup_create(const char *name) void taskqgroup_destroy(struct taskqgroup *qgroup) { - } -void -taskqgroup_config_gtask_init(void *ctx, struct grouptask *gtask, gtask_fn_t *fn, - const char *name) -{ - - GROUPTASK_INIT(gtask, 0, fn, ctx); - taskqgroup_attach(qgroup_config, gtask, gtask, -1, name); -} - -void -taskqgroup_config_gtask_deinit(struct grouptask *gtask) -{ - - taskqgroup_detach(qgroup_config, gtask); -} Modified: stable/12/sys/netinet/in_mcast.c ============================================================================== --- stable/12/sys/netinet/in_mcast.c Wed Aug 19 12:51:13 2020 (r364385) +++ stable/12/sys/netinet/in_mcast.c Wed Aug 19 13:07:04 2020 (r364386) @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include @@ -223,24 +222,17 @@ inm_is_ifp_detached(const struct in_multi *inm) } #endif -static struct grouptask free_gtask; -static struct in_multi_head inm_free_list; -static void inm_release_task(void *arg __unused); -static void inm_init(void) +static struct task free_task; +static struct in_multi_head inm_free_list = SLIST_HEAD_INITIALIZER(); +static void inm_release_task(void *arg __unused, int pending __unused); + +static void +inm_init(void) { - SLIST_INIT(&inm_free_list); - taskqgroup_config_gtask_init(NULL, &free_gtask, inm_release_task, "inm release task"); + TASK_INIT(&free_task, 0, inm_release_task, NULL); } +SYSINIT(inm_init, SI_SUB_TASKQ, SI_ORDER_ANY, inm_init, NULL); -#ifdef EARLY_AP_STARTUP -SYSINIT(inm_init, SI_SUB_SMP + 1, SI_ORDER_FIRST, - inm_init, NULL); -#else -SYSINIT(inm_init, SI_SUB_ROOT_CONF - 1, SI_ORDER_FIRST, - inm_init, NULL); -#endif - - void inm_release_list_deferred(struct in_multi_head *inmh) { @@ -250,7 +242,7 @@ inm_release_list_deferred(struct in_multi_head *inmh) mtx_lock(&in_multi_free_mtx); SLIST_CONCAT(&inm_free_list, inmh, in_multi, inm_nrele); mtx_unlock(&in_multi_free_mtx); - GROUPTASK_ENQUEUE(&free_gtask); + taskqueue_enqueue(taskqueue_thread, &free_task); } void @@ -303,7 +295,7 @@ inm_release_deferred(struct in_multi *inm) } static void -inm_release_task(void *arg __unused) +inm_release_task(void *arg __unused, int pending __unused) { struct in_multi_head inm_free_tmp; struct in_multi *inm, *tinm; Modified: stable/12/sys/netinet6/in6_mcast.c ============================================================================== --- stable/12/sys/netinet6/in6_mcast.c Wed Aug 19 12:51:13 2020 (r364385) +++ stable/12/sys/netinet6/in6_mcast.c Wed Aug 19 13:07:04 2020 (r364386) @@ -41,8 +41,8 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include +#include #include #include #include @@ -50,7 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include @@ -59,7 +59,6 @@ __FBSDID("$FreeBSD$"); #include #include - #include #include #include @@ -510,24 +509,22 @@ in6m_release(struct in6_multi *inm) } } -static struct grouptask free_gtask; -static struct in6_multi_head in6m_free_list; -static void in6m_release_task(void *arg __unused); -static void in6m_init(void) +/* + * Interface detach can happen in a taskqueue thread context, so we must use a + * dedicated thread to avoid deadlocks when draining in6m_release tasks. + */ +TASKQUEUE_DEFINE_THREAD(in6m_free); +static struct task in6m_free_task; +static struct in6_multi_head in6m_free_list = SLIST_HEAD_INITIALIZER(); +static void in6m_release_task(void *arg __unused, int pending __unused); + +static void +in6m_init(void) { - SLIST_INIT(&in6m_free_list); - taskqgroup_config_gtask_init(NULL, &free_gtask, in6m_release_task, "in6m release task"); + TASK_INIT(&in6m_free_task, 0, in6m_release_task, NULL); } +SYSINIT(in6m_init, SI_SUB_TASKQ, SI_ORDER_ANY, in6m_init, NULL); -#ifdef EARLY_AP_STARTUP -SYSINIT(in6m_init, SI_SUB_SMP + 1, SI_ORDER_FIRST, - in6m_init, NULL); -#else -SYSINIT(in6m_init, SI_SUB_ROOT_CONF - 1, SI_ORDER_SECOND, - in6m_init, NULL); -#endif - - void in6m_release_list_deferred(struct in6_multi_head *inmh) { @@ -536,15 +533,13 @@ in6m_release_list_deferred(struct in6_multi_head *inmh mtx_lock(&in6_multi_free_mtx); SLIST_CONCAT(&in6m_free_list, inmh, in6_multi, in6m_nrele); mtx_unlock(&in6_multi_free_mtx); - GROUPTASK_ENQUEUE(&free_gtask); + taskqueue_enqueue(taskqueue_in6m_free, &in6m_free_task); } void in6m_release_wait(void) { - - /* Wait for all jobs to complete. */ - gtaskqueue_drain_all(free_gtask.gt_taskqueue); + taskqueue_drain_all(taskqueue_in6m_free); } void @@ -604,7 +599,7 @@ in6m_disconnect_locked(struct in6_multi_head *inmh, st } static void -in6m_release_task(void *arg __unused) +in6m_release_task(void *arg __unused, int pending __unused) { struct in6_multi_head in6m_free_tmp; struct in6_multi *inm, *tinm; Modified: stable/12/sys/sys/gtaskqueue.h ============================================================================== --- stable/12/sys/sys/gtaskqueue.h Wed Aug 19 12:51:13 2020 (r364385) +++ stable/12/sys/sys/gtaskqueue.h Wed Aug 19 13:07:04 2020 (r364386) @@ -64,9 +64,6 @@ void taskqgroup_detach(struct taskqgroup *qgroup, stru struct taskqgroup *taskqgroup_create(const char *name); void taskqgroup_destroy(struct taskqgroup *qgroup); int taskqgroup_adjust(struct taskqgroup *qgroup, int cnt, int stride); -void taskqgroup_config_gtask_init(void *ctx, struct grouptask *gtask, - gtask_fn_t *fn, const char *name); -void taskqgroup_config_gtask_deinit(struct grouptask *gtask); #define TASK_ENQUEUED 0x1 #define TASK_SKIP_WAKEUP 0x2 From owner-svn-src-all@freebsd.org Wed Aug 19 13:09:32 2020 Return-Path: Delivered-To: svn-src-all@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 8E23D3BE50D; Wed, 19 Aug 2020 13:09:32 +0000 (UTC) (envelope-from 0mp@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 4BWp5m3Bk0z3XDX; Wed, 19 Aug 2020 13:09:32 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4CEAA232A8; Wed, 19 Aug 2020 13:09:32 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JD9W5R046972; Wed, 19 Aug 2020 13:09:32 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JD9VvK046971; Wed, 19 Aug 2020 13:09:31 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008191309.07JD9VvK046971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 19 Aug 2020 13:09:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364387 - head/share/man/man7 X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/share/man/man7 X-SVN-Commit-Revision: 364387 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 13:09:32 -0000 Author: 0mp (doc,ports committer) Date: Wed Aug 19 13:09:31 2020 New Revision: 364387 URL: https://svnweb.freebsd.org/changeset/base/364387 Log: Cross-reference development.7 and tests.7 MFC after: 7 days Modified: head/share/man/man7/development.7 head/share/man/man7/tests.7 Modified: head/share/man/man7/development.7 ============================================================================== --- head/share/man/man7/development.7 Wed Aug 19 13:07:04 2020 (r364386) +++ head/share/man/man7/development.7 Wed Aug 19 13:09:31 2020 (r364387) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 23, 2020 +.Dd August 19, 2020 .Dt DEVELOPMENT 7 .Os .Sh NAME @@ -173,6 +173,7 @@ make -sj8 kernel KERNFAST=1 DESTDIR=/clients/arm .Xr hier 7 , .Xr ports 7 , .Xr release 7 , +.Xr tests 7 , .Xr locking 9 , .Xr style 9 .Sh HISTORY Modified: head/share/man/man7/tests.7 ============================================================================== --- head/share/man/man7/tests.7 Wed Aug 19 13:07:04 2020 (r364386) +++ head/share/man/man7/tests.7 Wed Aug 19 13:09:31 2020 (r364387) @@ -26,7 +26,7 @@ .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 25, 2020 +.Dd August 19, 2020 .Dt TESTS 7 .Os .Sh NAME @@ -217,7 +217,8 @@ Top-level test suite definition file. .Sh SEE ALSO .Xr kyua 1 , .Xr atf 7 , -.Xr build 7 +.Xr build 7 , +.Xr development 7 .Sh HISTORY The .Fx From owner-svn-src-all@freebsd.org Wed Aug 19 13:23:54 2020 Return-Path: Delivered-To: svn-src-all@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 51BE93BE774; Wed, 19 Aug 2020 13:23:54 +0000 (UTC) (envelope-from hselasky@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 4BWpQL1Nk0z3Y8C; Wed, 19 Aug 2020 13:23:54 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 12CFC23894; Wed, 19 Aug 2020 13:23:54 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JDNrUu059228; Wed, 19 Aug 2020 13:23:53 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JDNqOv059222; Wed, 19 Aug 2020 13:23:52 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191323.07JDNqOv059222@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 13:23:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364388 - in stable/12/sys: netinet netinet6 X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in stable/12/sys: netinet netinet6 X-SVN-Commit-Revision: 364388 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 13:23:54 -0000 Author: hselasky Date: Wed Aug 19 13:23:52 2020 New Revision: 364388 URL: https://svnweb.freebsd.org/changeset/base/364388 Log: MFC r364072, r364073 and r364102: Use proper prototype for SYSINIT() functions. Mark the unused argument using the __unused macro. Make sure the multicast release tasks are properly drained when destroying a VNET or a network interface. Else the inm release tasks, both IPv4 and IPv6 may cause a panic accessing a freed VNET or network interface. Use a static initializer for the multicast free tasks. This makes the SYSINIT() function updated in r364072 superfluous. Differential Revision: https://reviews.freebsd.org/D24914 Sponsored by: Mellanox Technologies Modified: stable/12/sys/netinet/in.c stable/12/sys/netinet/in_mcast.c stable/12/sys/netinet/in_var.h stable/12/sys/netinet6/in6_ifattach.c stable/12/sys/netinet6/in6_mcast.c stable/12/sys/netinet6/in6_var.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netinet/in.c ============================================================================== --- stable/12/sys/netinet/in.c Wed Aug 19 13:09:31 2020 (r364387) +++ stable/12/sys/netinet/in.c Wed Aug 19 13:23:52 2020 (r364388) @@ -998,6 +998,13 @@ in_ifdetach(struct ifnet *ifp) in_pcbpurgeif0(&V_ulitecbinfo, ifp); in_purgemaddrs(ifp); IN_MULTI_UNLOCK(); + + /* + * Make sure all multicast deletions invoking if_ioctl() are + * completed before returning. Else we risk accessing a freed + * ifnet structure pointer. + */ + inm_release_wait(NULL); } /* Modified: stable/12/sys/netinet/in_mcast.c ============================================================================== --- stable/12/sys/netinet/in_mcast.c Wed Aug 19 13:09:31 2020 (r364387) +++ stable/12/sys/netinet/in_mcast.c Wed Aug 19 13:23:52 2020 (r364388) @@ -222,16 +222,28 @@ inm_is_ifp_detached(const struct in_multi *inm) } #endif -static struct task free_task; +/* + * Interface detach can happen in a taskqueue thread context, so we must use a + * dedicated thread to avoid deadlocks when draining inm_release tasks. + */ +TASKQUEUE_DEFINE_THREAD(inm_free); static struct in_multi_head inm_free_list = SLIST_HEAD_INITIALIZER(); static void inm_release_task(void *arg __unused, int pending __unused); +static struct task inm_free_task = TASK_INITIALIZER(0, inm_release_task, NULL); -static void -inm_init(void) +void +inm_release_wait(void *arg __unused) { - TASK_INIT(&free_task, 0, inm_release_task, NULL); + + /* + * Make sure all pending multicast addresses are freed before + * the VNET or network device is destroyed: + */ + taskqueue_drain(taskqueue_inm_free, &inm_free_task); } -SYSINIT(inm_init, SI_SUB_TASKQ, SI_ORDER_ANY, inm_init, NULL); +#ifdef VIMAGE +VNET_SYSUNINIT(inm_release_wait, SI_SUB_PROTO_DOMAIN, SI_ORDER_FIRST, inm_release_wait, NULL); +#endif void inm_release_list_deferred(struct in_multi_head *inmh) @@ -242,7 +254,7 @@ inm_release_list_deferred(struct in_multi_head *inmh) mtx_lock(&in_multi_free_mtx); SLIST_CONCAT(&inm_free_list, inmh, in_multi, inm_nrele); mtx_unlock(&in_multi_free_mtx); - taskqueue_enqueue(taskqueue_thread, &free_task); + taskqueue_enqueue(taskqueue_inm_free, &inm_free_task); } void Modified: stable/12/sys/netinet/in_var.h ============================================================================== --- stable/12/sys/netinet/in_var.h Wed Aug 19 13:09:31 2020 (r364387) +++ stable/12/sys/netinet/in_var.h Wed Aug 19 13:23:52 2020 (r364388) @@ -449,6 +449,7 @@ void inm_print(const struct in_multi *); int inm_record_source(struct in_multi *inm, const in_addr_t); void inm_release_deferred(struct in_multi *); void inm_release_list_deferred(struct in_multi_head *); +void inm_release_wait(void *); struct in_multi * in_addmulti(struct in_addr *, struct ifnet *); int in_joingroup(struct ifnet *, const struct in_addr *, Modified: stable/12/sys/netinet6/in6_ifattach.c ============================================================================== --- stable/12/sys/netinet6/in6_ifattach.c Wed Aug 19 13:09:31 2020 (r364387) +++ stable/12/sys/netinet6/in6_ifattach.c Wed Aug 19 13:23:52 2020 (r364388) @@ -878,7 +878,7 @@ in6_purgemaddrs(struct ifnet *ifp) * completed before returning. Else we risk accessing a freed * ifnet structure pointer. */ - in6m_release_wait(); + in6m_release_wait(NULL); } void Modified: stable/12/sys/netinet6/in6_mcast.c ============================================================================== --- stable/12/sys/netinet6/in6_mcast.c Wed Aug 19 13:09:31 2020 (r364387) +++ stable/12/sys/netinet6/in6_mcast.c Wed Aug 19 13:23:52 2020 (r364388) @@ -514,17 +514,10 @@ in6m_release(struct in6_multi *inm) * dedicated thread to avoid deadlocks when draining in6m_release tasks. */ TASKQUEUE_DEFINE_THREAD(in6m_free); -static struct task in6m_free_task; static struct in6_multi_head in6m_free_list = SLIST_HEAD_INITIALIZER(); static void in6m_release_task(void *arg __unused, int pending __unused); +static struct task in6m_free_task = TASK_INITIALIZER(0, in6m_release_task, NULL); -static void -in6m_init(void) -{ - TASK_INIT(&in6m_free_task, 0, in6m_release_task, NULL); -} -SYSINIT(in6m_init, SI_SUB_TASKQ, SI_ORDER_ANY, in6m_init, NULL); - void in6m_release_list_deferred(struct in6_multi_head *inmh) { @@ -537,10 +530,18 @@ in6m_release_list_deferred(struct in6_multi_head *inmh } void -in6m_release_wait(void) +in6m_release_wait(void *arg __unused) { + + /* + * Make sure all pending multicast addresses are freed before + * the VNET or network device is destroyed: + */ taskqueue_drain_all(taskqueue_in6m_free); } +#ifdef VIMAGE +VNET_SYSUNINIT(in6m_release_wait, SI_SUB_PROTO_DOMAIN, SI_ORDER_FIRST, in6m_release_wait, NULL); +#endif void in6m_disconnect_locked(struct in6_multi_head *inmh, struct in6_multi *inm) Modified: stable/12/sys/netinet6/in6_var.h ============================================================================== --- stable/12/sys/netinet6/in6_var.h Wed Aug 19 13:09:31 2020 (r364387) +++ stable/12/sys/netinet6/in6_var.h Wed Aug 19 13:23:52 2020 (r364388) @@ -868,7 +868,7 @@ void in6m_commit(struct in6_multi *); void in6m_print(const struct in6_multi *); int in6m_record_source(struct in6_multi *, const struct in6_addr *); void in6m_release_list_deferred(struct in6_multi_head *); -void in6m_release_wait(void); +void in6m_release_wait(void *); void ip6_freemoptions(struct ip6_moptions *); int ip6_getmoptions(struct inpcb *, struct sockopt *); int ip6_setmoptions(struct inpcb *, struct sockopt *); From owner-svn-src-all@freebsd.org Wed Aug 19 13:28:50 2020 Return-Path: Delivered-To: svn-src-all@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 B11783BE86A; Wed, 19 Aug 2020 13:28:50 +0000 (UTC) (envelope-from hselasky@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 4BWpX24Gs6z3YVv; Wed, 19 Aug 2020 13:28:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 75EFC2366B; Wed, 19 Aug 2020 13:28:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JDSonW059498; Wed, 19 Aug 2020 13:28:50 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JDSo4k059497; Wed, 19 Aug 2020 13:28:50 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191328.07JDSo4k059497@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 13:28:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364389 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 364389 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 13:28:50 -0000 Author: hselasky Date: Wed Aug 19 13:28:50 2020 New Revision: 364389 URL: https://svnweb.freebsd.org/changeset/base/364389 Log: Fix for INVARIANTS build. The "name" argument is not present in the EPOCH(9) APIs in 12-stable as merged in r364381 . This is a direct commit. Sponsored by: Mellanox Technologies Modified: stable/12/sys/kern/subr_epoch.c Modified: stable/12/sys/kern/subr_epoch.c ============================================================================== --- stable/12/sys/kern/subr_epoch.c Wed Aug 19 13:23:52 2020 (r364388) +++ stable/12/sys/kern/subr_epoch.c Wed Aug 19 13:28:50 2020 (r364389) @@ -208,8 +208,6 @@ epoch_alloc(int flags) epoch_t epoch; int i; - MPASS(name != NULL); - if (__predict_false(!inited)) panic("%s called too early in boot", __func__); From owner-svn-src-all@freebsd.org Wed Aug 19 13:32:56 2020 Return-Path: Delivered-To: svn-src-all@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 C8AB63BF023; Wed, 19 Aug 2020 13:32:56 +0000 (UTC) (envelope-from hselasky@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 4BWpcm4ZmJz3YwT; Wed, 19 Aug 2020 13:32:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 80837238BD; Wed, 19 Aug 2020 13:32:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JDWuA8065516; Wed, 19 Aug 2020 13:32:56 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JDWtwK065514; Wed, 19 Aug 2020 13:32:55 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191332.07JDWtwK065514@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 13:32:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364390 - in stable/12/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src sys X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in stable/12/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src sys X-SVN-Commit-Revision: 364390 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 13:32:56 -0000 Author: hselasky Date: Wed Aug 19 13:32:55 2020 New Revision: 364390 URL: https://svnweb.freebsd.org/changeset/base/364390 Log: MFC r364109: Need to clone the task struct fields related to RCU aswell in the LinuxKPI after r359727. This fixes a minor regression issue. Else the priority tracking won't work properly when both sleepable and non-sleepable RCU is in use on the same thread. Bump the __FreeBSD_version to force recompilation of external kernel modules. PR: 242272 Sponsored by: Mellanox Technologies Modified: stable/12/sys/compat/linuxkpi/common/include/linux/sched.h stable/12/sys/compat/linuxkpi/common/src/linux_rcu.c stable/12/sys/sys/param.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/compat/linuxkpi/common/include/linux/sched.h ============================================================================== --- stable/12/sys/compat/linuxkpi/common/include/linux/sched.h Wed Aug 19 13:28:50 2020 (r364389) +++ stable/12/sys/compat/linuxkpi/common/include/linux/sched.h Wed Aug 19 13:32:55 2020 (r364390) @@ -76,8 +76,9 @@ struct task_struct { unsigned bsd_ioctl_len; struct completion parked; struct completion exited; - TAILQ_ENTRY(task_struct) rcu_entry; - int rcu_recurse; +#define TS_RCU_TYPE_MAX 2 + TAILQ_ENTRY(task_struct) rcu_entry[TS_RCU_TYPE_MAX]; + int rcu_recurse[TS_RCU_TYPE_MAX]; int bsd_interrupt_value; struct work_struct *work; /* current work struct, if set */ struct task_struct *group_leader; Modified: stable/12/sys/compat/linuxkpi/common/src/linux_rcu.c ============================================================================== --- stable/12/sys/compat/linuxkpi/common/src/linux_rcu.c Wed Aug 19 13:28:50 2020 (r364389) +++ stable/12/sys/compat/linuxkpi/common/src/linux_rcu.c Wed Aug 19 13:32:55 2020 (r364390) @@ -74,6 +74,7 @@ struct linux_epoch_record { ck_epoch_record_t epoch_record; TAILQ_HEAD(, task_struct) ts_head; int cpuid; + int type; } __aligned(CACHE_LINE_SIZE); /* @@ -90,6 +91,8 @@ CTASSERT(sizeof(struct rcu_head) == sizeof(struct call */ CTASSERT(offsetof(struct linux_epoch_record, epoch_record) == 0); +CTASSERT(TS_RCU_TYPE_MAX == RCU_TYPE_MAX); + static ck_epoch_t linux_epoch[RCU_TYPE_MAX]; static struct linux_epoch_head linux_epoch_head[RCU_TYPE_MAX]; DPCPU_DEFINE_STATIC(struct linux_epoch_record, linux_epoch_record[RCU_TYPE_MAX]); @@ -118,6 +121,7 @@ linux_rcu_runtime_init(void *arg __unused) record = &DPCPU_ID_GET(i, linux_epoch_record[j]); record->cpuid = i; + record->type = j; ck_epoch_register(&linux_epoch[j], &record->epoch_record, NULL); TAILQ_INIT(&record->ts_head); @@ -201,9 +205,9 @@ linux_rcu_read_lock(unsigned type) */ critical_enter(); ck_epoch_begin(&record->epoch_record, NULL); - ts->rcu_recurse++; - if (ts->rcu_recurse == 1) - TAILQ_INSERT_TAIL(&record->ts_head, ts, rcu_entry); + ts->rcu_recurse[type]++; + if (ts->rcu_recurse[type] == 1) + TAILQ_INSERT_TAIL(&record->ts_head, ts, rcu_entry[type]); critical_exit(); } @@ -227,9 +231,9 @@ linux_rcu_read_unlock(unsigned type) */ critical_enter(); ck_epoch_end(&record->epoch_record, NULL); - ts->rcu_recurse--; - if (ts->rcu_recurse == 0) - TAILQ_REMOVE(&record->ts_head, ts, rcu_entry); + ts->rcu_recurse[type]--; + if (ts->rcu_recurse[type] == 0) + TAILQ_REMOVE(&record->ts_head, ts, rcu_entry[type]); critical_exit(); sched_unpin(); @@ -254,7 +258,7 @@ linux_synchronize_rcu_cb(ck_epoch_t *epoch __unused, c * the threads in the queue are CPU-pinned and cannot * go anywhere while the current thread is locked. */ - TAILQ_FOREACH(ts, &record->ts_head, rcu_entry) { + TAILQ_FOREACH(ts, &record->ts_head, rcu_entry[record->type]) { if (ts->task_thread->td_priority > prio) prio = ts->task_thread->td_priority; is_sleeping |= (ts->task_thread->td_inhibitors != 0); Modified: stable/12/sys/sys/param.h ============================================================================== --- stable/12/sys/sys/param.h Wed Aug 19 13:28:50 2020 (r364389) +++ stable/12/sys/sys/param.h Wed Aug 19 13:32:55 2020 (r364390) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1201522 /* Master, propagated to newvers */ +#define __FreeBSD_version 1201523 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Wed Aug 19 13:35:33 2020 Return-Path: Delivered-To: svn-src-all@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 3506B3BF210; Wed, 19 Aug 2020 13:35:33 +0000 (UTC) (envelope-from hselasky@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 4BWpgn0gN3z3ZP5; Wed, 19 Aug 2020 13:35:33 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EB54A22F70; Wed, 19 Aug 2020 13:35:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JDZWXa065758; Wed, 19 Aug 2020 13:35:32 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JDZW4f065756; Wed, 19 Aug 2020 13:35:32 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008191335.07JDZW4f065756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 19 Aug 2020 13:35:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r364391 - in stable/11/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src sys X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in stable/11/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src sys X-SVN-Commit-Revision: 364391 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 13:35:33 -0000 Author: hselasky Date: Wed Aug 19 13:35:32 2020 New Revision: 364391 URL: https://svnweb.freebsd.org/changeset/base/364391 Log: MFC r364109: Need to clone the task struct fields related to RCU aswell in the LinuxKPI after r359727. This fixes a minor regression issue. Else the priority tracking won't work properly when both sleepable and non-sleepable RCU is in use on the same thread. Bump the __FreeBSD_version to force recompilation of external kernel modules. PR: 242272 Sponsored by: Mellanox Technologies Modified: stable/11/sys/compat/linuxkpi/common/include/linux/sched.h stable/11/sys/compat/linuxkpi/common/src/linux_rcu.c stable/11/sys/sys/param.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linuxkpi/common/include/linux/sched.h ============================================================================== --- stable/11/sys/compat/linuxkpi/common/include/linux/sched.h Wed Aug 19 13:32:55 2020 (r364390) +++ stable/11/sys/compat/linuxkpi/common/include/linux/sched.h Wed Aug 19 13:35:32 2020 (r364391) @@ -76,8 +76,9 @@ struct task_struct { unsigned bsd_ioctl_len; struct completion parked; struct completion exited; - TAILQ_ENTRY(task_struct) rcu_entry; - int rcu_recurse; +#define TS_RCU_TYPE_MAX 2 + TAILQ_ENTRY(task_struct) rcu_entry[TS_RCU_TYPE_MAX]; + int rcu_recurse[TS_RCU_TYPE_MAX]; int bsd_interrupt_value; struct work_struct *work; /* current work struct, if set */ }; Modified: stable/11/sys/compat/linuxkpi/common/src/linux_rcu.c ============================================================================== --- stable/11/sys/compat/linuxkpi/common/src/linux_rcu.c Wed Aug 19 13:32:55 2020 (r364390) +++ stable/11/sys/compat/linuxkpi/common/src/linux_rcu.c Wed Aug 19 13:35:32 2020 (r364391) @@ -74,6 +74,7 @@ struct linux_epoch_record { ck_epoch_record_t epoch_record; TAILQ_HEAD(, task_struct) ts_head; int cpuid; + int type; } __aligned(CACHE_LINE_SIZE); /* @@ -90,6 +91,8 @@ CTASSERT(sizeof(struct rcu_head) == sizeof(struct call */ CTASSERT(offsetof(struct linux_epoch_record, epoch_record) == 0); +CTASSERT(TS_RCU_TYPE_MAX == RCU_TYPE_MAX); + static ck_epoch_t linux_epoch[RCU_TYPE_MAX]; static struct linux_epoch_head linux_epoch_head[RCU_TYPE_MAX]; static DPCPU_DEFINE(struct linux_epoch_record, linux_epoch_record[RCU_TYPE_MAX]); @@ -118,6 +121,7 @@ linux_rcu_runtime_init(void *arg __unused) record = &DPCPU_ID_GET(i, linux_epoch_record[j]); record->cpuid = i; + record->type = j; ck_epoch_register(&linux_epoch[j], &record->epoch_record, NULL); TAILQ_INIT(&record->ts_head); @@ -201,9 +205,9 @@ linux_rcu_read_lock(unsigned type) */ critical_enter(); ck_epoch_begin(&record->epoch_record, NULL); - ts->rcu_recurse++; - if (ts->rcu_recurse == 1) - TAILQ_INSERT_TAIL(&record->ts_head, ts, rcu_entry); + ts->rcu_recurse[type]++; + if (ts->rcu_recurse[type] == 1) + TAILQ_INSERT_TAIL(&record->ts_head, ts, rcu_entry[type]); critical_exit(); } @@ -227,9 +231,9 @@ linux_rcu_read_unlock(unsigned type) */ critical_enter(); ck_epoch_end(&record->epoch_record, NULL); - ts->rcu_recurse--; - if (ts->rcu_recurse == 0) - TAILQ_REMOVE(&record->ts_head, ts, rcu_entry); + ts->rcu_recurse[type]--; + if (ts->rcu_recurse[type] == 0) + TAILQ_REMOVE(&record->ts_head, ts, rcu_entry[type]); critical_exit(); sched_unpin(); @@ -254,7 +258,7 @@ linux_synchronize_rcu_cb(ck_epoch_t *epoch __unused, c * the threads in the queue are CPU-pinned and cannot * go anywhere while the current thread is locked. */ - TAILQ_FOREACH(ts, &record->ts_head, rcu_entry) { + TAILQ_FOREACH(ts, &record->ts_head, rcu_entry[record->type]) { if (ts->task_thread->td_priority > prio) prio = ts->task_thread->td_priority; is_sleeping |= (ts->task_thread->td_inhibitors != 0); Modified: stable/11/sys/sys/param.h ============================================================================== --- stable/11/sys/sys/param.h Wed Aug 19 13:32:55 2020 (r364390) +++ stable/11/sys/sys/param.h Wed Aug 19 13:35:32 2020 (r364391) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1104504 /* Master, propagated to newvers */ +#define __FreeBSD_version 1104505 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Wed Aug 19 13:44:08 2020 Return-Path: Delivered-To: svn-src-all@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 D36A13BF341; Wed, 19 Aug 2020 13:44:08 +0000 (UTC) (envelope-from markj@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 4BWpsh5JfTz3Zd5; Wed, 19 Aug 2020 13:44:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9A36C23862; Wed, 19 Aug 2020 13:44:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JDi80M072124; Wed, 19 Aug 2020 13:44:08 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JDi8mT072123; Wed, 19 Aug 2020 13:44:08 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008191344.07JDi8mT072123@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Wed, 19 Aug 2020 13:44:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364392 - stable/12/sys/compat/linprocfs X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/compat/linprocfs X-SVN-Commit-Revision: 364392 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 13:44:08 -0000 Author: markj Date: Wed Aug 19 13:44:08 2020 New Revision: 364392 URL: https://svnweb.freebsd.org/changeset/base/364392 Log: MFC r364168: linprocfs: Fix some inaccuracies in meminfo. PR: 248463 Modified: stable/12/sys/compat/linprocfs/linprocfs.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/compat/linprocfs/linprocfs.c ============================================================================== --- stable/12/sys/compat/linprocfs/linprocfs.c Wed Aug 19 13:35:32 2020 (r364391) +++ stable/12/sys/compat/linprocfs/linprocfs.c Wed Aug 19 13:44:08 2020 (r364392) @@ -145,41 +145,35 @@ static int linprocfs_domeminfo(PFS_FILL_ARGS) { unsigned long memtotal; /* total memory in bytes */ - unsigned long memused; /* used memory in bytes */ unsigned long memfree; /* free memory in bytes */ - unsigned long buffers, cached; /* buffer / cache memory ??? */ + unsigned long cached; /* page cache */ + unsigned long buffers; /* buffer cache */ unsigned long long swaptotal; /* total swap space in bytes */ unsigned long long swapused; /* used swap space in bytes */ unsigned long long swapfree; /* free swap space in bytes */ - int i, j; + size_t sz; + int error, i, j; memtotal = physmem * PAGE_SIZE; - /* - * The correct thing here would be: - * - memfree = vm_free_count() * PAGE_SIZE; - memused = memtotal - memfree; - * - * but it might mislead linux binaries into thinking there - * is very little memory left, so we cheat and tell them that - * all memory that isn't wired down is free. - */ - memused = vm_wire_count() * PAGE_SIZE; - memfree = memtotal - memused; + memfree = (unsigned long)vm_free_count() * PAGE_SIZE; swap_pager_status(&i, &j); swaptotal = (unsigned long long)i * PAGE_SIZE; swapused = (unsigned long long)j * PAGE_SIZE; swapfree = swaptotal - swapused; + /* - * We'd love to be able to write: - * - buffers = bufspace; - * - * but bufspace is internal to vfs_bio.c and we don't feel - * like unstaticizing it just for linprocfs's sake. + * This value may exclude wired pages, but we have no good way of + * accounting for that. */ - buffers = 0; - cached = vm_inactive_count() * PAGE_SIZE; + cached = + (vm_active_count() + vm_inactive_count() + vm_laundry_count()) * + PAGE_SIZE; + + sz = sizeof(buffers); + error = kernel_sysctlbyname(curthread, "vfs.bufspace", &buffers, &sz, + NULL, 0, 0, 0); + if (error != 0) + buffers = 0; sbuf_printf(sb, "MemTotal: %9lu kB\n" From owner-svn-src-all@freebsd.org Wed Aug 19 14:11:26 2020 Return-Path: Delivered-To: svn-src-all@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 BA7E83BFE07; Wed, 19 Aug 2020 14:11:26 +0000 (UTC) (envelope-from andrew@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 4BWqTB4ZjCz3cJ5; Wed, 19 Aug 2020 14:11:26 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 80F6423DC3; Wed, 19 Aug 2020 14:11:26 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JEBQsZ086628; Wed, 19 Aug 2020 14:11:26 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JEBQk6086627; Wed, 19 Aug 2020 14:11:26 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202008191411.07JEBQk6086627@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 19 Aug 2020 14:11:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364393 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364393 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 14:11:26 -0000 Author: andrew Date: Wed Aug 19 14:11:25 2020 New Revision: 364393 URL: https://svnweb.freebsd.org/changeset/base/364393 Log: Mark COVERAGE and KCOV as part of KCSAN While not strictly true this stops them from trying to use the KCSAN atomic hooks and allows these to be compiled into the same kernel. Sponsored by: Innovate UK Modified: head/sys/kern/kern_kcov.c head/sys/kern/subr_coverage.c Modified: head/sys/kern/kern_kcov.c ============================================================================== --- head/sys/kern/kern_kcov.c Wed Aug 19 13:44:08 2020 (r364392) +++ head/sys/kern/kern_kcov.c Wed Aug 19 14:11:25 2020 (r364393) @@ -35,6 +35,8 @@ * $FreeBSD$ */ +#define KCSAN_RUNTIME + #include __FBSDID("$FreeBSD$"); Modified: head/sys/kern/subr_coverage.c ============================================================================== --- head/sys/kern/subr_coverage.c Wed Aug 19 13:44:08 2020 (r364392) +++ head/sys/kern/subr_coverage.c Wed Aug 19 14:11:25 2020 (r364393) @@ -35,6 +35,8 @@ * $FreeBSD$ */ +#define KCSAN_RUNTIME + #include __FBSDID("$FreeBSD$"); From owner-svn-src-all@freebsd.org Wed Aug 19 15:07:29 2020 Return-Path: Delivered-To: svn-src-all@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 1B4993C0CE1; Wed, 19 Aug 2020 15:07:29 +0000 (UTC) (envelope-from mjg@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 4BWrjr6ytgz3gRZ; Wed, 19 Aug 2020 15:07:28 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D25F124AFD; Wed, 19 Aug 2020 15:07:28 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JF7SjP022033; Wed, 19 Aug 2020 15:07:28 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JF7SVh022032; Wed, 19 Aug 2020 15:07:28 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008191507.07JF7SVh022032@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Wed, 19 Aug 2020 15:07:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364394 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364394 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 15:07:29 -0000 Author: mjg Date: Wed Aug 19 15:07:28 2020 New Revision: 364394 URL: https://svnweb.freebsd.org/changeset/base/364394 Log: cache: tidy up the comment above cache_prehash Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Wed Aug 19 14:11:25 2020 (r364393) +++ head/sys/kern/vfs_cache.c Wed Aug 19 15:07:28 2020 (r364394) @@ -513,7 +513,7 @@ cache_assert_vnode_locked(struct vnode *vp) /* * TODO: With the value stored we can do better than computing the hash based - * on the address and the choice of FNV should also be revisisted. + * on the address. The choice of FNV should also be revisited. */ static void cache_prehash(struct vnode *vp) From owner-svn-src-all@freebsd.org Wed Aug 19 15:08:15 2020 Return-Path: Delivered-To: svn-src-all@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 7A2553C0FE9; Wed, 19 Aug 2020 15:08:15 +0000 (UTC) (envelope-from mjg@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 4BWrkl2f40z3gVC; Wed, 19 Aug 2020 15:08:15 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3E1BE246EC; Wed, 19 Aug 2020 15:08:15 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JF8FFd022115; Wed, 19 Aug 2020 15:08:15 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JF8FJ7022114; Wed, 19 Aug 2020 15:08:15 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008191508.07JF8FJ7022114@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Wed, 19 Aug 2020 15:08:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364395 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364395 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 15:08:15 -0000 Author: mjg Date: Wed Aug 19 15:08:14 2020 New Revision: 364395 URL: https://svnweb.freebsd.org/changeset/base/364395 Log: cache: when adding an already existing entry assert on a complete match Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Wed Aug 19 15:07:28 2020 (r364394) +++ head/sys/kern/vfs_cache.c Wed Aug 19 15:08:14 2020 (r364395) @@ -1957,6 +1957,15 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, if (n2->nc_dvp == dvp && n2->nc_nlen == cnp->cn_namelen && !bcmp(n2->nc_name, cnp->cn_nameptr, n2->nc_nlen)) { + MPASS(cache_ncp_canuse(n2)); + if ((n2->nc_flag & NCF_NEGATIVE) != 0) + KASSERT(vp == NULL, + ("%s: found entry pointing to a different vnode (%p != %p)", + __func__, NULL, vp)); + else + KASSERT(n2->nc_vp == vp, + ("%s: found entry pointing to a different vnode (%p != %p)", + __func__, n2->nc_vp, vp)); if (tsp != NULL) { KASSERT((n2->nc_flag & NCF_TS) != 0, ("no NCF_TS")); From owner-svn-src-all@freebsd.org Wed Aug 19 15:11:28 2020 Return-Path: Delivered-To: svn-src-all@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 35EB63C1213; Wed, 19 Aug 2020 15:11:28 +0000 (UTC) (envelope-from grembo@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 4BWrpS0fbCz3gqk; Wed, 19 Aug 2020 15:11:28 +0000 (UTC) (envelope-from grembo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EDDD32496A; Wed, 19 Aug 2020 15:11:27 +0000 (UTC) (envelope-from grembo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JFBRI8024791; Wed, 19 Aug 2020 15:11:27 GMT (envelope-from grembo@FreeBSD.org) Received: (from grembo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JFBR1J024790; Wed, 19 Aug 2020 15:11:27 GMT (envelope-from grembo@FreeBSD.org) Message-Id: <202008191511.07JFBR1J024790@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grembo set sender to grembo@FreeBSD.org using -f From: Michael Gmelin Date: Wed, 19 Aug 2020 15:11:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364396 - head/usr.sbin/freebsd-update X-SVN-Group: head X-SVN-Commit-Author: grembo X-SVN-Commit-Paths: head/usr.sbin/freebsd-update X-SVN-Commit-Revision: 364396 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 15:11:28 -0000 Author: grembo (ports committer) Date: Wed Aug 19 15:11:27 2020 New Revision: 364396 URL: https://svnweb.freebsd.org/changeset/base/364396 Log: Unbreak `freebsd-update updatesready'. The command would only work if PWD happened to be WORKDIR. Also, exit 1 in case WORKDIR exists, but isn't accessible by the current user. PR: 242709 Reported by: Max Fiedler MFC after: 1 week Modified: head/usr.sbin/freebsd-update/freebsd-update.sh Modified: head/usr.sbin/freebsd-update/freebsd-update.sh ============================================================================== --- head/usr.sbin/freebsd-update/freebsd-update.sh Wed Aug 19 15:08:14 2020 (r364395) +++ head/usr.sbin/freebsd-update/freebsd-update.sh Wed Aug 19 15:11:27 2020 (r364396) @@ -3341,8 +3341,18 @@ cmd_upgrade () { upgrade_run || exit 1 } -# Check if there are fetched updates ready to install +# Check if there are fetched updates ready to install. +# Chdir into the working directory. cmd_updatesready () { + # Check if working directory exists (if not, no updates pending) + if ! [ -e "${WORKDIR}" ]; then + echo "No updates are available to install." + exit 2 + fi + + # Change into working directory (fail if no permission/directory etc.) + cd ${WORKDIR} || exit 1 + # Construct a unique name from ${BASEDIR} BDHASH=`echo ${BASEDIR} | sha256 -q` From owner-svn-src-all@freebsd.org Wed Aug 19 15:20:34 2020 Return-Path: Delivered-To: svn-src-all@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 0D4A43C11DE; Wed, 19 Aug 2020 15:20:34 +0000 (UTC) (envelope-from tsoome@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 4BWs0x6YScz3xwP; Wed, 19 Aug 2020 15:20:33 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C4D2D2477F; Wed, 19 Aug 2020 15:20:33 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JFKXbb028313; Wed, 19 Aug 2020 15:20:33 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JFKXvb028312; Wed, 19 Aug 2020 15:20:33 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202008191520.07JFKXvb028312@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Wed, 19 Aug 2020 15:20:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364397 - head/stand/libsa X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: head/stand/libsa X-SVN-Commit-Revision: 364397 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 15:20:34 -0000 Author: tsoome Date: Wed Aug 19 15:20:33 2020 New Revision: 364397 URL: https://svnweb.freebsd.org/changeset/base/364397 Log: libsa: cstyle cleanup for environment.c No functional changes. Modified: head/stand/libsa/environment.c Modified: head/stand/libsa/environment.c ============================================================================== --- head/stand/libsa/environment.c Wed Aug 19 15:11:27 2020 (r364396) +++ head/stand/libsa/environment.c Wed Aug 19 15:20:33 2020 (r364397) @@ -47,12 +47,12 @@ struct env_var *environ = NULL; struct env_var * env_getenv(const char *name) { - struct env_var *ev; + struct env_var *ev; - for (ev = environ; ev != NULL; ev = ev->ev_next) - if (!strcmp(ev->ev_name, name)) - break; - return(ev); + for (ev = environ; ev != NULL; ev = ev->ev_next) + if (!strcmp(ev->ev_name, name)) + break; + return (ev); } /* @@ -65,160 +65,159 @@ env_getenv(const char *name) */ int env_setenv(const char *name, int flags, const void *value, - ev_sethook_t sethook, ev_unsethook_t unsethook) + ev_sethook_t sethook, ev_unsethook_t unsethook) { - struct env_var *ev, *curr, *last; + struct env_var *ev, *curr, *last; - if ((ev = env_getenv(name)) != NULL) { - /* - * If there's a set hook, let it do the work (unless we are working - * for one already. - */ - if ((ev->ev_sethook != NULL) && !(flags & EV_NOHOOK)) - return (ev->ev_sethook(ev, flags, value)); + if ((ev = env_getenv(name)) != NULL) { + /* + * If there's a set hook, let it do the work + * (unless we are working for one already). + */ + if ((ev->ev_sethook != NULL) && !(flags & EV_NOHOOK)) + return (ev->ev_sethook(ev, flags, value)); - /* If there is data in the variable, discard it. */ - if (ev->ev_value != NULL && (ev->ev_flags & EV_DYNAMIC) != 0) - free(ev->ev_value); - ev->ev_value = NULL; - ev->ev_flags &= ~EV_DYNAMIC; + /* If there is data in the variable, discard it. */ + if (ev->ev_value != NULL && (ev->ev_flags & EV_DYNAMIC) != 0) + free(ev->ev_value); + ev->ev_value = NULL; + ev->ev_flags &= ~EV_DYNAMIC; - } else { + } else { - /* - * New variable; create and sort into list - */ - ev = malloc(sizeof(struct env_var)); - ev->ev_name = strdup(name); - ev->ev_value = NULL; - ev->ev_flags = 0; - /* hooks can only be set when the variable is instantiated */ - ev->ev_sethook = sethook; - ev->ev_unsethook = unsethook; + /* + * New variable; create and sort into list + */ + ev = malloc(sizeof(struct env_var)); + ev->ev_name = strdup(name); + ev->ev_value = NULL; + ev->ev_flags = 0; + /* hooks can only be set when the variable is instantiated */ + ev->ev_sethook = sethook; + ev->ev_unsethook = unsethook; - /* Sort into list */ - ev->ev_prev = NULL; - ev->ev_next = NULL; - /* Search for the record to insert before */ - for (last = NULL, curr = environ; - curr != NULL; - last = curr, curr = curr->ev_next) { + /* Sort into list */ + ev->ev_prev = NULL; + ev->ev_next = NULL; + /* Search for the record to insert before */ + for (last = NULL, curr = environ; curr != NULL; + last = curr, curr = curr->ev_next) { - if (strcmp(ev->ev_name, curr->ev_name) < 0) { - if (curr->ev_prev) { - curr->ev_prev->ev_next = ev; - } else { - environ = ev; + if (strcmp(ev->ev_name, curr->ev_name) < 0) { + if (curr->ev_prev) { + curr->ev_prev->ev_next = ev; + } else { + environ = ev; + } + ev->ev_next = curr; + ev->ev_prev = curr->ev_prev; + curr->ev_prev = ev; + break; + } } - ev->ev_next = curr; - ev->ev_prev = curr->ev_prev; - curr->ev_prev = ev; - break; - } + if (curr == NULL) { + if (last == NULL) { + environ = ev; + } else { + last->ev_next = ev; + ev->ev_prev = last; + } + } } - if (curr == NULL) { - if (last == NULL) { - environ = ev; - } else { - last->ev_next = ev; - ev->ev_prev = last; - } + + /* If we have a new value, use it */ + if (flags & EV_VOLATILE) { + ev->ev_value = strdup(value); + ev->ev_flags |= EV_DYNAMIC; + } else { + ev->ev_value = (char *)value; + ev->ev_flags |= flags & EV_DYNAMIC; } - } - /* If we have a new value, use it */ - if (flags & EV_VOLATILE) { - ev->ev_value = strdup(value); - ev->ev_flags |= EV_DYNAMIC; - } else { - ev->ev_value = (char *)value; - ev->ev_flags |= flags & EV_DYNAMIC; - } - - return(0); + return (0); } /* coverity[ -tainted_string_return_content ] */ char * getenv(const char *name) { - struct env_var *ev; + struct env_var *ev; - /* Set but no value gives empty string */ - if ((ev = env_getenv(name)) != NULL) { - if (ev->ev_value != NULL) - return(ev->ev_value); - return(""); - } - return(NULL); + /* Set but no value gives empty string */ + if ((ev = env_getenv(name)) != NULL) { + if (ev->ev_value != NULL) + return (ev->ev_value); + return (""); + } + return (NULL); } int setenv(const char *name, const char *value, int overwrite) { - /* No guarantees about state, always assume volatile */ - if (overwrite || (env_getenv(name) == NULL)) - return(env_setenv(name, EV_VOLATILE, value, NULL, NULL)); - return(0); + /* No guarantees about state, always assume volatile */ + if (overwrite || (env_getenv(name) == NULL)) + return (env_setenv(name, EV_VOLATILE, value, NULL, NULL)); + return (0); } int putenv(char *string) { - char *value, *copy; - int result; + char *value, *copy; + int result; - copy = strdup(string); - if ((value = strchr(copy, '=')) != NULL) - *(value++) = 0; - result = setenv(copy, value, 1); - free(copy); - return(result); + copy = strdup(string); + if ((value = strchr(copy, '=')) != NULL) + *(value++) = 0; + result = setenv(copy, value, 1); + free(copy); + return (result); } int unsetenv(const char *name) { - struct env_var *ev; - int err; + struct env_var *ev; + int err; - err = 0; - if ((ev = env_getenv(name)) == NULL) { - err = ENOENT; - } else { - if (ev->ev_unsethook != NULL) - err = ev->ev_unsethook(ev); - if (err == 0) { - env_discard(ev); + err = 0; + if ((ev = env_getenv(name)) == NULL) { + err = ENOENT; + } else { + if (ev->ev_unsethook != NULL) + err = ev->ev_unsethook(ev); + if (err == 0) { + env_discard(ev); + } } - } - return(err); + return (err); } static void env_discard(struct env_var *ev) { - if (ev->ev_prev) - ev->ev_prev->ev_next = ev->ev_next; - if (ev->ev_next) - ev->ev_next->ev_prev = ev->ev_prev; - if (environ == ev) - environ = ev->ev_next; - free(ev->ev_name); - if (ev->ev_value != NULL && (ev->ev_flags & EV_DYNAMIC) != 0) - free(ev->ev_value); - free(ev); + if (ev->ev_prev) + ev->ev_prev->ev_next = ev->ev_next; + if (ev->ev_next) + ev->ev_next->ev_prev = ev->ev_prev; + if (environ == ev) + environ = ev->ev_next; + free(ev->ev_name); + if (ev->ev_value != NULL && (ev->ev_flags & EV_DYNAMIC) != 0) + free(ev->ev_value); + free(ev); } int env_noset(struct env_var *ev __unused, int flags __unused, const void *value __unused) { - return(EPERM); + return (EPERM); } int env_nounset(struct env_var *ev __unused) { - return(EPERM); + return (EPERM); } From owner-svn-src-all@freebsd.org Wed Aug 19 15:27:09 2020 Return-Path: Delivered-To: svn-src-all@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 F32763C14D6; Wed, 19 Aug 2020 15:27:09 +0000 (UTC) (envelope-from tsoome@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 4BWs8Y6DR5z3ylc; Wed, 19 Aug 2020 15:27:09 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B50FD24EE5; Wed, 19 Aug 2020 15:27:09 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JFR9BX034228; Wed, 19 Aug 2020 15:27:09 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JFR98c034227; Wed, 19 Aug 2020 15:27:09 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202008191527.07JFR98c034227@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Wed, 19 Aug 2020 15:27:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364398 - head/stand/libsa X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: head/stand/libsa X-SVN-Commit-Revision: 364398 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 15:27:10 -0000 Author: tsoome Date: Wed Aug 19 15:27:09 2020 New Revision: 364398 URL: https://svnweb.freebsd.org/changeset/base/364398 Log: libsa: make env_discard() public Allow env_discard() to be used outside environment.c Modified: head/stand/libsa/environment.c head/stand/libsa/stand.h Modified: head/stand/libsa/environment.c ============================================================================== --- head/stand/libsa/environment.c Wed Aug 19 15:20:33 2020 (r364397) +++ head/stand/libsa/environment.c Wed Aug 19 15:27:09 2020 (r364398) @@ -37,8 +37,6 @@ __FBSDID("$FreeBSD$"); #include -static void env_discard(struct env_var *ev); - struct env_var *environ = NULL; /* @@ -194,7 +192,7 @@ unsetenv(const char *name) return (err); } -static void +void env_discard(struct env_var *ev) { if (ev->ev_prev) Modified: head/stand/libsa/stand.h ============================================================================== --- head/stand/libsa/stand.h Wed Aug 19 15:20:33 2020 (r364397) +++ head/stand/libsa/stand.h Wed Aug 19 15:27:09 2020 (r364398) @@ -337,6 +337,7 @@ extern struct env_var *env_getenv(const char *name); extern int env_setenv(const char *name, int flags, const void *value, ev_sethook_t sethook, ev_unsethook_t unsethook); +extern void env_discard(struct env_var *); extern char *getenv(const char *name); extern int setenv(const char *name, const char *value, int overwrite); From owner-svn-src-all@freebsd.org Wed Aug 19 16:09:37 2020 Return-Path: Delivered-To: svn-src-all@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 C6B273C2A96; Wed, 19 Aug 2020 16:09:37 +0000 (UTC) (envelope-from mav@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 4BWt5Y4FSPz432t; Wed, 19 Aug 2020 16:09:37 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 71EB825659; Wed, 19 Aug 2020 16:09:37 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JG9bg5059995; Wed, 19 Aug 2020 16:09:37 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JG9a74059992; Wed, 19 Aug 2020 16:09:36 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202008191609.07JG9a74059992@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 19 Aug 2020 16:09:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364399 - in head/sys: amd64/acpica arm64/acpica i386/acpica X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: in head/sys: amd64/acpica arm64/acpica i386/acpica X-SVN-Commit-Revision: 364399 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 16:09:37 -0000 Author: mav Date: Wed Aug 19 16:09:36 2020 New Revision: 364399 URL: https://svnweb.freebsd.org/changeset/base/364399 Log: Remove some noisy ACPI tables messages from verbose dmesg. Those messages were printed hundreds of times during boot, often multiple times for each table. We already print information about the tables in more organized form once to not duplicate it when random ACPI drivers are attaching. MFC after: 1 week Modified: head/sys/amd64/acpica/acpi_machdep.c head/sys/arm64/acpica/acpi_machdep.c head/sys/i386/acpica/acpi_machdep.c Modified: head/sys/amd64/acpica/acpi_machdep.c ============================================================================== --- head/sys/amd64/acpica/acpi_machdep.c Wed Aug 19 15:27:09 2020 (r364398) +++ head/sys/amd64/acpica/acpi_machdep.c Wed Aug 19 16:09:36 2020 (r364399) @@ -198,9 +198,6 @@ probe_table(vm_paddr_t address, const char *sig) (uintmax_t)address); return (0); } - if (bootverbose) - printf("Table '%.4s' at 0x%jx\n", table->Signature, - (uintmax_t)address); if (strncmp(table->Signature, sig, ACPI_NAMESEG_SIZE) != 0) { table_unmap(table, sizeof(ACPI_TABLE_HEADER)); @@ -312,13 +309,8 @@ acpi_find_table(const char *sig) acpi_unmap_table(rsdt); } pmap_unmapbios((vm_offset_t)rsdp, sizeof(ACPI_TABLE_RSDP)); - if (addr == 0) { - if (bootverbose) - printf("ACPI: No %s table found\n", sig); + if (addr == 0) return (0); - } - if (bootverbose) - printf("%s: Found table at 0x%jx\n", sig, (uintmax_t)addr); /* * Verify that we can map the full table and that its checksum is Modified: head/sys/arm64/acpica/acpi_machdep.c ============================================================================== --- head/sys/arm64/acpica/acpi_machdep.c Wed Aug 19 15:27:09 2020 (r364398) +++ head/sys/arm64/acpica/acpi_machdep.c Wed Aug 19 16:09:36 2020 (r364399) @@ -105,9 +105,6 @@ probe_table(vm_paddr_t address, const char *sig) (uintmax_t)address); return (0); } - if (bootverbose) - printf("Table '%.4s' at 0x%jx\n", table->Signature, - (uintmax_t)address); if (strncmp(table->Signature, sig, ACPI_NAMESEG_SIZE) != 0) { pmap_unmapbios((vm_offset_t)table, sizeof(ACPI_TABLE_HEADER)); @@ -200,13 +197,8 @@ acpi_find_table(const char *sig) } pmap_unmapbios((vm_offset_t)rsdp, sizeof(ACPI_TABLE_RSDP)); - if (addr == 0) { - if (bootverbose) - printf("ACPI: No %s table found\n", sig); + if (addr == 0) return (0); - } - if (bootverbose) - printf("%s: Found table at 0x%jx\n", sig, (uintmax_t)addr); /* * Verify that we can map the full table and that its checksum is Modified: head/sys/i386/acpica/acpi_machdep.c ============================================================================== --- head/sys/i386/acpica/acpi_machdep.c Wed Aug 19 15:27:09 2020 (r364398) +++ head/sys/i386/acpica/acpi_machdep.c Wed Aug 19 16:09:36 2020 (r364399) @@ -214,9 +214,6 @@ probe_table(vm_paddr_t address, const char *sig) (uintmax_t)address); return (0); } - if (bootverbose) - printf("Table '%.4s' at 0x%jx\n", table->Signature, - (uintmax_t)address); if (strncmp(table->Signature, sig, ACPI_NAMESEG_SIZE) != 0) { table_unmap(table, sizeof(ACPI_TABLE_HEADER)); @@ -328,13 +325,8 @@ acpi_find_table(const char *sig) acpi_unmap_table(rsdt); } pmap_unmapbios((vm_offset_t)rsdp, sizeof(ACPI_TABLE_RSDP)); - if (addr == 0) { - if (bootverbose) - printf("ACPI: No %s table found\n", sig); + if (addr == 0) return (0); - } - if (bootverbose) - printf("%s: Found table at 0x%jx\n", sig, (uintmax_t)addr); /* * Verify that we can map the full table and that its checksum is From owner-svn-src-all@freebsd.org Wed Aug 19 17:05:30 2020 Return-Path: Delivered-To: svn-src-all@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 D94933C4C2E; Wed, 19 Aug 2020 17:05:30 +0000 (UTC) (envelope-from dim@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 4BWvL25R2Cz4HgM; Wed, 19 Aug 2020 17:05:30 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9E374260BD; Wed, 19 Aug 2020 17:05:30 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JH5UN0008431; Wed, 19 Aug 2020 17:05:30 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JH5U5B008430; Wed, 19 Aug 2020 17:05:30 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008191705.07JH5U5B008430@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 19 Aug 2020 17:05:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364400 - head/lib/clang X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/lib/clang X-SVN-Commit-Revision: 364400 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:05:30 -0000 Author: dim Date: Wed Aug 19 17:05:30 2020 New Revision: 364400 URL: https://svnweb.freebsd.org/changeset/base/364400 Log: Fix the mips64 world build after r364284. Linking the full version of clang 11 results in errors similar to: lld: error: /usr/src/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:736:(.text._ZN5clang4ento22CreateAnalysisConsumerERNS_16CompilerInstanceE+0xE0): relocation R_MIPS_CALL16 out of range: 48920 is not in [-32768, 32767]; references operator new(unsigned long) Add -mxgot to the compilation flags for llvm libraries to work around this error. This may be too big of a hammer, but it can always be refined later. MFC after: 6 weeks Modified: head/lib/clang/llvm.build.mk Modified: head/lib/clang/llvm.build.mk ============================================================================== --- head/lib/clang/llvm.build.mk Wed Aug 19 16:09:36 2020 (r364399) +++ head/lib/clang/llvm.build.mk Wed Aug 19 17:05:30 2020 (r364400) @@ -106,3 +106,8 @@ CXXSTD?= c++14 CXXFLAGS+= -fno-exceptions CXXFLAGS+= -fno-rtti CXXFLAGS.clang+= -stdlib=libc++ + +.if ${MACHINE_ARCH:Mmips64} +STATIC_CFLAGS+= -mxgot +STATIC_CXXFLAGS+= -mxgot +.endif From owner-svn-src-all@freebsd.org Wed Aug 19 17:09:59 2020 Return-Path: Delivered-To: svn-src-all@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 566F13C4D11; Wed, 19 Aug 2020 17:09:59 +0000 (UTC) (envelope-from imp@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 4BWvRC1dWpz4Hbm; Wed, 19 Aug 2020 17:09:59 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1B39C261C7; Wed, 19 Aug 2020 17:09:59 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JH9wH4008672; Wed, 19 Aug 2020 17:09:58 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JH9w1V008671; Wed, 19 Aug 2020 17:09:58 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008191709.07JH9w1V008671@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Wed, 19 Aug 2020 17:09:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364401 - in head: sbin/mount sys/sys X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: sbin/mount sys/sys X-SVN-Commit-Revision: 364401 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:09:59 -0000 Author: imp Date: Wed Aug 19 17:09:58 2020 New Revision: 364401 URL: https://svnweb.freebsd.org/changeset/base/364401 Log: Move the mount name to bit mapping into sys/mount.h so it can be shared with the kernel. Discussed with: kib@ Reviewed by: kirk@ (prior version) Sponsored by: Netflix Diffential Revision: https://reviews.freebsd.org/D25969 Modified: head/sbin/mount/mount.c head/sys/sys/mount.h Modified: head/sbin/mount/mount.c ============================================================================== --- head/sbin/mount/mount.c Wed Aug 19 17:05:30 2020 (r364400) +++ head/sbin/mount/mount.c Wed Aug 19 17:09:58 2020 (r364401) @@ -42,6 +42,7 @@ static char sccsid[] = "@(#)mount.c 8.25 (Berkeley) 5/ __FBSDID("$FreeBSD$"); #include +#define _WANT_MNTOPTNAMES #include #include #include @@ -92,36 +93,8 @@ void usage(void); char *flags2opts(int); /* Map from mount options to printable formats. */ -static struct opt { - uint64_t o_opt; - const char *o_name; -} optnames[] = { - { MNT_ASYNC, "asynchronous" }, - { MNT_EXPORTED, "NFS exported" }, - { MNT_LOCAL, "local" }, - { MNT_NOATIME, "noatime" }, - { MNT_NOEXEC, "noexec" }, - { MNT_NOSUID, "nosuid" }, - { MNT_NOSYMFOLLOW, "nosymfollow" }, - { MNT_QUOTA, "with quotas" }, - { MNT_RDONLY, "read-only" }, - { MNT_SYNCHRONOUS, "synchronous" }, - { MNT_UNION, "union" }, - { MNT_NOCLUSTERR, "noclusterr" }, - { MNT_NOCLUSTERW, "noclusterw" }, - { MNT_SUIDDIR, "suiddir" }, - { MNT_SOFTDEP, "soft-updates" }, - { MNT_SUJ, "journaled soft-updates" }, - { MNT_MULTILABEL, "multilabel" }, - { MNT_ACLS, "acls" }, - { MNT_NFS4ACLS, "nfsv4acls" }, - { MNT_GJOURNAL, "gjournal" }, - { MNT_AUTOMOUNTED, "automounted" }, - { MNT_VERIFIED, "verified" }, - { MNT_UNTRUSTED, "untrusted" }, - { MNT_NOCOVER, "nocover" }, - { MNT_EMPTYDIR, "emptydir" }, - { 0, NULL } +static struct mntoptnames optnames[] = { + MNTOPT_NAMES }; /* @@ -664,7 +637,7 @@ prmount(struct statfs *sfp) { uint64_t flags; unsigned int i; - struct opt *o; + struct mntoptnames *o; struct passwd *pw; (void)printf("%s on %s (%s", sfp->f_mntfromname, sfp->f_mntonname, Modified: head/sys/sys/mount.h ============================================================================== --- head/sys/sys/mount.h Wed Aug 19 17:05:30 2020 (r364400) +++ head/sys/sys/mount.h Wed Aug 19 17:09:58 2020 (r364401) @@ -294,6 +294,45 @@ void __mnt_vnode_markerfree_lazy(struct vnode #endif /* _KERNEL */ +#if defined(_WANT_MNTOPTNAMES) || defined(_KERNEL) +struct mntoptnames { + uint64_t o_opt; + const char *o_name; +}; +#define MNTOPT_NAMES \ + { MNT_ASYNC, "asynchronous" }, \ + { MNT_EXPORTED, "NFS exported" }, \ + { MNT_LOCAL, "local" }, \ + { MNT_NOATIME, "noatime" }, \ + { MNT_NOEXEC, "noexec" }, \ + { MNT_NOSUID, "nosuid" }, \ + { MNT_NOSYMFOLLOW, "nosymfollow" }, \ + { MNT_QUOTA, "with quotas" }, \ + { MNT_RDONLY, "read-only" }, \ + { MNT_SYNCHRONOUS, "synchronous" }, \ + { MNT_UNION, "union" }, \ + { MNT_NOCLUSTERR, "noclusterr" }, \ + { MNT_NOCLUSTERW, "noclusterw" }, \ + { MNT_SUIDDIR, "suiddir" }, \ + { MNT_SOFTDEP, "soft-updates" }, \ + { MNT_SUJ, "journaled soft-updates" }, \ + { MNT_MULTILABEL, "multilabel" }, \ + { MNT_ACLS, "acls" }, \ + { MNT_NFS4ACLS, "nfsv4acls" }, \ + { MNT_GJOURNAL, "gjournal" }, \ + { MNT_AUTOMOUNTED, "automounted" }, \ + { MNT_VERIFIED, "verified" }, \ + { MNT_UNTRUSTED, "untrusted" }, \ + { MNT_NOCOVER, "nocover" }, \ + { MNT_EMPTYDIR, "emptydir" }, \ + { MNT_UPDATE, "update" }, \ + { MNT_DELEXPORT, "delexport" }, \ + { MNT_RELOAD, "reload" }, \ + { MNT_FORCE, "force" }, \ + { MNT_SNAPSHOT, "snapshot" }, \ + { 0, NULL } +#endif + /* * User specifiable flags, stored in mnt_flag. */ From owner-svn-src-all@freebsd.org Wed Aug 19 17:10:06 2020 Return-Path: Delivered-To: svn-src-all@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 2C4073C4C3F; Wed, 19 Aug 2020 17:10:06 +0000 (UTC) (envelope-from imp@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 4BWvRK3zN0z4HsS; Wed, 19 Aug 2020 17:10:05 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5CB8425E74; Wed, 19 Aug 2020 17:10:05 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JHA5Iv008765; Wed, 19 Aug 2020 17:10:05 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JHA5Rk008764; Wed, 19 Aug 2020 17:10:05 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008191710.07JHA5Rk008764@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Wed, 19 Aug 2020 17:10:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364402 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364402 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:10:06 -0000 Author: imp Date: Wed Aug 19 17:10:04 2020 New Revision: 364402 URL: https://svnweb.freebsd.org/changeset/base/364402 Log: Add VFS FS events for mount and unmount to devctl/devd Report when a filesystem is mounted, remounted or unmounted via devd, along with details about the mount point and mount options. Discussed with: kib@ Reviewed by: kirk@ (prior version) Sponsored by: Netflix Diffential Revision: https://reviews.freebsd.org/D25969 Modified: head/sys/kern/vfs_mount.c Modified: head/sys/kern/vfs_mount.c ============================================================================== --- head/sys/kern/vfs_mount.c Wed Aug 19 17:09:58 2020 (r364401) +++ head/sys/kern/vfs_mount.c Wed Aug 19 17:10:04 2020 (r364402) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -101,6 +102,8 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, "mountlist", MT EVENTHANDLER_LIST_DEFINE(vfs_mounted); EVENTHANDLER_LIST_DEFINE(vfs_unmounted); +static void dev_vfs_event(const char *type, struct mount *mp, bool donew); + /* * Global opts, taken by all filesystems */ @@ -1020,6 +1023,7 @@ vfs_domount_first( VOP_UNLOCK(vp); EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td); VOP_UNLOCK(newdp); + dev_vfs_event("MOUNT", mp, false); mountcheckdirs(vp, newdp); vn_seqc_write_end(vp); vn_seqc_write_end(newdp); @@ -1221,6 +1225,7 @@ vfs_domount_update( if (error != 0) goto end; + dev_vfs_event("REMOUNT", mp, true); if (mp->mnt_opt != NULL) vfs_freeopts(mp->mnt_opt); mp->mnt_opt = mp->mnt_optnew; @@ -1839,6 +1844,7 @@ dounmount(struct mount *mp, int flags, struct thread * TAILQ_REMOVE(&mountlist, mp, mnt_list); mtx_unlock(&mountlist_mtx); EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); + dev_vfs_event("UNMOUNT", mp, false); if (coveredvp != NULL) { coveredvp->v_mountedhere = NULL; vn_seqc_write_end(coveredvp); @@ -2425,4 +2431,72 @@ kernel_vmount(int flags, ...) error = kernel_mount(ma, flags); return (error); +} + +/* Map from mount options to printable formats. */ +static struct mntoptnames optnames[] = { + MNTOPT_NAMES +}; + +static void +dev_vfs_event_mntopt(struct sbuf *sb, const char *what, struct vfsoptlist *opts) +{ + struct vfsopt *opt; + + if (opts == NULL || TAILQ_EMPTY(opts)) + return; + sbuf_printf(sb, " %s=\"", what); + TAILQ_FOREACH(opt, opts, link) { + if (opt->name[0] == '\0' || (opt->len > 0 && *(char *)opt->value == '\0')) + continue; + devctl_safe_quote_sb(sb, opt->name); + if (opt->len > 0) { + sbuf_putc(sb, '='); + devctl_safe_quote_sb(sb, opt->value); + } + sbuf_putc(sb, ';'); + } + sbuf_putc(sb, '"'); +} + +#define DEVCTL_LEN 1024 +static void +dev_vfs_event(const char *type, struct mount *mp, bool donew) +{ + const uint8_t *cp; + struct mntoptnames *fp; + struct sbuf sb; + struct statfs *sfp = &mp->mnt_stat; + char *buf; + + buf = malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); + if (buf == NULL) + return; + sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); + sbuf_cpy(&sb, "mount-point=\""); + devctl_safe_quote_sb(&sb, sfp->f_mntonname); + sbuf_cat(&sb, "\" mount-dev=\""); + devctl_safe_quote_sb(&sb, sfp->f_mntfromname); + sbuf_cat(&sb, "\" mount-type=\""); + devctl_safe_quote_sb(&sb, sfp->f_fstypename); + sbuf_cat(&sb, "\" fsid=0x"); + cp = (const uint8_t *)&sfp->f_fsid.val[0]; + for (int i = 0; i < sizeof(sfp->f_fsid); i++) + sbuf_printf(&sb, "%02x", cp[i]); + sbuf_printf(&sb, " owner=%u flags=\"", sfp->f_owner); + for (fp = optnames; fp->o_opt != 0; fp++) { + if ((mp->mnt_flag & fp->o_opt) != 0) { + sbuf_cat(&sb, fp->o_name); + sbuf_putc(&sb, ';'); + } + } + sbuf_putc(&sb, '"'); + dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); + if (donew) + dev_vfs_event_mntopt(&sb, "optnew", mp->mnt_optnew); + sbuf_finish(&sb); + + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); + sbuf_delete(&sb); + free(buf, M_MOUNT); } From owner-svn-src-all@freebsd.org Wed Aug 19 17:10:14 2020 Return-Path: Delivered-To: svn-src-all@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 4DDED3C4D1C; Wed, 19 Aug 2020 17:10:14 +0000 (UTC) (envelope-from imp@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 4BWvRQ1LP0z4Hsr; Wed, 19 Aug 2020 17:10:09 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 85996261C8; Wed, 19 Aug 2020 17:10:09 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JHA9QB008819; Wed, 19 Aug 2020 17:10:09 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JHA9AY008818; Wed, 19 Aug 2020 17:10:09 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008191710.07JHA9AY008818@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Wed, 19 Aug 2020 17:10:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364403 - head/sbin/devd X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/devd X-SVN-Commit-Revision: 364403 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:10:19 -0000 Author: imp Date: Wed Aug 19 17:10:09 2020 New Revision: 364403 URL: https://svnweb.freebsd.org/changeset/base/364403 Log: Document the VFS FS events MOUNT notifies when a filesystem is mounted REMOUNT notifies when a filesystem is mounted again UNMOUNT notifies when a filesystem is unmounted These events are asynchronous to the actual state of the event (though the data is recorded at a time when it is stable). The mount event is reported after the filesystem is mounted. However, in the interim it may be unmounted by another agent. Likewise, umount is called just before the mountpoint is finished tearing down. It may be remounted (or maybe if the process scheduling is wonky and devd gets to run before the last few steps are complete). Sponsored by: Netflix Diffential Revision: https://reviews.freebsd.org/D25969 Modified: head/sbin/devd/devd.conf.5 Modified: head/sbin/devd/devd.conf.5 ============================================================================== --- head/sbin/devd/devd.conf.5 Wed Aug 19 17:10:04 2020 (r364402) +++ head/sbin/devd/devd.conf.5 Wed Aug 19 17:10:09 2020 (r364403) @@ -573,6 +573,20 @@ USB interface is detached from a device. .Pp .Bl -column "System" "Subsystem" "1234567" -compact .Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" +.It Li VFS Ta Ta Ta +Events from the vfs system. +.It Li VFS Ta Li FS Ta Ta +Events that change what is mounted to the system. +.It Li VFS Ta Li FS Ta Li MOUNT Ta +Notification of a filesystem is mounted for the first time. +.It Li VFS Ta Li FS Ta Li REMOUNT Ta +Notification of a filesystem is remounted (whether or not the options actually change). +.It Li VFS Ta Li FS Ta Li UNMOUNT Ta +Notification of a filesystem being unmounted. +.El +.Pp +.Bl -column "System" "Subsystem" "1234567" -compact +.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description" .It Li ZFS Ta ZFS Ta Ta Events about the ZFS subsystem. See From owner-svn-src-all@freebsd.org Wed Aug 19 17:26:17 2020 Return-Path: Delivered-To: svn-src-all@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 7266E3C528C for ; Wed, 19 Aug 2020 17:26:17 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qt1-x843.google.com (mail-qt1-x843.google.com [IPv6:2607:f8b0:4864:20::843]) (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 4BWvp05Kblz4KDJ for ; Wed, 19 Aug 2020 17:26:16 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qt1-x843.google.com with SMTP id c12so18393177qtn.9 for ; Wed, 19 Aug 2020 10:26:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=EWmqyYFpPgKWahfYztYx7Nj9XoeqSbYeq1luG5UrlNM=; b=IDrD2oY82EYzLL24Lgp9nRpV0NZlGIKQfdYWUCjUtB3p2RcUUftfUF20SMpP1JkpMF CfFELlFwHF7VTRlcu4S6h2j9SK5GxrLLoHhvqtmmX8cOEfGN2Sp6FU3JsHEJbfOKkj3Q ko0NyUwFCYp/1rxOQybJUcjhCphCyrQHn043L5WH3lTY8eANOP77/R2wYuLJ6/FQYsGX WPcf3Ke0KJXgoetpR+3nndzJZEWeMU6z4hRlt4I54FvOElpkK1QBvHSd9PZX2lOewzqZ oamHbn44wRHZ1Eec440G0nz3qw+WQJRmfuNKg5syVdistXI7m3NfGoZCj+mcUrrDND/E +bOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=EWmqyYFpPgKWahfYztYx7Nj9XoeqSbYeq1luG5UrlNM=; b=pwQtkorg/CL4gl+MLUUHANyGAddRaGvu4sVKFdrdu0JizMAyypcECUKLT6PyxSt1tG ma3N3zEOO6/fyuEirDgpecfIoU/xpG9f8Fr/t/H0dhWsPo4Xyw/+LTvZ4HZUG1LmKykD P3Sbd+m3JGWh6ds+n/Ysg1Kvu1nrORBiwc4hrCBKudHXRKYgxz2s9/I96F92YupN62ty 8EHEAvZNO3We7LlsUKD9B7qoVx0v5PNguSXBBaXamlVmZMeYc6TwDOZBJnFyItY/i4kA OaQM1d0wzkQ8ld176o9orDNUJLZakifwY1azGnMu3Y6dnFr05r5yN+kPPPnFHPGRQijR AKNQ== X-Gm-Message-State: AOAM530TVc7eiVTTHBI1fjHFCqkpu4KqENlQu16QQQqgZ8A4cGLU2NT3 YGuwn736MK+b+7hhaQkwyxcRCA== X-Google-Smtp-Source: ABdhPJy/ygEmNLB/BBvyT1VVP82Az2aeyPGrbm2n0r9Z6EuaR5l4ZuPGitNdPDLrDWvn8itNa315SA== X-Received: by 2002:ac8:47c8:: with SMTP id d8mr22109801qtr.32.1597857975651; Wed, 19 Aug 2020 10:26:15 -0700 (PDT) Received: from mutt-hbsd (pool-100-16-231-224.bltmmd.fios.verizon.net. [100.16.231.224]) by smtp.gmail.com with ESMTPSA id l1sm26891194qtp.96.2020.08.19.10.26.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2020 10:26:14 -0700 (PDT) Date: Wed, 19 Aug 2020 13:26:13 -0400 From: Shawn Webb To: Warner Losh Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364402 - head/sys/kern Message-ID: <20200819172613.vdyutsn6a4w5fbqr@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 13.0-CURRENT-HBSD FreeBSD 13.0-CURRENT-HBSD X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0xFF2E67A277F8E1FA References: <202008191710.07JHA5Rk008764@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="wvgkifyvole67pl3" Content-Disposition: inline In-Reply-To: <202008191710.07JHA5Rk008764@repo.freebsd.org> X-Rspamd-Queue-Id: 4BWvp05Kblz4KDJ X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=IDrD2oY8; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::843 as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org X-Spamd-Result: default: False [-2.09 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org:s=google]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[hardenedbsd.org]; NEURAL_SPAM_SHORT(0.01)[0.014]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[hardenedbsd.org:+]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::843:from]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; RECEIVED_SPAMHAUS_PBL(0.00)[100.16.231.224:received] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:26:17 -0000 --wvgkifyvole67pl3 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Aug 19, 2020 at 05:10:05PM +0000, Warner Losh wrote: > Author: imp > Date: Wed Aug 19 17:10:04 2020 > New Revision: 364402 > URL: https://svnweb.freebsd.org/changeset/base/364402 >=20 > Log: > Add VFS FS events for mount and unmount to devctl/devd > =20 > Report when a filesystem is mounted, remounted or unmounted via devd, a= long with > details about the mount point and mount options. > =20 > Discussed with: kib@ > Reviewed by: kirk@ (prior version) > Sponsored by: Netflix > Diffential Revision: https://reviews.freebsd.org/D25969 >=20 > Modified: > head/sys/kern/vfs_mount.c >=20 > Modified: head/sys/kern/vfs_mount.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/kern/vfs_mount.c Wed Aug 19 17:09:58 2020 (r364401) > +++ head/sys/kern/vfs_mount.c Wed Aug 19 17:10:04 2020 (r364402) > @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#include > #include > #include > #include > @@ -101,6 +102,8 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, "mountlist", MT > EVENTHANDLER_LIST_DEFINE(vfs_mounted); > EVENTHANDLER_LIST_DEFINE(vfs_unmounted); > =20 > +static void dev_vfs_event(const char *type, struct mount *mp, bool donew= ); > + > /* > * Global opts, taken by all filesystems > */ > @@ -1020,6 +1023,7 @@ vfs_domount_first( > VOP_UNLOCK(vp); > EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td); > VOP_UNLOCK(newdp); > + dev_vfs_event("MOUNT", mp, false); > mountcheckdirs(vp, newdp); > vn_seqc_write_end(vp); > vn_seqc_write_end(newdp); > @@ -1221,6 +1225,7 @@ vfs_domount_update( > if (error !=3D 0) > goto end; > =20 > + dev_vfs_event("REMOUNT", mp, true); > if (mp->mnt_opt !=3D NULL) > vfs_freeopts(mp->mnt_opt); > mp->mnt_opt =3D mp->mnt_optnew; > @@ -1839,6 +1844,7 @@ dounmount(struct mount *mp, int flags, struct threa= d * > TAILQ_REMOVE(&mountlist, mp, mnt_list); > mtx_unlock(&mountlist_mtx); > EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); > + dev_vfs_event("UNMOUNT", mp, false); > if (coveredvp !=3D NULL) { > coveredvp->v_mountedhere =3D NULL; > vn_seqc_write_end(coveredvp); > @@ -2425,4 +2431,72 @@ kernel_vmount(int flags, ...) > =20 > error =3D kernel_mount(ma, flags); > return (error); > +} > + > +/* Map from mount options to printable formats. */ > +static struct mntoptnames optnames[] =3D { > + MNTOPT_NAMES > +}; > + > +static void > +dev_vfs_event_mntopt(struct sbuf *sb, const char *what, struct vfsoptlis= t *opts) > +{ > + struct vfsopt *opt; > + > + if (opts =3D=3D NULL || TAILQ_EMPTY(opts)) > + return; > + sbuf_printf(sb, " %s=3D\"", what); > + TAILQ_FOREACH(opt, opts, link) { > + if (opt->name[0] =3D=3D '\0' || (opt->len > 0 && *(char *)opt->value = =3D=3D '\0')) > + continue; > + devctl_safe_quote_sb(sb, opt->name); > + if (opt->len > 0) { > + sbuf_putc(sb, '=3D'); > + devctl_safe_quote_sb(sb, opt->value); > + } > + sbuf_putc(sb, ';'); > + } > + sbuf_putc(sb, '"'); > +} > + > +#define DEVCTL_LEN 1024 > +static void > +dev_vfs_event(const char *type, struct mount *mp, bool donew) > +{ > + const uint8_t *cp; > + struct mntoptnames *fp; > + struct sbuf sb; > + struct statfs *sfp =3D &mp->mnt_stat; > + char *buf; > + > + buf =3D malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); > + if (buf =3D=3D NULL) > + return; buf can't be NULL. > + sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); > + sbuf_cpy(&sb, "mount-point=3D\""); > + devctl_safe_quote_sb(&sb, sfp->f_mntonname); > + sbuf_cat(&sb, "\" mount-dev=3D\""); > + devctl_safe_quote_sb(&sb, sfp->f_mntfromname); > + sbuf_cat(&sb, "\" mount-type=3D\""); > + devctl_safe_quote_sb(&sb, sfp->f_fstypename); > + sbuf_cat(&sb, "\" fsid=3D0x"); > + cp =3D (const uint8_t *)&sfp->f_fsid.val[0]; > + for (int i =3D 0; i < sizeof(sfp->f_fsid); i++) > + sbuf_printf(&sb, "%02x", cp[i]); > + sbuf_printf(&sb, " owner=3D%u flags=3D\"", sfp->f_owner); > + for (fp =3D optnames; fp->o_opt !=3D 0; fp++) { > + if ((mp->mnt_flag & fp->o_opt) !=3D 0) { > + sbuf_cat(&sb, fp->o_name); > + sbuf_putc(&sb, ';'); > + } > + } > + sbuf_putc(&sb, '"'); > + dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); > + if (donew) > + dev_vfs_event_mntopt(&sb, "optnew", mp->mnt_optnew); > + sbuf_finish(&sb); > + > + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); > + sbuf_delete(&sb); > + free(buf, M_MOUNT); > } I don't really see much attention paid to checking for sbuf overflow. Could that cause issues, especially in case of impartial quotation termination? Could not performing those checks have security implications? Would performing those checks adhere to good code development practices? Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Sha= wn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --wvgkifyvole67pl3 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAl89YLMACgkQ/y5nonf4 4fqzKRAAn3OmJQmJXPPTrgG1i0pAgikhacZzJtB1yUUrsCnCYoWZVyvdthe3Ax9V 176AHgIMth/mbU8OgBmoQEc4wtQ1wEJnbH/I3x1jr0SaakMxWe5hI+4pfxKpm996 pYjSA5K6wrdHG0Q3mB7HLUyjRplqyJbPIaSlkt+vD9932nCMCApP/9D5fmTp/LmB jzQqFSWi6ZR9OHnZnUq6iMzy4cJT9vUUpNMUGn9cqIZ8aJkVlxgr3BWNchCotipj tPFc7Cq41VoChfKPk/uJV9allHawzColoATxf/2pF5rcP62l7RyoTnLdzxVF3VkP IQlhapIPd6kLNP8/EJyLrtVIubPzChOxog3XAps+KBNrdVV0GkDR82qBPF0DMJW7 XoiW9b7Jz6DPjNoxZarN82g0dua0SVcw6cX9hD6hg2AA2Rnqkuzf6Y/fiGN5VWrs yuaxXJfR/cCBmb/doGMmunuBTofPjr1tBeUlAgEr3mXxeT1sZi6KbEsdw6BUZd5B wRKrm2b/LcaB7UD0ItTB0ypeV4ls7EMgxd1/frG5vY6gLSg1f4mM10ijChDyT4P0 LPG12C7IBodEyPiA3XBpOjrPek9uJx5VvwZBMskvU6PUtheGG3fEmJAnrDmQg1XF ecXbm9lRoZihAGWR4CTiRzmssemSGAudRbw97aDrS5nyPH7des8= =mvvo -----END PGP SIGNATURE----- --wvgkifyvole67pl3-- From owner-svn-src-all@freebsd.org Wed Aug 19 17:44:55 2020 Return-Path: Delivered-To: svn-src-all@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 822233C5575 for ; Wed, 19 Aug 2020 17:44:55 +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 4BWwCV4K4Jz4LgX for ; Wed, 19 Aug 2020 17:44:54 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x82d.google.com with SMTP id e5so18416577qth.5 for ; Wed, 19 Aug 2020 10:44:54 -0700 (PDT) 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=Md1BhQpmVgkUEi5BR5XyiF3pOMGWzfdGGUFv2GvQAeo=; b=I+EEvGfvoBw5VXgoto2mDjlMxJihcReF/IAVVoEZNRJfmhmTu+PAiHct4Y85zKTAzn KxEYMMv7W8xJu6BZTGuz7lw4LnTETE2bvA+krh+secvCfnF8dn/jHY5JIGX/DqR72gHi P1SAPLLKJJ+4CoWZ9Y8aWf/+EaGU0aSIxEbhX1ZqYlo8wzf7QLppbSTZOnkaYZfEQwAO q5x06mfp+XCGSSQ/xOnzhxvDNYJmnPsI0IAPqDfSHvSwj2/5QP+/l/b65R7i5NxYTAOv wLkNSg3Gd7BXSZZ+iR03IkYmeP+F4Ub5L6yOF84iTjUtPbDkb+3k91rQUglEqXBZIy/6 NFFg== 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=Md1BhQpmVgkUEi5BR5XyiF3pOMGWzfdGGUFv2GvQAeo=; b=m9lIdaI74omsJmCxHxgH1hTTIYW2aq2D9H1MTlFVVISQrvUqZ3lVTSSP73IE3rYr5s X584vqWOt6KsIvZukQgstCW3E+hSoPBRZQMCX39McRBVU47fUfjxRoFeWk/90ZKBfBcW UhBVTeJjg4DVOqOiGkZd22MWL3e1ltHpLqtcUMQ5UsU1cpgB/7+NbR+PSNQxoFMqNx9H hrRx7LrskblQ3bIfvkTv9dU5NpC3+3LUsQCW4RB7ejOAFo5rh0FHMeBfh0ZDVvkMhIeZ RynVd/wriDknm0iWhsev+zmrdU/o3xNEZwhPkiSoHdpVlmnMQSCcVTlqSP8DQScRtVLA BftQ== X-Gm-Message-State: AOAM531QYz8J9hqooWO7wBgSO9Fbx69P1K21BwOai+4YBX6x67N4Fmnu WUtXDH9MZ3NpgxKn+3lnLOfHHoDm4sidUheC+tJ6Qw== X-Google-Smtp-Source: ABdhPJwzrShB2wcKJ1kw+TPrNH+11wYrzDBLAVgbvwz8n0YpOMxwpCQBPPxcyYQQstiQonlty3fhQp4zAw6V2su3IeE= X-Received: by 2002:ac8:50a:: with SMTP id u10mr23277766qtg.175.1597859093340; Wed, 19 Aug 2020 10:44:53 -0700 (PDT) MIME-Version: 1.0 References: <202008191710.07JHA5Rk008764@repo.freebsd.org> <20200819172613.vdyutsn6a4w5fbqr@mutt-hbsd> In-Reply-To: <20200819172613.vdyutsn6a4w5fbqr@mutt-hbsd> From: Warner Losh Date: Wed, 19 Aug 2020 11:44:42 -0600 Message-ID: Subject: Re: svn commit: r364402 - head/sys/kern To: Shawn Webb Cc: Warner Losh , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 4BWwCV4K4Jz4LgX X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=I+EEvGfv; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::82d) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-0.01 / 15.00]; ARC_NA(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; NEURAL_HAM_SHORT(-0.01)[-0.012]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::82d:from]; R_SPF_NA(0.00)[no SPF record]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:44:55 -0000 On Wed, Aug 19, 2020 at 11:26 AM Shawn Webb wrote: > On Wed, Aug 19, 2020 at 05:10:05PM +0000, Warner Losh wrote: > > Author: imp > > Date: Wed Aug 19 17:10:04 2020 > > New Revision: 364402 > > URL: https://svnweb.freebsd.org/changeset/base/364402 > > > > Log: > > Add VFS FS events for mount and unmount to devctl/devd > > > > Report when a filesystem is mounted, remounted or unmounted via devd, > along with > > details about the mount point and mount options. > > > > Discussed with: kib@ > > Reviewed by: kirk@ (prior version) > > Sponsored by: Netflix > > Diffential Revision: https://reviews.freebsd.org/D25969 > > > > Modified: > > head/sys/kern/vfs_mount.c > > > > Modified: head/sys/kern/vfs_mount.c > > > ============================================================================== > > --- head/sys/kern/vfs_mount.c Wed Aug 19 17:09:58 2020 (r364401) > > +++ head/sys/kern/vfs_mount.c Wed Aug 19 17:10:04 2020 (r364402) > > @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); > > #include > > #include > > #include > > +#include > > #include > > #include > > #include > > @@ -101,6 +102,8 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, "mountlist", > MT > > EVENTHANDLER_LIST_DEFINE(vfs_mounted); > > EVENTHANDLER_LIST_DEFINE(vfs_unmounted); > > > > +static void dev_vfs_event(const char *type, struct mount *mp, bool > donew); > > + > > /* > > * Global opts, taken by all filesystems > > */ > > @@ -1020,6 +1023,7 @@ vfs_domount_first( > > VOP_UNLOCK(vp); > > EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td); > > VOP_UNLOCK(newdp); > > + dev_vfs_event("MOUNT", mp, false); > > mountcheckdirs(vp, newdp); > > vn_seqc_write_end(vp); > > vn_seqc_write_end(newdp); > > @@ -1221,6 +1225,7 @@ vfs_domount_update( > > if (error != 0) > > goto end; > > > > + dev_vfs_event("REMOUNT", mp, true); > > if (mp->mnt_opt != NULL) > > vfs_freeopts(mp->mnt_opt); > > mp->mnt_opt = mp->mnt_optnew; > > @@ -1839,6 +1844,7 @@ dounmount(struct mount *mp, int flags, struct > thread * > > TAILQ_REMOVE(&mountlist, mp, mnt_list); > > mtx_unlock(&mountlist_mtx); > > EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); > > + dev_vfs_event("UNMOUNT", mp, false); > > if (coveredvp != NULL) { > > coveredvp->v_mountedhere = NULL; > > vn_seqc_write_end(coveredvp); > > @@ -2425,4 +2431,72 @@ kernel_vmount(int flags, ...) > > > > error = kernel_mount(ma, flags); > > return (error); > > +} > > + > > +/* Map from mount options to printable formats. */ > > +static struct mntoptnames optnames[] = { > > + MNTOPT_NAMES > > +}; > > + > > +static void > > +dev_vfs_event_mntopt(struct sbuf *sb, const char *what, struct > vfsoptlist *opts) > > +{ > > + struct vfsopt *opt; > > + > > + if (opts == NULL || TAILQ_EMPTY(opts)) > > + return; > > + sbuf_printf(sb, " %s=\"", what); > > + TAILQ_FOREACH(opt, opts, link) { > > + if (opt->name[0] == '\0' || (opt->len > 0 && *(char > *)opt->value == '\0')) > > + continue; > > + devctl_safe_quote_sb(sb, opt->name); > > + if (opt->len > 0) { > > + sbuf_putc(sb, '='); > > + devctl_safe_quote_sb(sb, opt->value); > > + } > > + sbuf_putc(sb, ';'); > > + } > > + sbuf_putc(sb, '"'); > > +} > > + > > +#define DEVCTL_LEN 1024 > > +static void > > +dev_vfs_event(const char *type, struct mount *mp, bool donew) > > +{ > > + const uint8_t *cp; > > + struct mntoptnames *fp; > > + struct sbuf sb; > > + struct statfs *sfp = &mp->mnt_stat; > > + char *buf; > > + > > + buf = malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); > > + if (buf == NULL) > > + return; > > buf can't be NULL. > The bug here is that M_NOWAIT should have been specified in the malloc. > > + sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); > > + sbuf_cpy(&sb, "mount-point=\""); > > + devctl_safe_quote_sb(&sb, sfp->f_mntonname); > > + sbuf_cat(&sb, "\" mount-dev=\""); > > + devctl_safe_quote_sb(&sb, sfp->f_mntfromname); > > + sbuf_cat(&sb, "\" mount-type=\""); > > + devctl_safe_quote_sb(&sb, sfp->f_fstypename); > > + sbuf_cat(&sb, "\" fsid=0x"); > > + cp = (const uint8_t *)&sfp->f_fsid.val[0]; > > + for (int i = 0; i < sizeof(sfp->f_fsid); i++) > > + sbuf_printf(&sb, "%02x", cp[i]); > > + sbuf_printf(&sb, " owner=%u flags=\"", sfp->f_owner); > > + for (fp = optnames; fp->o_opt != 0; fp++) { > > + if ((mp->mnt_flag & fp->o_opt) != 0) { > > + sbuf_cat(&sb, fp->o_name); > > + sbuf_putc(&sb, ';'); > > + } > > + } > > + sbuf_putc(&sb, '"'); > > + dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); > > + if (donew) > > + dev_vfs_event_mntopt(&sb, "optnew", mp->mnt_optnew); > > + sbuf_finish(&sb); > > + > > + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); > > + sbuf_delete(&sb); > > + free(buf, M_MOUNT); > > } > > I don't really see much attention paid to checking for sbuf overflow. > Could that cause issues, especially in case of impartial quotation > termination? Could not performing those checks have security > implications? Would performing those checks adhere to good code > development practices? > sbuf doesn't overflow. It is safe from that perspective. The code should just not send it if there's an overflow... There almost certainly won't be one in practice given the buffer size, though. Warner From owner-svn-src-all@freebsd.org Wed Aug 19 17:48:11 2020 Return-Path: Delivered-To: svn-src-all@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 A64743C59E2 for ; Wed, 19 Aug 2020 17:48:11 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qv1-xf44.google.com (mail-qv1-xf44.google.com [IPv6:2607:f8b0:4864:20::f44]) (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 4BWwHH1Mgvz4Lvx for ; Wed, 19 Aug 2020 17:48:10 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qv1-xf44.google.com with SMTP id y11so11675885qvl.4 for ; Wed, 19 Aug 2020 10:48:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=C9JnkyYAHLWKrYzBwzZwmnP23jaZj4tDM0XSErSklGo=; b=jZmMKIgLRyLHh6pBxKy9t2Ic/55uvni+DeGhm3eOkqHFjjjMgfc7ne4ouoNiKHUdTj FCGI+HdGGiV3JUmTwOEPY+x5ZOqFXaDhzEuWMP5RkEP86Xa38i3WZCU9v4dMxry9kwOP vXdPj1PiTaZZDkLWr0EOubrOvfG0CqXxFNNIYtCIGLflSlZ8hxqWom2VgRzK8QwqvYyK Qv6BsDBJ6h4sCnz0YPQjpfEQk58TROoil7epSS9dQoZMZJncm47xXlFe/ioBZGBIDiiQ Ahy3vSCS4b9tg52mfUBzKObInI26Ty8sbVyEByOWe/JZuHG4tKrAM2YKcPiRhxRZbBev tzbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=C9JnkyYAHLWKrYzBwzZwmnP23jaZj4tDM0XSErSklGo=; b=Xb2JQ2ARVHrZcNloZmbP2mC3jbzPk007u8bDOSZtWj5SxOQ/qoxS+LhiBfURxcoi9F Cv9ZxF/DfXTlZMGFtb/fjl/IhihRVm8px66QRY84KmJOFwwdyJz/zgs7ROLYuYg1KH1J nREiglF2Kb8P8G0zJqNrDBxDIk6RcmrGJEqBhKt/5UtGa93x3cZ2y164tUqofLImCPJJ zh8P2hAJLbjqjt+3LXD37ylBRdXIhauERmVmYcdsaH18WOLaxOPYdWnjpfuGFKxqSUQo /h4vZIAjwytFAl4fZjTBrxOZL+Kx8EJpRXxT8a9+roqgglm124g+DPZys3Cb2D8sZKWW GlDw== X-Gm-Message-State: AOAM531C76OEV7eBLvqXJEZs6iI7cIgIQ4HZCZsmVhl/RQr2mdvlfdG7 6WgPhS35FFj/Vf17EyoTdcrb8Q== X-Google-Smtp-Source: ABdhPJz5S/ybNBXCovbNcRTlTeoUxJxLUkDbbeH1I8HL8vsvPYNSN3674eD3JDgtc2fySmzWx/Yy4A== X-Received: by 2002:a0c:bd8d:: with SMTP id n13mr24676201qvg.199.1597859289350; Wed, 19 Aug 2020 10:48:09 -0700 (PDT) Received: from mutt-hbsd (pool-100-16-231-224.bltmmd.fios.verizon.net. [100.16.231.224]) by smtp.gmail.com with ESMTPSA id p34sm30561620qte.79.2020.08.19.10.48.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2020 10:48:08 -0700 (PDT) Date: Wed, 19 Aug 2020 13:48:08 -0400 From: Shawn Webb To: Warner Losh Cc: Warner Losh , src-committers , svn-src-all , svn-src-head Subject: Re: svn commit: r364402 - head/sys/kern Message-ID: <20200819174808.ts3i72vzqsx3sq5o@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 13.0-CURRENT-HBSD FreeBSD 13.0-CURRENT-HBSD X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0xFF2E67A277F8E1FA References: <202008191710.07JHA5Rk008764@repo.freebsd.org> <20200819172613.vdyutsn6a4w5fbqr@mutt-hbsd> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="fir3ktbk4os5uyld" Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4BWwHH1Mgvz4Lvx X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=jZmMKIgL; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::f44 as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org X-Spamd-Result: default: False [-2.33 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org:s=google]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[hardenedbsd.org]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[hardenedbsd.org:+]; NEURAL_HAM_SHORT(-0.23)[-0.233]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::f44:from]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; RECEIVED_SPAMHAUS_PBL(0.00)[100.16.231.224:received] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:48:11 -0000 --fir3ktbk4os5uyld Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Aug 19, 2020 at 11:44:42AM -0600, Warner Losh wrote: > On Wed, Aug 19, 2020 at 11:26 AM Shawn Webb > wrote: >=20 > > On Wed, Aug 19, 2020 at 05:10:05PM +0000, Warner Losh wrote: > > > Author: imp > > > Date: Wed Aug 19 17:10:04 2020 > > > New Revision: 364402 > > > URL: https://svnweb.freebsd.org/changeset/base/364402 > > > > > > Log: > > > Add VFS FS events for mount and unmount to devctl/devd > > > > > > Report when a filesystem is mounted, remounted or unmounted via dev= d, > > along with > > > details about the mount point and mount options. > > > > > > Discussed with: kib@ > > > Reviewed by: kirk@ (prior version) > > > Sponsored by: Netflix > > > Diffential Revision: https://reviews.freebsd.org/D25969 > > > > > > Modified: > > > head/sys/kern/vfs_mount.c > > > > > > Modified: head/sys/kern/vfs_mount.c > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > > --- head/sys/kern/vfs_mount.c Wed Aug 19 17:09:58 2020 (r36440= 1) > > > +++ head/sys/kern/vfs_mount.c Wed Aug 19 17:10:04 2020 (r36440= 2) > > > @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); > > > #include > > > #include > > > #include > > > +#include > > > #include > > > #include > > > #include > > > @@ -101,6 +102,8 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, "mountlist= ", > > MT > > > EVENTHANDLER_LIST_DEFINE(vfs_mounted); > > > EVENTHANDLER_LIST_DEFINE(vfs_unmounted); > > > > > > +static void dev_vfs_event(const char *type, struct mount *mp, bool > > donew); > > > + > > > /* > > > * Global opts, taken by all filesystems > > > */ > > > @@ -1020,6 +1023,7 @@ vfs_domount_first( > > > VOP_UNLOCK(vp); > > > EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td); > > > VOP_UNLOCK(newdp); > > > + dev_vfs_event("MOUNT", mp, false); > > > mountcheckdirs(vp, newdp); > > > vn_seqc_write_end(vp); > > > vn_seqc_write_end(newdp); > > > @@ -1221,6 +1225,7 @@ vfs_domount_update( > > > if (error !=3D 0) > > > goto end; > > > > > > + dev_vfs_event("REMOUNT", mp, true); > > > if (mp->mnt_opt !=3D NULL) > > > vfs_freeopts(mp->mnt_opt); > > > mp->mnt_opt =3D mp->mnt_optnew; > > > @@ -1839,6 +1844,7 @@ dounmount(struct mount *mp, int flags, struct > > thread * > > > TAILQ_REMOVE(&mountlist, mp, mnt_list); > > > mtx_unlock(&mountlist_mtx); > > > EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); > > > + dev_vfs_event("UNMOUNT", mp, false); > > > if (coveredvp !=3D NULL) { > > > coveredvp->v_mountedhere =3D NULL; > > > vn_seqc_write_end(coveredvp); > > > @@ -2425,4 +2431,72 @@ kernel_vmount(int flags, ...) > > > > > > error =3D kernel_mount(ma, flags); > > > return (error); > > > +} > > > + > > > +/* Map from mount options to printable formats. */ > > > +static struct mntoptnames optnames[] =3D { > > > + MNTOPT_NAMES > > > +}; > > > + > > > +static void > > > +dev_vfs_event_mntopt(struct sbuf *sb, const char *what, struct > > vfsoptlist *opts) > > > +{ > > > + struct vfsopt *opt; > > > + > > > + if (opts =3D=3D NULL || TAILQ_EMPTY(opts)) > > > + return; > > > + sbuf_printf(sb, " %s=3D\"", what); > > > + TAILQ_FOREACH(opt, opts, link) { > > > + if (opt->name[0] =3D=3D '\0' || (opt->len > 0 && *(char > > *)opt->value =3D=3D '\0')) > > > + continue; > > > + devctl_safe_quote_sb(sb, opt->name); > > > + if (opt->len > 0) { > > > + sbuf_putc(sb, '=3D'); > > > + devctl_safe_quote_sb(sb, opt->value); > > > + } > > > + sbuf_putc(sb, ';'); > > > + } > > > + sbuf_putc(sb, '"'); > > > +} > > > + > > > +#define DEVCTL_LEN 1024 > > > +static void > > > +dev_vfs_event(const char *type, struct mount *mp, bool donew) > > > +{ > > > + const uint8_t *cp; > > > + struct mntoptnames *fp; > > > + struct sbuf sb; > > > + struct statfs *sfp =3D &mp->mnt_stat; > > > + char *buf; > > > + > > > + buf =3D malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); > > > + if (buf =3D=3D NULL) > > > + return; > > > > buf can't be NULL. > > >=20 > The bug here is that M_NOWAIT should have been specified in the malloc. >=20 >=20 > > > + sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); > > > + sbuf_cpy(&sb, "mount-point=3D\""); > > > + devctl_safe_quote_sb(&sb, sfp->f_mntonname); > > > + sbuf_cat(&sb, "\" mount-dev=3D\""); > > > + devctl_safe_quote_sb(&sb, sfp->f_mntfromname); > > > + sbuf_cat(&sb, "\" mount-type=3D\""); > > > + devctl_safe_quote_sb(&sb, sfp->f_fstypename); > > > + sbuf_cat(&sb, "\" fsid=3D0x"); > > > + cp =3D (const uint8_t *)&sfp->f_fsid.val[0]; > > > + for (int i =3D 0; i < sizeof(sfp->f_fsid); i++) > > > + sbuf_printf(&sb, "%02x", cp[i]); > > > + sbuf_printf(&sb, " owner=3D%u flags=3D\"", sfp->f_owner); > > > + for (fp =3D optnames; fp->o_opt !=3D 0; fp++) { > > > + if ((mp->mnt_flag & fp->o_opt) !=3D 0) { > > > + sbuf_cat(&sb, fp->o_name); > > > + sbuf_putc(&sb, ';'); > > > + } > > > + } > > > + sbuf_putc(&sb, '"'); > > > + dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); > > > + if (donew) > > > + dev_vfs_event_mntopt(&sb, "optnew", mp->mnt_optnew); > > > + sbuf_finish(&sb); > > > + > > > + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); > > > + sbuf_delete(&sb); > > > + free(buf, M_MOUNT); > > > } > > > > I don't really see much attention paid to checking for sbuf overflow. > > Could that cause issues, especially in case of impartial quotation > > termination? Could not performing those checks have security > > implications? Would performing those checks adhere to good code > > development practices? > > >=20 > sbuf doesn't overflow. It is safe from that perspective. The code should > just not send it if there's an overflow... There almost certainly won't = be > one in practice given the buffer size, though. You're right that sbuf can't overflow. However, assuming that it hasn't reached its fixed size specified above and continuing on as if there's still space left could lead to... interesting behavior. --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Sha= wn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --fir3ktbk4os5uyld Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAl89ZdUACgkQ/y5nonf4 4fraYg//QP4wBsv2QlncpKm+pPOrsZ9CED/Ig3gn57bySS6r5kyj79MkOhuQ5W3k 3mweUsth08K2ikSUm4zPzEuy9an/nsm3g3vp6iTmOD9XyirPqB6gxTaSZp2yAnuQ stvW3pHTPyPuWLlEHdDVv9VA/OIGT7hRHEPj92/tinjnUEkLyqqeOE2rQBtHudyj 37ytQUsz7Je4qyDxPY+p2D6U8jVfgB7xQp/F15Ap3GQOI6rpL+CN96wq5m5Mkzgh p/Jd7+EkbEjCzhyP5/tPbsxaBQU4GUWwKW5d1Q+iIOnMbbMadEUXD49/Ro55QUcg 3RRV6pdMXw9jz8u3b8/RRtTgBMP8tgR3KbEo/iL+oteFImMWyl334iikUWXBthjL Jkhpa0GwKJM9kdwl8VX7Cnh/P0izTyjBtuU9mLPsXnO/dUXcaswgAkzFDEfU4GRx d17QY8JTSubX2f/hKWzeAH4Mnr8v+44PvwFkywDfUmc+tsoxvp/MojdyMQaLotDz kyObsqYKNH5juKWb6fVx/0iJXqvC1GvwUo43AbIHuWTwl47xcZoWUGYn864ADumI PWUnOyOKrDyS5IvxQgbk2Dz58Ged0Acb3AbygjuAJ1FWTvLrjxpgcD907CEaTtgq CeuJTxTROiInCtJXiHuvnSxrrfJQn4rsiSdZh8ST+3hfulF8Kzw= =YLxR -----END PGP SIGNATURE----- --fir3ktbk4os5uyld-- From owner-svn-src-all@freebsd.org Wed Aug 19 17:51:23 2020 Return-Path: Delivered-To: svn-src-all@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 2A4DB3C5CA6 for ; Wed, 19 Aug 2020 17:51:23 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) (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 4BWwLy1RhPz4M8X for ; Wed, 19 Aug 2020 17:51:22 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x835.google.com with SMTP id e5so18433843qth.5 for ; Wed, 19 Aug 2020 10:51:22 -0700 (PDT) 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=kqx4h3RuuvFweXGwgdCu3JL4ZCzqZ3VOZOYVCCwhP4c=; b=pbbcwF+uUrtvBxVXUrcVQmwSx26tUx3mb78aaFuCuXeWaqTgTTe9KBDehO5pFLrvni BWn5uiNi389Yo+iPJ9IeLxkD0eF/SmiMWcdMAEjYVOiXUOEM+AZvkJPpvf20eIoQPu7b FBL0hLJnKDAts+hk0m08Vmt5DV8bP27qpMqGLs675bRWDstuyQlAl0OTRdNgkkZlTjTL OaClmul9rluMmYZcdcEgRxj3a5ibGskaGcTodSlKBnNIplatW7VO/V+JNLWYz6J5YrQZ cBf66i5EWK4lB15Bh6FrZJeeUVJhtdNbeMu1kdOq2EnFBABV1SKjYTVc1yuta6llTArq m0YQ== 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=kqx4h3RuuvFweXGwgdCu3JL4ZCzqZ3VOZOYVCCwhP4c=; b=TF/l/yGM87o7BI6OOF2Ks+Ea1KLCq6ft0AQovAZn0XZJv5SVtp3u59PHkoaByUKm/h RR+tsAwiRN2Wyg4xWBJJIHcXrjWUTb4q/ABDsTxTTUbxoh+OwxYvAS0kmwhTUl1B9VYM QbiBMsuDd3WcXll3er++Gzykx1zI6/aXSXKepmaviECc2ZgzrpfJ65k5mZryMeHUvTKs am3VfiZcEPE0JZAVPGXtyvwdKiGuKpmg3Vt/Y1jXJwQ5/tF6TsSy4WEfo8QFmTrzqNq/ Azn+RYC1oLnzjYu5DmzDNC3XmErArLvBnAyyZBin1G66+xxofT08/God4fXZTdfpYrkW QXFw== X-Gm-Message-State: AOAM532KV+0kEPDnsc9UUBlHB1H+i4bhzRxYw+1WIQiw7xO4FFkGMhdi eIJA+FDOp/+WpaebqFagAX9jHG4hZCF60CyqCT9BZMzuVCkhvA== X-Google-Smtp-Source: ABdhPJwrBZbS9p6d9yR1LILzX4sK4PGBIJvLnAUgsbZ5BMPoi9feXCG8Fb+wGTuQsiiEtHI7Wu9we/YpXUw92i7vDoY= X-Received: by 2002:ac8:50a:: with SMTP id u10mr23303452qtg.175.1597859481056; Wed, 19 Aug 2020 10:51:21 -0700 (PDT) MIME-Version: 1.0 References: <202008191710.07JHA5Rk008764@repo.freebsd.org> <20200819172613.vdyutsn6a4w5fbqr@mutt-hbsd> <20200819174808.ts3i72vzqsx3sq5o@mutt-hbsd> In-Reply-To: <20200819174808.ts3i72vzqsx3sq5o@mutt-hbsd> From: Warner Losh Date: Wed, 19 Aug 2020 11:51:10 -0600 Message-ID: Subject: Re: svn commit: r364402 - head/sys/kern To: Shawn Webb Cc: Warner Losh , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 4BWwLy1RhPz4M8X X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=pbbcwF+u; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::835) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-0.03 / 15.00]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; NEURAL_HAM_SHORT(-0.03)[-0.025]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::835:from]; R_SPF_NA(0.00)[no SPF record]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; MAILMAN_DEST(0.00)[svn-src-all]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:51:23 -0000 On Wed, Aug 19, 2020 at 11:48 AM Shawn Webb wrote: > On Wed, Aug 19, 2020 at 11:44:42AM -0600, Warner Losh wrote: > > On Wed, Aug 19, 2020 at 11:26 AM Shawn Webb > > wrote: > > > > > On Wed, Aug 19, 2020 at 05:10:05PM +0000, Warner Losh wrote: > > > > Author: imp > > > > Date: Wed Aug 19 17:10:04 2020 > > > > New Revision: 364402 > > > > URL: https://svnweb.freebsd.org/changeset/base/364402 > > > > > > > > Log: > > > > Add VFS FS events for mount and unmount to devctl/devd > > > > > > > > Report when a filesystem is mounted, remounted or unmounted via > devd, > > > along with > > > > details about the mount point and mount options. > > > > > > > > Discussed with: kib@ > > > > Reviewed by: kirk@ (prior version) > > > > Sponsored by: Netflix > > > > Diffential Revision: https://reviews.freebsd.org/D25969 > > > > > > > > Modified: > > > > head/sys/kern/vfs_mount.c > > > > > > > > Modified: head/sys/kern/vfs_mount.c > > > > > > > > ============================================================================== > > > > --- head/sys/kern/vfs_mount.c Wed Aug 19 17:09:58 2020 > (r364401) > > > > +++ head/sys/kern/vfs_mount.c Wed Aug 19 17:10:04 2020 > (r364402) > > > > @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); > > > > #include > > > > #include > > > > #include > > > > +#include > > > > #include > > > > #include > > > > #include > > > > @@ -101,6 +102,8 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, > "mountlist", > > > MT > > > > EVENTHANDLER_LIST_DEFINE(vfs_mounted); > > > > EVENTHANDLER_LIST_DEFINE(vfs_unmounted); > > > > > > > > +static void dev_vfs_event(const char *type, struct mount *mp, bool > > > donew); > > > > + > > > > /* > > > > * Global opts, taken by all filesystems > > > > */ > > > > @@ -1020,6 +1023,7 @@ vfs_domount_first( > > > > VOP_UNLOCK(vp); > > > > EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td); > > > > VOP_UNLOCK(newdp); > > > > + dev_vfs_event("MOUNT", mp, false); > > > > mountcheckdirs(vp, newdp); > > > > vn_seqc_write_end(vp); > > > > vn_seqc_write_end(newdp); > > > > @@ -1221,6 +1225,7 @@ vfs_domount_update( > > > > if (error != 0) > > > > goto end; > > > > > > > > + dev_vfs_event("REMOUNT", mp, true); > > > > if (mp->mnt_opt != NULL) > > > > vfs_freeopts(mp->mnt_opt); > > > > mp->mnt_opt = mp->mnt_optnew; > > > > @@ -1839,6 +1844,7 @@ dounmount(struct mount *mp, int flags, struct > > > thread * > > > > TAILQ_REMOVE(&mountlist, mp, mnt_list); > > > > mtx_unlock(&mountlist_mtx); > > > > EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); > > > > + dev_vfs_event("UNMOUNT", mp, false); > > > > if (coveredvp != NULL) { > > > > coveredvp->v_mountedhere = NULL; > > > > vn_seqc_write_end(coveredvp); > > > > @@ -2425,4 +2431,72 @@ kernel_vmount(int flags, ...) > > > > > > > > error = kernel_mount(ma, flags); > > > > return (error); > > > > +} > > > > + > > > > +/* Map from mount options to printable formats. */ > > > > +static struct mntoptnames optnames[] = { > > > > + MNTOPT_NAMES > > > > +}; > > > > + > > > > +static void > > > > +dev_vfs_event_mntopt(struct sbuf *sb, const char *what, struct > > > vfsoptlist *opts) > > > > +{ > > > > + struct vfsopt *opt; > > > > + > > > > + if (opts == NULL || TAILQ_EMPTY(opts)) > > > > + return; > > > > + sbuf_printf(sb, " %s=\"", what); > > > > + TAILQ_FOREACH(opt, opts, link) { > > > > + if (opt->name[0] == '\0' || (opt->len > 0 && *(char > > > *)opt->value == '\0')) > > > > + continue; > > > > + devctl_safe_quote_sb(sb, opt->name); > > > > + if (opt->len > 0) { > > > > + sbuf_putc(sb, '='); > > > > + devctl_safe_quote_sb(sb, opt->value); > > > > + } > > > > + sbuf_putc(sb, ';'); > > > > + } > > > > + sbuf_putc(sb, '"'); > > > > +} > > > > + > > > > +#define DEVCTL_LEN 1024 > > > > +static void > > > > +dev_vfs_event(const char *type, struct mount *mp, bool donew) > > > > +{ > > > > + const uint8_t *cp; > > > > + struct mntoptnames *fp; > > > > + struct sbuf sb; > > > > + struct statfs *sfp = &mp->mnt_stat; > > > > + char *buf; > > > > + > > > > + buf = malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); > > > > + if (buf == NULL) > > > > + return; > > > > > > buf can't be NULL. > > > > > > > The bug here is that M_NOWAIT should have been specified in the malloc. > > > > > > > > + sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); > > > > + sbuf_cpy(&sb, "mount-point=\""); > > > > + devctl_safe_quote_sb(&sb, sfp->f_mntonname); > > > > + sbuf_cat(&sb, "\" mount-dev=\""); > > > > + devctl_safe_quote_sb(&sb, sfp->f_mntfromname); > > > > + sbuf_cat(&sb, "\" mount-type=\""); > > > > + devctl_safe_quote_sb(&sb, sfp->f_fstypename); > > > > + sbuf_cat(&sb, "\" fsid=0x"); > > > > + cp = (const uint8_t *)&sfp->f_fsid.val[0]; > > > > + for (int i = 0; i < sizeof(sfp->f_fsid); i++) > > > > + sbuf_printf(&sb, "%02x", cp[i]); > > > > + sbuf_printf(&sb, " owner=%u flags=\"", sfp->f_owner); > > > > + for (fp = optnames; fp->o_opt != 0; fp++) { > > > > + if ((mp->mnt_flag & fp->o_opt) != 0) { > > > > + sbuf_cat(&sb, fp->o_name); > > > > + sbuf_putc(&sb, ';'); > > > > + } > > > > + } > > > > + sbuf_putc(&sb, '"'); > > > > + dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); > > > > + if (donew) > > > > + dev_vfs_event_mntopt(&sb, "optnew", mp->mnt_optnew); > > > > + sbuf_finish(&sb); > > > > + > > > > + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); > > > > + sbuf_delete(&sb); > > > > + free(buf, M_MOUNT); > > > > } > > > > > > I don't really see much attention paid to checking for sbuf overflow. > > > Could that cause issues, especially in case of impartial quotation > > > termination? Could not performing those checks have security > > > implications? Would performing those checks adhere to good code > > > development practices? > > > > > > > sbuf doesn't overflow. It is safe from that perspective. The code should > > just not send it if there's an overflow... There almost certainly won't > be > > one in practice given the buffer size, though. > > You're right that sbuf can't overflow. However, assuming that it > hasn't reached its fixed size specified above and continuing on as if > there's still space left could lead to... interesting behavior. > Right, which is why we should check. See https://reviews.freebsd.org/D26122 for the proper tweak (imho). Warner > -- > Shawn Webb > Cofounder / Security Engineer > HardenedBSD > > GPG Key ID: 0xFF2E67A277F8E1FA > GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 > > https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc > From owner-svn-src-all@freebsd.org Wed Aug 19 17:52:06 2020 Return-Path: Delivered-To: svn-src-all@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 ABD913C5C4C; Wed, 19 Aug 2020 17:52:06 +0000 (UTC) (envelope-from emaste@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 4BWwMp48JYz4McH; Wed, 19 Aug 2020 17:52:06 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7273D26C12; Wed, 19 Aug 2020 17:52:06 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JHq6M3038890; Wed, 19 Aug 2020 17:52:06 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JHq6LI038889; Wed, 19 Aug 2020 17:52:06 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008191752.07JHq6LI038889@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 19 Aug 2020 17:52:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364404 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 364404 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:52:06 -0000 Author: emaste Date: Wed Aug 19 17:52:06 2020 New Revision: 364404 URL: https://svnweb.freebsd.org/changeset/base/364404 Log: ipfirewall(4): remove Cuseeme from supported list Submitted by: Dries Michiels MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D26075 Modified: head/share/man/man4/ipfirewall.4 Modified: head/share/man/man4/ipfirewall.4 ============================================================================== --- head/share/man/man4/ipfirewall.4 Wed Aug 19 17:10:09 2020 (r364403) +++ head/share/man/man4/ipfirewall.4 Wed Aug 19 17:52:06 2020 (r364404) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 21, 2020 +.Dd August 19, 2020 .Dt IPFW 4 .Os .Sh NAME @@ -133,7 +133,7 @@ the kernel option enables full .Xr libalias 3 functionality in the kernel. -Full functionality refers to included support for cuseeme, ftp, bbt, +Full functionality refers to included support for ftp, bbt, skinny, irc, pptp and smedia packets, which are missing in the basic .Xr libalias 3 functionality accomplished with the From owner-svn-src-all@freebsd.org Wed Aug 19 17:54:51 2020 Return-Path: Delivered-To: svn-src-all@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 7035B3C5C69 for ; Wed, 19 Aug 2020 17:54:51 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com [IPv6:2607:f8b0:4864:20::72b]) (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 4BWwQy45Dyz4MVG for ; Wed, 19 Aug 2020 17:54:50 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qk1-x72b.google.com with SMTP id p25so22434935qkp.2 for ; Wed, 19 Aug 2020 10:54:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=IYngxZZxZQimYzRyfCUC2hLlW+cspvmhKY9GOoV0Wck=; b=EaV3TKKq28hLg1Vk6hrJxwP3rhnu7z9Tu/Iuw6Tiv/mpZsQsM+papghGyrj0UJ7qz5 rTveIrLGyf8appFOYUp8C5DSWGIkdKSDahUU226kOa4b0mV+yzJmR14COl34sjwG9JAW J3Ztxf50bda+mJCS1fviwsQlxdsUKhQx1lniOb4dAWPUTiRtuQNPHnDA1ff8HaAfsVBP 88OFCIJGN7T1itFrlNE47WbVbMVL7Ae9iohZLTkdaDjRNtswr5qfVxTgyyoXgSpNKqGQ j3TAnandyJQOGbcFPNKf3rLqvribq2Id1pH7ooKgTHB8scXRzFIdxGqnQEmyYtwyczwB OUXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=IYngxZZxZQimYzRyfCUC2hLlW+cspvmhKY9GOoV0Wck=; b=DWrpH+kYH7W090o5G7p3/htJ939ga1WPG2xsz7/rDtYw8qybAmI7v2qRQ1tHWZ/Mrx csY1Az5E362Qfyx7YBMnvPBPHA+ZuN5noEReRdFlEHdGukG1qkcbaUy0HzWydIXBA+3B sI59Jhvn4adl/ePZ3ahzsZaw6y+fys6B9KxlpAkf8IPlPo8LlV8Tmm41ki+VtOCxo6h0 tfd4F7XWXaBvhxSKZNboLVwH+qN5Rvq6BUjzzxFzS/NrjhWP0Apkkbdq0MiVymwyS7O6 wDjt0oEI1pMU+OR8GMJqs7BG6M99cnqr4mgLWb2TaTa0EGTTpdoZmHNUwBHpWfXOBtaT Nyzw== X-Gm-Message-State: AOAM531nVW6piDa84WinMeCjPaUZ5V8SWbDc0bUTjmMpIYS9aG+W/uek 7iZzRl5qmD67lXbYm1nNso1Q9w== X-Google-Smtp-Source: ABdhPJyPJJ05b8S2FLYtBRkEXIZZHax1tugHhfUx1mZ60xWloGg72UvKMQqyG41JHc3y8gVmchkhuQ== X-Received: by 2002:a05:620a:22e9:: with SMTP id p9mr23772175qki.105.1597859689238; Wed, 19 Aug 2020 10:54:49 -0700 (PDT) Received: from mutt-hbsd (pool-100-16-231-224.bltmmd.fios.verizon.net. [100.16.231.224]) by smtp.gmail.com with ESMTPSA id t1sm25071945qkt.119.2020.08.19.10.54.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2020 10:54:48 -0700 (PDT) Date: Wed, 19 Aug 2020 13:54:47 -0400 From: Shawn Webb To: Warner Losh Cc: Warner Losh , src-committers , svn-src-all , svn-src-head Subject: Re: svn commit: r364402 - head/sys/kern Message-ID: <20200819175447.pjoa2pmusdbql22q@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 13.0-CURRENT-HBSD FreeBSD 13.0-CURRENT-HBSD X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0xFF2E67A277F8E1FA References: <202008191710.07JHA5Rk008764@repo.freebsd.org> <20200819172613.vdyutsn6a4w5fbqr@mutt-hbsd> <20200819174808.ts3i72vzqsx3sq5o@mutt-hbsd> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="hfbjzt6hwnwusfdh" Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4BWwQy45Dyz4MVG X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=EaV3TKKq; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::72b as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org X-Spamd-Result: default: False [-2.34 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org:s=google]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[hardenedbsd.org]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[hardenedbsd.org:+]; NEURAL_HAM_SHORT(-0.24)[-0.238]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::72b:from]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; RECEIVED_SPAMHAUS_PBL(0.00)[100.16.231.224:received] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:54:51 -0000 --hfbjzt6hwnwusfdh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Aug 19, 2020 at 11:51:10AM -0600, Warner Losh wrote: > On Wed, Aug 19, 2020 at 11:48 AM Shawn Webb > wrote: >=20 > > On Wed, Aug 19, 2020 at 11:44:42AM -0600, Warner Losh wrote: > > > On Wed, Aug 19, 2020 at 11:26 AM Shawn Webb > > > wrote: > > > > > > > On Wed, Aug 19, 2020 at 05:10:05PM +0000, Warner Losh wrote: > > > > > Author: imp > > > > > Date: Wed Aug 19 17:10:04 2020 > > > > > New Revision: 364402 > > > > > URL: https://svnweb.freebsd.org/changeset/base/364402 > > > > > > > > > > Log: > > > > > Add VFS FS events for mount and unmount to devctl/devd > > > > > > > > > > Report when a filesystem is mounted, remounted or unmounted via > > devd, > > > > along with > > > > > details about the mount point and mount options. > > > > > > > > > > Discussed with: kib@ > > > > > Reviewed by: kirk@ (prior version) > > > > > Sponsored by: Netflix > > > > > Diffential Revision: https://reviews.freebsd.org/D25969 > > > > > > > > > > Modified: > > > > > head/sys/kern/vfs_mount.c > > > > > > > > > > Modified: head/sys/kern/vfs_mount.c > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > > > > --- head/sys/kern/vfs_mount.c Wed Aug 19 17:09:58 2020 > > (r364401) > > > > > +++ head/sys/kern/vfs_mount.c Wed Aug 19 17:10:04 2020 > > (r364402) > > > > > @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); > > > > > #include > > > > > #include > > > > > #include > > > > > +#include > > > > > #include > > > > > #include > > > > > #include > > > > > @@ -101,6 +102,8 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, > > "mountlist", > > > > MT > > > > > EVENTHANDLER_LIST_DEFINE(vfs_mounted); > > > > > EVENTHANDLER_LIST_DEFINE(vfs_unmounted); > > > > > > > > > > +static void dev_vfs_event(const char *type, struct mount *mp, bo= ol > > > > donew); > > > > > + > > > > > /* > > > > > * Global opts, taken by all filesystems > > > > > */ > > > > > @@ -1020,6 +1023,7 @@ vfs_domount_first( > > > > > VOP_UNLOCK(vp); > > > > > EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td); > > > > > VOP_UNLOCK(newdp); > > > > > + dev_vfs_event("MOUNT", mp, false); > > > > > mountcheckdirs(vp, newdp); > > > > > vn_seqc_write_end(vp); > > > > > vn_seqc_write_end(newdp); > > > > > @@ -1221,6 +1225,7 @@ vfs_domount_update( > > > > > if (error !=3D 0) > > > > > goto end; > > > > > > > > > > + dev_vfs_event("REMOUNT", mp, true); > > > > > if (mp->mnt_opt !=3D NULL) > > > > > vfs_freeopts(mp->mnt_opt); > > > > > mp->mnt_opt =3D mp->mnt_optnew; > > > > > @@ -1839,6 +1844,7 @@ dounmount(struct mount *mp, int flags, stru= ct > > > > thread * > > > > > TAILQ_REMOVE(&mountlist, mp, mnt_list); > > > > > mtx_unlock(&mountlist_mtx); > > > > > EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); > > > > > + dev_vfs_event("UNMOUNT", mp, false); > > > > > if (coveredvp !=3D NULL) { > > > > > coveredvp->v_mountedhere =3D NULL; > > > > > vn_seqc_write_end(coveredvp); > > > > > @@ -2425,4 +2431,72 @@ kernel_vmount(int flags, ...) > > > > > > > > > > error =3D kernel_mount(ma, flags); > > > > > return (error); > > > > > +} > > > > > + > > > > > +/* Map from mount options to printable formats. */ > > > > > +static struct mntoptnames optnames[] =3D { > > > > > + MNTOPT_NAMES > > > > > +}; > > > > > + > > > > > +static void > > > > > +dev_vfs_event_mntopt(struct sbuf *sb, const char *what, struct > > > > vfsoptlist *opts) > > > > > +{ > > > > > + struct vfsopt *opt; > > > > > + > > > > > + if (opts =3D=3D NULL || TAILQ_EMPTY(opts)) > > > > > + return; > > > > > + sbuf_printf(sb, " %s=3D\"", what); > > > > > + TAILQ_FOREACH(opt, opts, link) { > > > > > + if (opt->name[0] =3D=3D '\0' || (opt->len > 0 && *(= char > > > > *)opt->value =3D=3D '\0')) > > > > > + continue; > > > > > + devctl_safe_quote_sb(sb, opt->name); > > > > > + if (opt->len > 0) { > > > > > + sbuf_putc(sb, '=3D'); > > > > > + devctl_safe_quote_sb(sb, opt->value); > > > > > + } > > > > > + sbuf_putc(sb, ';'); > > > > > + } > > > > > + sbuf_putc(sb, '"'); > > > > > +} > > > > > + > > > > > +#define DEVCTL_LEN 1024 > > > > > +static void > > > > > +dev_vfs_event(const char *type, struct mount *mp, bool donew) > > > > > +{ > > > > > + const uint8_t *cp; > > > > > + struct mntoptnames *fp; > > > > > + struct sbuf sb; > > > > > + struct statfs *sfp =3D &mp->mnt_stat; > > > > > + char *buf; > > > > > + > > > > > + buf =3D malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); > > > > > + if (buf =3D=3D NULL) > > > > > + return; > > > > > > > > buf can't be NULL. > > > > > > > > > > The bug here is that M_NOWAIT should have been specified in the mallo= c. > > > > > > > > > > > + sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); > > > > > + sbuf_cpy(&sb, "mount-point=3D\""); > > > > > + devctl_safe_quote_sb(&sb, sfp->f_mntonname); > > > > > + sbuf_cat(&sb, "\" mount-dev=3D\""); > > > > > + devctl_safe_quote_sb(&sb, sfp->f_mntfromname); > > > > > + sbuf_cat(&sb, "\" mount-type=3D\""); > > > > > + devctl_safe_quote_sb(&sb, sfp->f_fstypename); > > > > > + sbuf_cat(&sb, "\" fsid=3D0x"); > > > > > + cp =3D (const uint8_t *)&sfp->f_fsid.val[0]; > > > > > + for (int i =3D 0; i < sizeof(sfp->f_fsid); i++) > > > > > + sbuf_printf(&sb, "%02x", cp[i]); > > > > > + sbuf_printf(&sb, " owner=3D%u flags=3D\"", sfp->f_owner); > > > > > + for (fp =3D optnames; fp->o_opt !=3D 0; fp++) { > > > > > + if ((mp->mnt_flag & fp->o_opt) !=3D 0) { > > > > > + sbuf_cat(&sb, fp->o_name); > > > > > + sbuf_putc(&sb, ';'); > > > > > + } > > > > > + } > > > > > + sbuf_putc(&sb, '"'); > > > > > + dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); > > > > > + if (donew) > > > > > + dev_vfs_event_mntopt(&sb, "optnew", mp->mnt_optnew); > > > > > + sbuf_finish(&sb); > > > > > + > > > > > + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); > > > > > + sbuf_delete(&sb); > > > > > + free(buf, M_MOUNT); > > > > > } > > > > > > > > I don't really see much attention paid to checking for sbuf overflo= w. > > > > Could that cause issues, especially in case of impartial quotation > > > > termination? Could not performing those checks have security > > > > implications? Would performing those checks adhere to good code > > > > development practices? > > > > > > > > > > sbuf doesn't overflow. It is safe from that perspective. The code sho= uld > > > just not send it if there's an overflow... There almost certainly wo= n't > > be > > > one in practice given the buffer size, though. > > > > You're right that sbuf can't overflow. However, assuming that it > > hasn't reached its fixed size specified above and continuing on as if > > there's still space left could lead to... interesting behavior. > > >=20 > Right, which is why we should check. >=20 > See https://reviews.freebsd.org/D26122 for the proper tweak (imho). Why spend so much time in the kernel just to fail at the end? Why not fail fast, checking for sbuf_* returning -1 along the way? --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Sha= wn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --hfbjzt6hwnwusfdh Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAl89Z2cACgkQ/y5nonf4 4fow2Q//VfcnugxVzIVaad043nv5oXZNsiyTM28qHVU5Oq9BHw4Pkoh5EyLn7xrn 8odXES1eO+9cOgS7UF7XwQEWLY27i9X1cZ1cPYPlt7Av9TytNW9V1E2YgseJdSvA tM06D4H35l3b2rjdxb625/mIK3vx5qic/sl1xhrO4gipkEZseL/qS2C1h0/6cX7b AfuCbdkktXKECzCJqAYLtVUBgpY/VGYTS2FYd/gmnH5a37ESvfy9s4B8WmOg6EGo mGHx9D0DEsGBh7V8Y5cNno3EnNNH6pj2bRhw+7KfqUs8V9UbR/mTYl+611l2U5/i Y+wYyyo1kskkHRQo9Bb5KN0/+feobekzHuXcb2gtAhka/UrSp07A1TqJOmn/YA/z ohJzWfXJzqPOx5qn0Kkikfky30jryBpxrO90Qv1aE/wt4lKMXn+uKMh/1dQ34rxH pWAFaNOGfmjeayEisgJ4yN8mJLKQ4Isc9mWLVOJTt+hR1vKya8HKQJ9QDzo8T0x3 XfICPRVKPA+N6Hw3Of7BhaTxyduiZqaRW09X9F2QBbKKdiTG0wCjBq8H0KzSh4P0 x2f6onSJLPbfgyE7FmRYhAIwBEYl/CfnbMx4xdnsnAg1Im/zc76vsATFqxWT3Lis 11+UqgseLwhqbuc/6NyMGMbLx9DwADGDPo/RjgC0aH5T8mWh5v4= =Hbtr -----END PGP SIGNATURE----- --hfbjzt6hwnwusfdh-- From owner-svn-src-all@freebsd.org Wed Aug 19 17:59:07 2020 Return-Path: Delivered-To: svn-src-all@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 B53DD3C5EB5; Wed, 19 Aug 2020 17:59:07 +0000 (UTC) (envelope-from gallatin@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 4BWwWv4jT1z4Mkc; Wed, 19 Aug 2020 17:59:07 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 85F97267FD; Wed, 19 Aug 2020 17:59:07 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JHx74A040192; Wed, 19 Aug 2020 17:59:07 GMT (envelope-from gallatin@FreeBSD.org) Received: (from gallatin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JHx6mr040187; Wed, 19 Aug 2020 17:59:06 GMT (envelope-from gallatin@FreeBSD.org) Message-Id: <202008191759.07JHx6mr040187@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gallatin set sender to gallatin@FreeBSD.org using -f From: Andrew Gallatin Date: Wed, 19 Aug 2020 17:59:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364405 - in head/sys/netinet: . tcp_stacks X-SVN-Group: head X-SVN-Commit-Author: gallatin X-SVN-Commit-Paths: in head/sys/netinet: . tcp_stacks X-SVN-Commit-Revision: 364405 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 17:59:07 -0000 Author: gallatin Date: Wed Aug 19 17:59:06 2020 New Revision: 364405 URL: https://svnweb.freebsd.org/changeset/base/364405 Log: TCP: remove special treatment for hardware (ifnet) TLS Remove most special treatment for ifnet TLS in the TCP stack, except for code to avoid mixing handshakes and bulk data. This code made heroic efforts to send down entire TLS records to NICs. It was added to improve the PCIe bus efficiency of older TLS offload NICs which did not keep state per-session, and so would need to re-DMA the first part(s) of a TLS record if a TLS record was sent in multiple TCP packets or TSOs. Newer TLS offload NICs do not need this feature. At Netflix, we've run extensive QoE tests which show that this feature reduces client quality metrics, presumably because the effort to send TLS records atomically causes the server to both wait too long to send data (leading to buffers running dry), and to send too much data at once (leading to packet loss). Reviewed by: hselasky, jhb, rrs Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D26103 Modified: head/sys/netinet/tcp_output.c head/sys/netinet/tcp_stacks/bbr.c head/sys/netinet/tcp_stacks/rack.c Modified: head/sys/netinet/tcp_output.c ============================================================================== --- head/sys/netinet/tcp_output.c Wed Aug 19 17:52:06 2020 (r364404) +++ head/sys/netinet/tcp_output.c Wed Aug 19 17:59:06 2020 (r364405) @@ -1957,17 +1957,6 @@ tcp_m_copym(struct mbuf *m, int32_t off0, int32_t *ple *pkthdrlen = len_cp; break; } - - /* - * Don't end a send in the middle of a TLS - * record if it spans multiple TLS records. - */ - if (tls != NULL && (m != start) && len < m->m_len) { - *plen = len_cp; - if (pkthdrlen != NULL) - *pkthdrlen = len_cp; - break; - } } #endif mlen = min(len, m->m_len - off); Modified: head/sys/netinet/tcp_stacks/bbr.c ============================================================================== --- head/sys/netinet/tcp_stacks/bbr.c Wed Aug 19 17:52:06 2020 (r364404) +++ head/sys/netinet/tcp_stacks/bbr.c Wed Aug 19 17:59:06 2020 (r364405) @@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$"); #include "opt_ipsec.h" #include "opt_tcpdebug.h" #include "opt_ratelimit.h" -#include "opt_kern_tls.h" #include #include #include @@ -52,9 +51,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#ifdef KERN_TLS -#include -#endif #include #include #ifdef STATS @@ -4600,15 +4596,6 @@ bbr_timeout_tlp(struct tcpcb *tp, struct tcp_bbr *bbr, bbr_set_state(tp, bbr, 0); BBR_STAT_INC(bbr_tlp_tot); maxseg = tp->t_maxseg - bbr->rc_last_options; -#ifdef KERN_TLS - if (bbr->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) { - /* - * For hardware TLS we do *not* want to send - * new data. - */ - goto need_retran; - } -#endif /* * A TLP timer has expired. We have been idle for 2 rtts. So we now * need to figure out how to force a full MSS segment out. @@ -5802,8 +5789,6 @@ tcp_bbr_tso_size_check(struct tcp_bbr *bbr, uint32_t c * Note we do set anything TSO size until we are past the initial * window. Before that we gnerally use either a single MSS * or we use the full IW size (so we burst a IW at a time) - * Also note that Hardware-TLS is special and does alternate - * things to minimize PCI Bus Bandwidth use. */ if (bbr->rc_tp->t_maxseg > bbr->rc_last_options) { @@ -5811,19 +5796,12 @@ tcp_bbr_tso_size_check(struct tcp_bbr *bbr, uint32_t c } else { maxseg = BBR_MIN_SEG - bbr->rc_last_options; } -#ifdef KERN_TLS - if (bbr->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) { - tls_seg = ctf_get_opt_tls_size(bbr->rc_inp->inp_socket, bbr->rc_tp->snd_wnd); - bbr->r_ctl.rc_pace_min_segs = (tls_seg + bbr->rc_last_options); - } -#endif old_tso = bbr->r_ctl.rc_pace_max_segs; if (bbr->rc_past_init_win == 0) { /* * Not enough data has been acknowledged to make a - * judgement unless we are hardware TLS. Set up - * the initial TSO based on if we are sending a - * full IW at once or not. + * judgement. Set up the initial TSO based on if we + * are sending a full IW at once or not. */ if (bbr->rc_use_google) bbr->r_ctl.rc_pace_max_segs = ((bbr->rc_tp->t_maxseg - bbr->rc_last_options) * 2); @@ -5833,22 +5811,10 @@ tcp_bbr_tso_size_check(struct tcp_bbr *bbr, uint32_t c bbr->r_ctl.rc_pace_max_segs = bbr->rc_tp->t_maxseg - bbr->rc_last_options; if (bbr->r_ctl.rc_pace_min_segs != bbr->rc_tp->t_maxseg) bbr->r_ctl.rc_pace_min_segs = bbr->rc_tp->t_maxseg; -#ifdef KERN_TLS - if ((bbr->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) && tls_seg) { - /* - * For hardware TLS we set our min to the tls_seg size. - */ - bbr->r_ctl.rc_pace_max_segs = tls_seg; - bbr->r_ctl.rc_pace_min_segs = tls_seg + bbr->rc_last_options; - } -#endif if (bbr->r_ctl.rc_pace_max_segs == 0) { bbr->r_ctl.rc_pace_max_segs = maxseg; } bbr_log_type_tsosize(bbr, cts, bbr->r_ctl.rc_pace_max_segs, tls_seg, old_tso, maxseg, 0); -#ifdef KERN_TLS - if ((bbr->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) == 0) -#endif bbr_adjust_for_hw_pacing(bbr, cts); return; } @@ -5941,41 +5907,17 @@ tcp_bbr_tso_size_check(struct tcp_bbr *bbr, uint32_t c new_tso = maxseg * bbr->r_ctl.bbr_hptsi_segments_floor; if (new_tso > PACE_MAX_IP_BYTES) new_tso = rounddown(PACE_MAX_IP_BYTES, maxseg); - /* Enforce an utter maximum if we are not HW-TLS */ -#ifdef KERN_TLS - if ((bbr->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) == 0) -#endif - if (bbr->r_ctl.bbr_utter_max && (new_tso > (bbr->r_ctl.bbr_utter_max * maxseg))) { - new_tso = bbr->r_ctl.bbr_utter_max * maxseg; - } -#ifdef KERN_TLS - if (tls_seg) { - /* - * Lets move the output size - * up to 1 or more TLS record sizes. - */ - uint32_t temp; - - temp = roundup(new_tso, tls_seg); - new_tso = temp; - /* Back down if needed to under a full frame */ - while (new_tso > PACE_MAX_IP_BYTES) - new_tso -= tls_seg; + /* Enforce an utter maximum. */ + if (bbr->r_ctl.bbr_utter_max && (new_tso > (bbr->r_ctl.bbr_utter_max * maxseg))) { + new_tso = bbr->r_ctl.bbr_utter_max * maxseg; } -#endif if (old_tso != new_tso) { /* Only log changes */ bbr_log_type_tsosize(bbr, cts, new_tso, tls_seg, old_tso, maxseg, 0); bbr->r_ctl.rc_pace_max_segs = new_tso; } -#ifdef KERN_TLS - if ((bbr->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) && - tls_seg) { - bbr->r_ctl.rc_pace_min_segs = tls_seg + bbr->rc_last_options; - } else -#endif - /* We have hardware pacing and not hardware TLS! */ - bbr_adjust_for_hw_pacing(bbr, cts); + /* We have hardware pacing! */ + bbr_adjust_for_hw_pacing(bbr, cts); } static void @@ -12094,7 +12036,6 @@ bbr_output_wtime(struct tcpcb *tp, const struct timeva volatile int32_t sack_rxmit; struct bbr_sendmap *rsm = NULL; int32_t tso, mtu; - int force_tso = 0; struct tcpopt to; int32_t slot = 0; struct inpcb *inp; @@ -12113,11 +12054,9 @@ bbr_output_wtime(struct tcpcb *tp, const struct timeva inp = bbr->rc_inp; so = inp->inp_socket; sb = &so->so_snd; -#ifdef KERN_TLS if (sb->sb_flags & SB_TLS_IFNET) hw_tls = 1; else -#endif hw_tls = 0; kern_prefetch(sb, &maxseg); maxseg = tp->t_maxseg - bbr->rc_last_options; @@ -12423,9 +12362,6 @@ recheck_resend: } else len = rsm->r_end - rsm->r_start; if ((bbr->rc_resends_use_tso == 0) && -#ifdef KERN_TLS - ((sb->sb_flags & SB_TLS_IFNET) == 0) && -#endif (len > maxseg)) { len = maxseg; more_to_rxt = 1; @@ -13199,13 +13135,6 @@ send: * length beyond the t_maxseg length. Clear the FIN bit because we * cut off the tail of the segment. */ -#ifdef KERN_TLS - /* force TSO for so TLS offload can get mss */ - if (sb->sb_flags & SB_TLS_IFNET) { - force_tso = 1; - } -#endif - if (len > maxseg) { if (len != 0 && (flags & TH_FIN)) { flags &= ~TH_FIN; @@ -13239,8 +13168,7 @@ send: * Prevent the last segment from being fractional * unless the send sockbuf can be emptied: */ - if (((sb_offset + len) < sbavail(sb)) && - (hw_tls == 0)) { + if ((sb_offset + len) < sbavail(sb)) { moff = len % (uint32_t)maxseg; if (moff != 0) { len -= moff; @@ -13432,7 +13360,7 @@ send: , &filled_all #endif ); - if (len <= maxseg && !force_tso) { + if (len <= maxseg) { /* * Must have ran out of mbufs for the copy * shorten it to no longer need tso. Lets @@ -13758,8 +13686,8 @@ send: * header checksum is always provided. XXX: Fixme: This is currently * not the case for IPv6. */ - if (tso || force_tso) { - KASSERT(force_tso || len > maxseg, + if (tso) { + KASSERT(len > maxseg, ("%s: len:%d <= tso_segsz:%d", __func__, len, maxseg)); m->m_pkthdr.csum_flags |= CSUM_TSO; csum_flags |= CSUM_TSO; @@ -13938,35 +13866,6 @@ out: bbr->bbr_segs_rcvd = 0; if (len == 0) counter_u64_add(bbr_out_size[TCP_MSS_ACCT_SNDACK], 1); - else if (hw_tls) { - if (filled_all || - (len >= bbr->r_ctl.rc_pace_max_segs)) - BBR_STAT_INC(bbr_meets_tso_thresh); - else { - if (doing_tlp) { - BBR_STAT_INC(bbr_miss_tlp); - bbr_log_type_hrdwtso(tp, bbr, len, 1, what_we_can); - - - } else if (rsm) { - BBR_STAT_INC(bbr_miss_retran); - bbr_log_type_hrdwtso(tp, bbr, len, 2, what_we_can); - } else if ((ctf_outstanding(tp) + bbr->r_ctl.rc_pace_max_segs) > sbavail(sb)) { - BBR_STAT_INC(bbr_miss_tso_app); - bbr_log_type_hrdwtso(tp, bbr, len, 3, what_we_can); - } else if ((ctf_flight_size(tp, (bbr->r_ctl.rc_sacked + - bbr->r_ctl.rc_lost_bytes)) + bbr->r_ctl.rc_pace_max_segs) > tp->snd_cwnd) { - BBR_STAT_INC(bbr_miss_tso_cwnd); - bbr_log_type_hrdwtso(tp, bbr, len, 4, what_we_can); - } else if ((ctf_outstanding(tp) + bbr->r_ctl.rc_pace_max_segs) > tp->snd_wnd) { - BBR_STAT_INC(bbr_miss_tso_rwnd); - bbr_log_type_hrdwtso(tp, bbr, len, 5, what_we_can); - } else { - BBR_STAT_INC(bbr_miss_unknown); - bbr_log_type_hrdwtso(tp, bbr, len, 6, what_we_can); - } - } - } /* Do accounting for new sends */ if ((len > 0) && (rsm == NULL)) { int idx; @@ -14286,7 +14185,6 @@ nomore: (bbr->r_ctl.rc_pace_max_segs > tp->t_maxseg) && (doing_tlp == 0) && (tso == 0) && - (hw_tls == 0) && (len > 0) && ((flags & TH_RST) == 0) && ((flags & TH_SYN) == 0) && Modified: head/sys/netinet/tcp_stacks/rack.c ============================================================================== --- head/sys/netinet/tcp_stacks/rack.c Wed Aug 19 17:52:06 2020 (r364404) +++ head/sys/netinet/tcp_stacks/rack.c Wed Aug 19 17:59:06 2020 (r364405) @@ -32,7 +32,6 @@ __FBSDID("$FreeBSD$"); #include "opt_ipsec.h" #include "opt_tcpdebug.h" #include "opt_ratelimit.h" -#include "opt_kern_tls.h" #include #include #include @@ -48,9 +47,6 @@ __FBSDID("$FreeBSD$"); #include /* for proc0 declaration */ #include #include -#ifdef KERN_TLS -#include -#endif #include #include #ifdef STATS @@ -200,7 +196,6 @@ static int32_t rack_non_rxt_use_cr = 0; /* does a non- static int32_t rack_persist_min = 250; /* 250ms */ static int32_t rack_persist_max = 2000; /* 2 Second */ static int32_t rack_sack_not_required = 0; /* set to one to allow non-sack to use rack */ -static int32_t rack_hw_tls_max_seg = 3; /* 3 means use hw-tls single segment */ static int32_t rack_default_init_window = 0; /* Use system default */ static int32_t rack_limit_time_with_srtt = 0; static int32_t rack_hw_pace_adjust = 0; @@ -349,15 +344,6 @@ counter_u64_t rack_collapsed_win; counter_u64_t rack_tlp_does_nada; counter_u64_t rack_try_scwnd; -/* Counters for HW TLS */ -counter_u64_t rack_tls_rwnd; -counter_u64_t rack_tls_cwnd; -counter_u64_t rack_tls_app; -counter_u64_t rack_tls_other; -counter_u64_t rack_tls_filled; -counter_u64_t rack_tls_rxt; -counter_u64_t rack_tls_tlp; - /* Temp CPU counters */ counter_u64_t rack_find_high; @@ -564,13 +550,6 @@ sysctl_rack_clear(SYSCTL_HANDLER_ARGS) counter_u64_zero(rack_alloc_limited_conns); counter_u64_zero(rack_split_limited); counter_u64_zero(rack_find_high); - counter_u64_zero(rack_tls_rwnd); - counter_u64_zero(rack_tls_cwnd); - counter_u64_zero(rack_tls_app); - counter_u64_zero(rack_tls_other); - counter_u64_zero(rack_tls_filled); - counter_u64_zero(rack_tls_rxt); - counter_u64_zero(rack_tls_tlp); counter_u64_zero(rack_sack_attacks_detected); counter_u64_zero(rack_sack_attacks_reversed); counter_u64_zero(rack_sack_used_next_merge); @@ -627,11 +606,6 @@ rack_init_sysctls(void) OID_AUTO, "rate_sample_method", CTLFLAG_RW, &rack_rate_sample_method , USE_RTT_LOW, "What method should we use for rate sampling 0=high, 1=low "); - SYSCTL_ADD_S32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_sysctl_root), - OID_AUTO, "hw_tlsmax", CTLFLAG_RW, - &rack_hw_tls_max_seg , 3, - "What is the maximum number of full TLS records that will be sent at once"); /* Probe rtt related controls */ rack_probertt = SYSCTL_ADD_NODE(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), @@ -1449,48 +1423,6 @@ rack_init_sysctls(void) &rack_try_scwnd, "Total number of scwnd attempts"); - rack_tls_rwnd = counter_u64_alloc(M_WAITOK); - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_counters), - OID_AUTO, "tls_rwnd", CTLFLAG_RD, - &rack_tls_rwnd, - "Total hdwr tls rwnd limited"); - rack_tls_cwnd = counter_u64_alloc(M_WAITOK); - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_counters), - OID_AUTO, "tls_cwnd", CTLFLAG_RD, - &rack_tls_cwnd, - "Total hdwr tls cwnd limited"); - rack_tls_app = counter_u64_alloc(M_WAITOK); - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_counters), - OID_AUTO, "tls_app", CTLFLAG_RD, - &rack_tls_app, - "Total hdwr tls app limited"); - rack_tls_other = counter_u64_alloc(M_WAITOK); - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_counters), - OID_AUTO, "tls_other", CTLFLAG_RD, - &rack_tls_other, - "Total hdwr tls other limited"); - rack_tls_filled = counter_u64_alloc(M_WAITOK); - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_counters), - OID_AUTO, "tls_filled", CTLFLAG_RD, - &rack_tls_filled, - "Total hdwr tls filled"); - rack_tls_rxt = counter_u64_alloc(M_WAITOK); - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_counters), - OID_AUTO, "tls_rxt", CTLFLAG_RD, - &rack_tls_rxt, - "Total hdwr rxt"); - rack_tls_tlp = counter_u64_alloc(M_WAITOK); - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_counters), - OID_AUTO, "tls_tlp", CTLFLAG_RD, - &rack_tls_tlp, - "Total hdwr tls tlp"); rack_per_timer_hole = counter_u64_alloc(M_WAITOK); SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_counters), @@ -2247,13 +2179,6 @@ rack_counter_destroy(void) counter_u64_free(rack_collapsed_win); counter_u64_free(rack_tlp_does_nada); counter_u64_free(rack_try_scwnd); - counter_u64_free(rack_tls_rwnd); - counter_u64_free(rack_tls_cwnd); - counter_u64_free(rack_tls_app); - counter_u64_free(rack_tls_other); - counter_u64_free(rack_tls_filled); - counter_u64_free(rack_tls_rxt); - counter_u64_free(rack_tls_tlp); counter_u64_free(rack_per_timer_hole); COUNTER_ARRAY_FREE(rack_out_size, TCP_MSS_ACCT_SIZE); COUNTER_ARRAY_FREE(rack_opts_arry, RACK_OPTS_SIZE); @@ -5273,15 +5198,6 @@ rack_timeout_tlp(struct tcpcb *tp, struct tcp_rack *ra if (rack->r_state && (rack->r_state != tp->t_state)) rack_set_state(tp, rack); so = tp->t_inpcb->inp_socket; -#ifdef KERN_TLS - if (rack->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) { - /* - * For hardware TLS we do *not* want to send - * new data, lets instead just do a retransmission. - */ - goto need_retran; - } -#endif avail = sbavail(&so->so_snd); out = tp->snd_max - tp->snd_una; if (out > tp->snd_wnd) { @@ -8206,11 +8122,8 @@ rack_check_bottom_drag(struct tcpcb *tp, uint32_t segsiz, minseg; segsiz = ctf_fixed_maxseg(tp); - if (so->so_snd.sb_flags & SB_TLS_IFNET) { - minseg = rack->r_ctl.rc_pace_min_segs; - } else { - minseg = segsiz; - } + minseg = segsiz; + if (tp->snd_max == tp->snd_una) { /* * We are doing dynamic pacing and we are way @@ -10384,24 +10297,13 @@ static void rack_set_pace_segments(struct tcpcb *tp, struct tcp_rack *rack, uint32_t line) { uint64_t bw_est, rate_wanted; - uint32_t tls_seg = 0; int chged = 0; uint32_t user_max; user_max = ctf_fixed_maxseg(tp) * rack->rc_user_set_max_segs; -#ifdef KERN_TLS - if (rack->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) { - tls_seg = ctf_get_opt_tls_size(rack->rc_inp->inp_socket, rack->rc_tp->snd_wnd); - if (tls_seg != rack->r_ctl.rc_pace_min_segs) - chged = 1; - rack->r_ctl.rc_pace_min_segs = tls_seg; - } else -#endif - { - if (ctf_fixed_maxseg(tp) != rack->r_ctl.rc_pace_min_segs) - chged = 1; - rack->r_ctl.rc_pace_min_segs = ctf_fixed_maxseg(tp); - } + if (ctf_fixed_maxseg(tp) != rack->r_ctl.rc_pace_min_segs) + chged = 1; + rack->r_ctl.rc_pace_min_segs = ctf_fixed_maxseg(tp); if (rack->use_fixed_rate || rack->rc_force_max_seg) { if (user_max != rack->r_ctl.rc_pace_max_segs) chged = 1; @@ -10458,31 +10360,8 @@ rack_set_pace_segments(struct tcpcb *tp, struct tcp_ra chged = 1; rack->r_ctl.rc_pace_max_segs = PACE_MAX_IP_BYTES; } -#ifdef KERN_TLS - uint32_t orig; - - if (tls_seg != 0) { - orig = rack->r_ctl.rc_pace_max_segs; - if (rack_hw_tls_max_seg > 1) { - rack->r_ctl.rc_pace_max_segs /= tls_seg; - if (rack_hw_tls_max_seg > rack->r_ctl.rc_pace_max_segs) - rack->r_ctl.rc_pace_max_segs = rack_hw_tls_max_seg; - } else { - rack->r_ctl.rc_pace_max_segs = 1; - } - if (rack->r_ctl.rc_pace_max_segs == 0) - rack->r_ctl.rc_pace_max_segs = 1; - rack->r_ctl.rc_pace_max_segs *= tls_seg; - if (rack->r_ctl.rc_pace_max_segs > PACE_MAX_IP_BYTES) { - /* We can't go over the max bytes (usually 64k) */ - rack->r_ctl.rc_pace_max_segs = ((PACE_MAX_IP_BYTES / tls_seg) * tls_seg); - } - if (orig != rack->r_ctl.rc_pace_max_segs) - chged = 1; - } -#endif if (chged) - rack_log_type_hrdwtso(tp, rack, tls_seg, rack->rc_inp->inp_socket->so_snd.sb_flags, line, 2); + rack_log_type_hrdwtso(tp, rack, 0, rack->rc_inp->inp_socket->so_snd.sb_flags, line, 2); } static int @@ -11669,12 +11548,6 @@ rack_get_pacing_delay(struct tcp_rack *rack, struct tc slot = (uint32_t)res; orig_val = rack->r_ctl.rc_pace_max_segs; rack_set_pace_segments(rack->rc_tp, rack, __LINE__); -#ifdef KERN_TLS - /* For TLS we need to override this, possibly */ - if (rack->rc_inp->inp_socket->so_snd.sb_flags & SB_TLS_IFNET) { - rack_set_pace_segments(rack->rc_tp, rack, __LINE__); - } -#endif /* Did we change the TSO size, if so log it */ if (rack->r_ctl.rc_pace_max_segs != orig_val) rack_log_pacing_delay_calc(rack, len, slot, orig_val, 0, 0, 15, __LINE__, NULL); @@ -12040,7 +11913,6 @@ rack_output(struct tcpcb *tp) uint32_t cwnd_to_use; int32_t do_a_prefetch; int32_t prefetch_rsm = 0; - int force_tso = 0; int32_t orig_len; struct timeval tv; int32_t prefetch_so_done = 0; @@ -12062,9 +11934,7 @@ rack_output(struct tcpcb *tp) kern_prefetch(sb, &do_a_prefetch); do_a_prefetch = 1; hpts_calling = inp->inp_hpts_calls; -#ifdef KERN_TLS hw_tls = (so->so_snd.sb_flags & SB_TLS_IFNET) != 0; -#endif NET_EPOCH_ASSERT(); INP_WLOCK_ASSERT(inp); @@ -12206,11 +12076,7 @@ again: tso = 0; mtu = 0; segsiz = min(ctf_fixed_maxseg(tp), rack->r_ctl.rc_pace_min_segs); - if (so->so_snd.sb_flags & SB_TLS_IFNET) { - minseg = rack->r_ctl.rc_pace_min_segs; - } else { - minseg = segsiz; - } + minseg = segsiz; sb_offset = tp->snd_max - tp->snd_una; cwnd_to_use = rack->r_ctl.cwnd_to_use = tp->snd_cwnd; #ifdef NETFLIX_SHARED_CWND @@ -13243,12 +13109,6 @@ send: ipoptlen += ipsec_optlen; #endif -#ifdef KERN_TLS - /* force TSO for so TLS offload can get mss */ - if (sb->sb_flags & SB_TLS_IFNET) { - force_tso = 1; - } -#endif /* * Adjust data length if insertion of options will bump the packet * length beyond the t_maxseg length. Clear the FIN bit because we @@ -13288,8 +13148,7 @@ send: * unless the send sockbuf can be emptied: */ max_len = (tp->t_maxseg - optlen); - if (((sb_offset + len) < sbavail(sb)) && - (hw_tls == 0)) { + if ((sb_offset + len) < sbavail(sb)) { moff = len % (u_int)max_len; if (moff != 0) { mark = 3; @@ -13761,8 +13620,8 @@ send: * header checksum is always provided. XXX: Fixme: This is currently * not the case for IPv6. */ - if (tso || force_tso) { - KASSERT(force_tso || len > tp->t_maxseg - optlen, + if (tso) { + KASSERT(len > tp->t_maxseg - optlen, ("%s: len <= tso_segsz", __func__)); m->m_pkthdr.csum_flags |= CSUM_TSO; m->m_pkthdr.tso_segsz = tp->t_maxseg - optlen; @@ -13968,32 +13827,6 @@ out: counter_u64_add(rack_out_size[(TCP_MSS_ACCT_ATIMER-1)], 1); else counter_u64_add(rack_out_size[idx], 1); - } - if (hw_tls && len > 0) { - if (filled_all) { - counter_u64_add(rack_tls_filled, 1); - rack_log_type_hrdwtso(tp, rack, len, 0, orig_len, 1); - } else { - if (rsm) { - counter_u64_add(rack_tls_rxt, 1); - rack_log_type_hrdwtso(tp, rack, len, 2, orig_len, 1); - } else if (doing_tlp) { - counter_u64_add(rack_tls_tlp, 1); - rack_log_type_hrdwtso(tp, rack, len, 3, orig_len, 1); - } else if ( (ctf_outstanding(tp) + minseg) > sbavail(sb)) { - counter_u64_add(rack_tls_app, 1); - rack_log_type_hrdwtso(tp, rack, len, 4, orig_len, 1); - } else if ((ctf_flight_size(tp, rack->r_ctl.rc_sacked) + minseg) > cwnd_to_use) { - counter_u64_add(rack_tls_cwnd, 1); - rack_log_type_hrdwtso(tp, rack, len, 5, orig_len, 1); - } else if ((ctf_outstanding(tp) + minseg) > tp->snd_wnd) { - counter_u64_add(rack_tls_rwnd, 1); - rack_log_type_hrdwtso(tp, rack, len, 6, orig_len, 1); - } else { - rack_log_type_hrdwtso(tp, rack, len, 7, orig_len, 1); - counter_u64_add(rack_tls_other, 1); - } - } } } if (rack->rack_no_prr == 0) { From owner-svn-src-all@freebsd.org Wed Aug 19 18:23:41 2020 Return-Path: Delivered-To: svn-src-all@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 13C6F3C6A2E for ; Wed, 19 Aug 2020 18:23:41 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound2k.ore.mailhop.org (outbound2k.ore.mailhop.org [54.148.219.64]) (using TLSv1.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 4BWx4B5p4gz4PD5 for ; Wed, 19 Aug 2020 18:23:38 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1597861417; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=ZUMZGktlGNh7ZboGMkmUAQWfOSH1ozXjJATrx8kU6BHLghZ4gfi/i2caRzYfpOAy/RmBU6fk+jQhD cdk2X7OPWs4WO4fg4W4jE8DW+SIGWh3GGXvx2/wr8QBLPuzCJLJzHhPIIXLRf+EqT+wGlfOj1Wc9H7 hG1rX6wxpvnYM0YWMQbh716mYomUxqezfDxY4L5l9TNM2P76+V/5ibTprVZoCc8rNvEmK/gjZLqkNA lZGm9sL2J02kp4eP4u2KK1nt996XlIYg5YVf9+iHTdizn8K8FJTdx+dk9xhSZy7BtDw836qQEExB96 wfAihjSWYfXARIoWgtoF+/iFEiat08Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=SUP6PH6Y2mdMmhex5Eam2wv1wD4p095s43LGqJpqms4=; b=PqO19waxag9D8QBWc6Djt5zGn+l6YqsE+gVKAdcBk/uG/vDsiffajV50piBLPmr4u97MhfKr9ic5L wur4JJgQ4F7+6wltGRUIJLbucVovzYJ6pQZJgyuc9QwdJyhwGPo7r3ULjmi+t3OLjaduC4SlwbWK3o 63Uf6BWge24/ylSSLRGmQw1+xWjJM15yHwpqpipgYCIr8NS2DA7hiQxl6yiQOXWhomkncMGTqH0q7M LDcay6Q2BNy5KH0OR9mSovNRm44pm90tYBYmG7S2r3jr/TDOwGh/tjXTloBRfJ/dXEllLLlfGcmZCb MjFOEB71kcDkWQiJilGxCR6rXMj5m3w== ARC-Authentication-Results: i=1; outbound4.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=SUP6PH6Y2mdMmhex5Eam2wv1wD4p095s43LGqJpqms4=; b=uJ5wct9l8yxU/xAIGR0TEYy6N1z4WDBw0QLLZC7tKm7/vaAQh7dSu5tgSD6D4NtB97IwSVyIRN9s/ NAvbXpfeuJA1BlREa1cKyUxHPtMSdDOvE9Q06tOJdDn5L1jD3Z/jl4m1RLFmzuFuOBh/11hSPE6QSm PJTBrPQ2tpm64gKHcVSKZzq/3s5Q9uRLyJwc8nWs44nCQZCsDwKyHWz8dpb5Va4T+oL1rhS0XR/NFJ v1pBh6uUbG7FHSng6dIG94PGjbvj4pp9fmIcpOOIa7izuYfBnzgf7jv8WQqwuFa3Ny7rtpTSaHChg1 IFnWcDmHtDaodLuPKuXYhr5X2kz2ZOw== X-MHO-RoutePath: aGlwcGll X-MHO-User: 177e0aa3-e249-11ea-b630-6b8aa7872eb8 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (c-67-177-211-60.hsd1.co.comcast.net [67.177.211.60]) by outbound4.ore.mailhop.org (Halon) with ESMTPSA id 177e0aa3-e249-11ea-b630-6b8aa7872eb8; Wed, 19 Aug 2020 18:23:35 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 07JI0Ama089633; Wed, 19 Aug 2020 12:00:32 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: Subject: Re: svn commit: r364402 - head/sys/kern From: Ian Lepore To: Shawn Webb , Warner Losh Cc: Warner Losh , src-committers , svn-src-all , svn-src-head Date: Wed, 19 Aug 2020 12:00:10 -0600 In-Reply-To: <20200819175447.pjoa2pmusdbql22q@mutt-hbsd> References: <202008191710.07JHA5Rk008764@repo.freebsd.org> <20200819172613.vdyutsn6a4w5fbqr@mutt-hbsd> <20200819174808.ts3i72vzqsx3sq5o@mutt-hbsd> <20200819175447.pjoa2pmusdbql22q@mutt-hbsd> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BWx4B5p4gz4PD5 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; ASN(0.00)[asn:16509, ipnet:54.148.0.0/15, country:US]; local_wl_from(0.00)[freebsd.org] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 18:23:41 -0000 On Wed, 2020-08-19 at 13:54 -0400, Shawn Webb wrote: > On Wed, Aug 19, 2020 at 11:51:10AM -0600, Warner Losh wrote: > > On Wed, Aug 19, 2020 at 11:48 AM Shawn Webb < > > shawn.webb@hardenedbsd.org> > > wrote: > > > > > On Wed, Aug 19, 2020 at 11:44:42AM -0600, Warner Losh wrote: > > > > On Wed, Aug 19, 2020 at 11:26 AM Shawn Webb < > > > > shawn.webb@hardenedbsd.org> > > > > wrote: > > > > > > > > > On Wed, Aug 19, 2020 at 05:10:05PM +0000, Warner Losh wrote: > > > > > > Author: imp > > > > > > Date: Wed Aug 19 17:10:04 2020 > > > > > > New Revision: 364402 > > > > > > URL: https://svnweb.freebsd.org/changeset/base/364402 > > > > > > > > > > > > Log: > > > > > > Add VFS FS events for mount and unmount to devctl/devd > > > > > > > > > > > > Report when a filesystem is mounted, remounted or > > > > > > unmounted via > > > > > > devd, > > > > > along with > > > > > > details about the mount point and mount options. > > > > > > > > > > > > Discussed with: kib@ > > > > > > Reviewed by: kirk@ (prior version) > > > > > > Sponsored by: Netflix > > > > > > Diffential Revision: https://reviews.freebsd.org/D25969 > > > > > > > > > > > > Modified: > > > > > > head/sys/kern/vfs_mount.c > > > > > > > > > > > > Modified: head/sys/kern/vfs_mount.c > > > > > > > > > > > > ================================================================= > > > ============= > > > > > > --- head/sys/kern/vfs_mount.c Wed Aug 19 17:09:58 2020 > > > > > > (r364401) > > > > > > +++ head/sys/kern/vfs_mount.c Wed Aug 19 17:10:04 2020 > > > > > > (r364402) > > > > > > @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); > > > > > > #include > > > > > > #include > > > > > > #include > > > > > > +#include > > > > > > #include > > > > > > #include > > > > > > #include > > > > > > @@ -101,6 +102,8 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, > > > > > > "mountlist", > > > > > MT > > > > > > EVENTHANDLER_LIST_DEFINE(vfs_mounted); > > > > > > EVENTHANDLER_LIST_DEFINE(vfs_unmounted); > > > > > > > > > > > > +static void dev_vfs_event(const char *type, struct mount > > > > > > *mp, bool > > > > > > > > > > donew); > > > > > > + > > > > > > /* > > > > > > * Global opts, taken by all filesystems > > > > > > */ > > > > > > @@ -1020,6 +1023,7 @@ vfs_domount_first( > > > > > > VOP_UNLOCK(vp); > > > > > > EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, > > > > > > td); > > > > > > VOP_UNLOCK(newdp); > > > > > > + dev_vfs_event("MOUNT", mp, false); > > > > > > mountcheckdirs(vp, newdp); > > > > > > vn_seqc_write_end(vp); > > > > > > vn_seqc_write_end(newdp); > > > > > > @@ -1221,6 +1225,7 @@ vfs_domount_update( > > > > > > if (error != 0) > > > > > > goto end; > > > > > > > > > > > > + dev_vfs_event("REMOUNT", mp, true); > > > > > > if (mp->mnt_opt != NULL) > > > > > > vfs_freeopts(mp->mnt_opt); > > > > > > mp->mnt_opt = mp->mnt_optnew; > > > > > > @@ -1839,6 +1844,7 @@ dounmount(struct mount *mp, int > > > > > > flags, struct > > > > > > > > > > thread * > > > > > > TAILQ_REMOVE(&mountlist, mp, mnt_list); > > > > > > mtx_unlock(&mountlist_mtx); > > > > > > EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); > > > > > > + dev_vfs_event("UNMOUNT", mp, false); > > > > > > if (coveredvp != NULL) { > > > > > > coveredvp->v_mountedhere = NULL; > > > > > > vn_seqc_write_end(coveredvp); > > > > > > @@ -2425,4 +2431,72 @@ kernel_vmount(int flags, ...) > > > > > > > > > > > > error = kernel_mount(ma, flags); > > > > > > return (error); > > > > > > +} > > > > > > + > > > > > > +/* Map from mount options to printable formats. */ > > > > > > +static struct mntoptnames optnames[] = { > > > > > > + MNTOPT_NAMES > > > > > > +}; > > > > > > + > > > > > > +static void > > > > > > +dev_vfs_event_mntopt(struct sbuf *sb, const char *what, > > > > > > struct > > > > > > > > > > vfsoptlist *opts) > > > > > > +{ > > > > > > + struct vfsopt *opt; > > > > > > + > > > > > > + if (opts == NULL || TAILQ_EMPTY(opts)) > > > > > > + return; > > > > > > + sbuf_printf(sb, " %s=\"", what); > > > > > > + TAILQ_FOREACH(opt, opts, link) { > > > > > > + if (opt->name[0] == '\0' || (opt->len > 0 && > > > > > > *(char > > > > > > > > > > *)opt->value == '\0')) > > > > > > + continue; > > > > > > + devctl_safe_quote_sb(sb, opt->name); > > > > > > + if (opt->len > 0) { > > > > > > + sbuf_putc(sb, '='); > > > > > > + devctl_safe_quote_sb(sb, opt->value); > > > > > > + } > > > > > > + sbuf_putc(sb, ';'); > > > > > > + } > > > > > > + sbuf_putc(sb, '"'); > > > > > > +} > > > > > > + > > > > > > +#define DEVCTL_LEN 1024 > > > > > > +static void > > > > > > +dev_vfs_event(const char *type, struct mount *mp, bool > > > > > > donew) > > > > > > +{ > > > > > > + const uint8_t *cp; > > > > > > + struct mntoptnames *fp; > > > > > > + struct sbuf sb; > > > > > > + struct statfs *sfp = &mp->mnt_stat; > > > > > > + char *buf; > > > > > > + > > > > > > + buf = malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); > > > > > > + if (buf == NULL) > > > > > > + return; > > > > > > > > > > buf can't be NULL. > > > > > > > > > > > > > The bug here is that M_NOWAIT should have been specified in the > > > > malloc. > > > > > > > > > > > > > > + sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); > > > > > > + sbuf_cpy(&sb, "mount-point=\""); > > > > > > + devctl_safe_quote_sb(&sb, sfp->f_mntonname); > > > > > > + sbuf_cat(&sb, "\" mount-dev=\""); > > > > > > + devctl_safe_quote_sb(&sb, sfp->f_mntfromname); > > > > > > + sbuf_cat(&sb, "\" mount-type=\""); > > > > > > + devctl_safe_quote_sb(&sb, sfp->f_fstypename); > > > > > > + sbuf_cat(&sb, "\" fsid=0x"); > > > > > > + cp = (const uint8_t *)&sfp->f_fsid.val[0]; > > > > > > + for (int i = 0; i < sizeof(sfp->f_fsid); i++) > > > > > > + sbuf_printf(&sb, "%02x", cp[i]); > > > > > > + sbuf_printf(&sb, " owner=%u flags=\"", sfp->f_owner); > > > > > > + for (fp = optnames; fp->o_opt != 0; fp++) { > > > > > > + if ((mp->mnt_flag & fp->o_opt) != 0) { > > > > > > + sbuf_cat(&sb, fp->o_name); > > > > > > + sbuf_putc(&sb, ';'); > > > > > > + } > > > > > > + } > > > > > > + sbuf_putc(&sb, '"'); > > > > > > + dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); > > > > > > + if (donew) > > > > > > + dev_vfs_event_mntopt(&sb, "optnew", mp- > > > > > > >mnt_optnew); > > > > > > + sbuf_finish(&sb); > > > > > > + > > > > > > + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); > > > > > > + sbuf_delete(&sb); > > > > > > + free(buf, M_MOUNT); > > > > > > } > > > > > > > > > > I don't really see much attention paid to checking for sbuf > > > > > overflow. > > > > > Could that cause issues, especially in case of impartial > > > > > quotation > > > > > termination? Could not performing those checks have security > > > > > implications? Would performing those checks adhere to good > > > > > code > > > > > development practices? > > > > > > > > > > > > > sbuf doesn't overflow. It is safe from that perspective. The > > > > code should > > > > just not send it if there's an overflow... There almost > > > > certainly won't > > > > > > be > > > > one in practice given the buffer size, though. > > > > > > You're right that sbuf can't overflow. However, assuming that it > > > hasn't reached its fixed size specified above and continuing on > > > as if > > > there's still space left could lead to... interesting behavior. > > > > > > > Right, which is why we should check. > > > > See https://reviews.freebsd.org/D26122 for the proper tweak (imho). > > Why spend so much time in the kernel just to fail at the end? Why not > fail fast, checking for sbuf_* returning -1 along the way? > Why complicate the code with micro-optimizations that just clutter things up on a code path that is rarely executed, to check for a condition that will never happen, to save a few nanoseconds if it ever does? Simpler is better. -- Ian From owner-svn-src-all@freebsd.org Wed Aug 19 18:52:23 2020 Return-Path: Delivered-To: svn-src-all@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 50A9A3C7201; Wed, 19 Aug 2020 18:52:23 +0000 (UTC) (envelope-from markj@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 4BWxjM1D7Vz4QTP; Wed, 19 Aug 2020 18:52:23 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0D2B827731; Wed, 19 Aug 2020 18:52:23 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JIqMux076379; Wed, 19 Aug 2020 18:52:22 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JIqMqk076377; Wed, 19 Aug 2020 18:52:22 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008191852.07JIqMqk076377@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Wed, 19 Aug 2020 18:52:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364406 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 364406 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 18:52:23 -0000 Author: markj Date: Wed Aug 19 18:52:22 2020 New Revision: 364406 URL: https://svnweb.freebsd.org/changeset/base/364406 Log: Add a KCOV man page. Reviewed by: andrew, gbe, tuexen Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26108 Added: head/share/man/man4/kcov.4 (contents, props changed) Modified: head/share/man/man4/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Wed Aug 19 17:59:06 2020 (r364405) +++ head/share/man/man4/Makefile Wed Aug 19 18:52:22 2020 (r364406) @@ -244,6 +244,7 @@ MAN= aac.4 \ jedec_dimm.4 \ jme.4 \ kbdmux.4 \ + kcov.4 \ keyboard.4 \ kld.4 \ ksyms.4 \ Added: head/share/man/man4/kcov.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/kcov.4 Wed Aug 19 18:52:22 2020 (r364406) @@ -0,0 +1,206 @@ +.\"- +.\" Copyright (c) 2020 The FreeBSD Foundation +.\" +.\" This documentation was written by Mark Johnston under sponsorship from +.\" the FreeBSD Foundation. +.\" +.\" 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. +.\" +.\" $FreeBSD$ +.\" +.Dd August 18, 2020 +.Dt KCOV 4 +.Os +.Sh NAME +.Nm kcov +.Nd interface for collecting kernel code coverage information +.Sh SYNOPSIS +To compile KCOV into the kernel, place the following lines in your kernel +configuration file: +.Bd -ragged -offset indent +.Cd "options COVERAGE" +.Cd "options KCOV" +.Ed +.Pp +The following header file defines the application interface provided +by KCOV: +.Pp +.In sys/kcov.h +.Sh DESCRIPTION +.Nm +is a module that enables collection of code coverage information from the +kernel. +It relies on code instrumentation enabled by the +.Dv COVERAGE +kernel option. +When +.Nm +is enabled by a user-mode thread, it collects coverage information only for +that thread, excluding hard interrupt handlers. +As a result, +.Nm +is not suited to collect comprehensive coverage data for the entire kernel; +its main purpose is to provide input for coverage-guided system call fuzzers. +.Pp +In typical usage, a user-mode thread first allocates a chunk of memory to be +shared with +.Nm . +The thread then enables coverage tracing, with coverage data being written by +the kernel to the shared memory region. +When tracing is disabled, the kernel relinquishes its access to the shared +memory region, and the written coverage data may be consumed. +.Pp +The shared memory buffer can be treated as a 64-bit unsigned integer followed +by an array of records. +The integer records the number of valid records and is updated by the kernel as +coverage information is recorded. +The state of the tracing buffer can be reset by writing the value 0 to this +field. +The record layout depends on the tracing mode set using the +.Dv KIOENABLE +ioctl. +.Pp +Two tracing modes are implemented, +.Dv KCOV_MODE_TRACE_PC +and +.Dv KCOV_MODE_TRACE_CMP . +PC-tracing records a program counter value for each basic block executed while +tracing is enabled. +In this mode, each record is a single 64-bit unsigned integer containing the +program counter value. +Comparison tracing provides information about data flow; information about +dynamic variable comparisons is recorded. +Such records provide information about the results of +.Xr c 7 +.Ql if +or +.Ql switch +statements, for example. +In this mode each record consists of four 64-bit unsigned integers. +The first integer is a bitmask defining attributes of the variables involved in +the comparison. +.Dv KCOV_CMP_CONST +is set if one of the variables has a constant value at compile-time, and +.Dv KCOV_CMP_SIZE(n) +specifies the width of the variables: +.Pp +.Bl -inset -offset indent -compact +.It Dv KCOV_CMP_SIZE(0) : +a comparison of 8-bit integers +.It Dv KCOV_CMP_SIZE(1) : +a comparison of 16-bit integers +.It Dv KCOV_CMP_SIZE(2) : +a comparison of 32-bit integers +.It Dv KCOV_CMP_SIZE(3) : +a comparison of 64-bit integers +.El +.Pp +The second and third fields record the values of the two variables, and the +fourth and final field stores the program counter value of the comparison. +.Sh IOCTL INTERFACE +Applications interact with +.Nm +using the +.Xr ioctl 2 +system call. +Each thread making use of +.Nm +must use a separate file descriptor for +.Fa /dev/kcov . +The following ioctls are defined: +.Bl -tag -width indent +.It Dv KIOSETBUFSIZE Fa size_t entries +Set the size of the tracing buffer in units of +.Dv KCOV_ENTRY_SIZE . +The buffer may then be mapped into the calling thread's address space by +calling +.Xr mmap 2 +on the +.Nm +device file. +.It Dv KIOENABLE Fa int mode +Enable coverage tracing for the calling thread. +Valid modes are +.Dv KCOV_MODE_TRACE_PC +and +.Dv KCOV_MODE_TRACE_CMP . +.It Dv KIODISABLE +Disable coverage tracing for the calling thread. +.El +.Sh FILES +.Nm +creates the +.Pa /dev/kcov +device file. +.Sh EXAMPLES +The following code sample collects information about basic block coverage for +kernel code executed while printing +.Ql "Hello, world" . +.Bd -literal +size_t sz; +uint64_t *buf; +int fd; + +fd = open("/dev/kcov", O_RDWR); +if (fd == -1) + err(1, "open(/dev/kcov)"); +sz = 1ul << 20; /* 1MB */ +if (ioctl(fd, KIOSETBUFSIZE, sz / KCOV_ENTRY_SIZE) != 0) + err(1, "ioctl(KIOSETBUFSIZE)"); +buf = mmap(NULL, sz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); +if (buf == MAP_FAILED) + err(1, "mmap"); + +/* Enable PC tracing. */ +if (ioctl(fd, KIOENABLE, KCOV_MODE_TRACE_PC) != 0) + err(1, "ioctl(KIOENABLE)"); + +/* Clear trace records from the preceding ioctl() call. */ +buf[0] = 0; + +printf("Hello, world!\\n"); + +/* Disable PC tracing. */ +if (ioctl(fd, KIODISABLE, 0) != 0) + err(1, "ioctl(KIODISABLE)"); + +for (uint64_t i = 1; i < buf[0]; i++) + printf("%#jx\\n", (uintmax_t)buf[i]); +.Ed +The output of this program can be approximately mapped to line numbers +in kernel source code: +.Bd -literal +# ./kcov-test | sed 1d | addr2line -e /usr/lib/debug/boot/kernel/kernel.debug +.Ed +.Sh SEE ALSO +.Xr ioctl 2 , +.Xr mmap 2 +.Sh HISTORY +.Nm +first appeared in +.Fx 13.0 . +.Sh BUGS +The +.Fx +implementation of +.Nm +does not yet support remote tracing. From owner-svn-src-all@freebsd.org Wed Aug 19 19:55:13 2020 Return-Path: Delivered-To: svn-src-all@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 9A2D93C7E7C; Wed, 19 Aug 2020 19:55:13 +0000 (UTC) (envelope-from mav@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 4BWz5s3MXLz4TZg; Wed, 19 Aug 2020 19:55:13 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 580E3850E; Wed, 19 Aug 2020 19:55:13 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JJtDI9014428; Wed, 19 Aug 2020 19:55:13 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JJtD1F014427; Wed, 19 Aug 2020 19:55:13 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202008191955.07JJtD1F014427@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 19 Aug 2020 19:55:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364407 - head/sys/dev/acpica X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/dev/acpica X-SVN-Commit-Revision: 364407 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 19:55:13 -0000 Author: mav Date: Wed Aug 19 19:55:12 2020 New Revision: 364407 URL: https://svnweb.freebsd.org/changeset/base/364407 Log: Unify AcpiGetTable() KPI use in identify, probe and attach. While there, change probe order to not call AcpiGetTable() for every probed ACPI device. PR: 248746 MFC after: 3 days Modified: head/sys/dev/acpica/acpi_apei.c Modified: head/sys/dev/acpica/acpi_apei.c ============================================================================== --- head/sys/dev/acpica/acpi_apei.c Wed Aug 19 18:52:22 2020 (r364406) +++ head/sys/dev/acpica/acpi_apei.c Wed Aug 19 19:55:12 2020 (r364407) @@ -550,20 +550,29 @@ apei_identify(driver_t *driver, device_t parent) { device_t child; int found; + ACPI_TABLE_HEADER *hest; + ACPI_STATUS status; if (acpi_disabled("apei")) return; - if (acpi_find_table(ACPI_SIG_HEST) == 0) + + /* Without HEST table we have nothing to do. */ + status = AcpiGetTable(ACPI_SIG_HEST, 0, &hest); + if (ACPI_FAILURE(status)) return; + AcpiPutTable(hest); + /* Only one APEI device can exist. */ if (devclass_get_device(apei_devclass, 0)) return; + /* Search for ACPI error device to be used. */ found = 0; AcpiWalkNamespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, 100, apei_find, NULL, NULL, (void *)&found); if (found) return; + /* If not found - create a fake one. */ child = BUS_ADD_CHILD(parent, 2, "apei", 0); if (child == NULL) @@ -573,18 +582,27 @@ apei_identify(driver_t *driver, device_t parent) static int apei_probe(device_t dev) { + ACPI_TABLE_HEADER *hest; + ACPI_STATUS status; int rv; if (acpi_disabled("apei")) return (ENXIO); - if (acpi_find_table(ACPI_SIG_HEST) == 0) - return (ENXIO); - if (acpi_get_handle(dev) != NULL) + + if (acpi_get_handle(dev) != NULL) { rv = ACPI_ID_PROBE(device_get_parent(dev), dev, apei_ids, NULL); - else + if (rv > 0) + return (rv); + } else rv = 0; - if (rv <= 0) - device_set_desc(dev, "Platform Error Interface"); + + /* Without HEST table we have nothing to do. */ + status = AcpiGetTable(ACPI_SIG_HEST, 0, &hest); + if (ACPI_FAILURE(status)) + return (ENXIO); + AcpiPutTable(hest); + + device_set_desc(dev, "ACPI Platform Error Interface"); return (rv); } From owner-svn-src-all@freebsd.org Wed Aug 19 20:41:23 2020 Return-Path: Delivered-To: svn-src-all@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 29AD03C8F45; Wed, 19 Aug 2020 20:41:23 +0000 (UTC) (envelope-from tsoome@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 4BX0770KWHz4Wjt; Wed, 19 Aug 2020 20:41:23 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E2D528D14; Wed, 19 Aug 2020 20:41:22 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JKfMqT042350; Wed, 19 Aug 2020 20:41:22 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JKfMmA042349; Wed, 19 Aug 2020 20:41:22 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202008192041.07JKfMmA042349@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Wed, 19 Aug 2020 20:41:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364408 - head/stand/libsa X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: head/stand/libsa X-SVN-Commit-Revision: 364408 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 20:41:23 -0000 Author: tsoome Date: Wed Aug 19 20:41:22 2020 New Revision: 364408 URL: https://svnweb.freebsd.org/changeset/base/364408 Log: libsa: remove leftover whitespace Tiny cleanup, no functional changes. Modified: head/stand/libsa/environment.c Modified: head/stand/libsa/environment.c ============================================================================== --- head/stand/libsa/environment.c Wed Aug 19 19:55:12 2020 (r364407) +++ head/stand/libsa/environment.c Wed Aug 19 20:41:22 2020 (r364408) @@ -98,7 +98,7 @@ env_setenv(const char *name, int flags, const void *va ev->ev_prev = NULL; ev->ev_next = NULL; /* Search for the record to insert before */ - for (last = NULL, curr = environ; curr != NULL; + for (last = NULL, curr = environ; curr != NULL; last = curr, curr = curr->ev_next) { if (strcmp(ev->ev_name, curr->ev_name) < 0) { From owner-svn-src-all@freebsd.org Wed Aug 19 23:42:34 2020 Return-Path: Delivered-To: svn-src-all@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 36D203CC603; Wed, 19 Aug 2020 23:42:34 +0000 (UTC) (envelope-from rmacklem@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 4BX48B0dkfz4hS7; Wed, 19 Aug 2020 23:42:34 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D3C5CABDA; Wed, 19 Aug 2020 23:42:33 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07JNgXi5056989; Wed, 19 Aug 2020 23:42:33 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07JNgXKj056987; Wed, 19 Aug 2020 23:42:33 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202008192342.07JNgXKj056987@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Wed, 19 Aug 2020 23:42:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364409 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 364409 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2020 23:42:34 -0000 Author: rmacklem Date: Wed Aug 19 23:42:33 2020 New Revision: 364409 URL: https://svnweb.freebsd.org/changeset/base/364409 Log: Add the MSG_TLSAPPDATA flag to indicate "return ENXIO" for non-application TLS data records. The kernel RPC cannot process non-application data records when using TLS. It must to an upcall to a userspace daemon that will call SSL_read() to process them. This patch adds a new flag called MSG_TLSAPPDATA that the kernel RPC can use to tell sorecieve() to return ENXIO instead of a non-application data record, when that is what is at the top of the receive queue. I put the code in #ifdef KERN_TLS/#endif, although it will build without that, so that it is recognized as only useful when KERN_TLS is enabled. The alternative to doing this is to have the kernel RPC re-queue the non-application data message after receiving it, but that seems more complicated and might introduce message ordering issues when there are multiple non-application data records one after another. I do not know what, if any, changes will be required to support TLS1.3. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D25923 Modified: head/sys/kern/uipc_socket.c head/sys/sys/socket.h Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Wed Aug 19 20:41:22 2020 (r364408) +++ head/sys/kern/uipc_socket.c Wed Aug 19 23:42:33 2020 (r364409) @@ -2056,6 +2056,32 @@ dontblock: if (m != NULL && m->m_type == MT_CONTROL) { struct mbuf *cm = NULL, *cmn; struct mbuf **cme = &cm; +#ifdef KERN_TLS + struct cmsghdr *cmsg; + struct tls_get_record tgr; + + /* + * For MSG_TLSAPPDATA, check for a non-application data + * record. If found, return ENXIO without removing + * it from the receive queue. This allows a subsequent + * call without MSG_TLSAPPDATA to receive it. + * Note that, for TLS, there should only be a single + * control mbuf with the TLS_GET_RECORD message in it. + */ + if (flags & MSG_TLSAPPDATA) { + cmsg = mtod(m, struct cmsghdr *); + if (cmsg->cmsg_type == TLS_GET_RECORD && + cmsg->cmsg_len == CMSG_LEN(sizeof(tgr))) { + memcpy(&tgr, CMSG_DATA(cmsg), sizeof(tgr)); + /* This will need to change for TLS 1.3. */ + if (tgr.tls_type != TLS_RLTYPE_APP) { + SOCKBUF_UNLOCK(&so->so_rcv); + error = ENXIO; + goto release; + } + } + } +#endif do { if (flags & MSG_PEEK) { Modified: head/sys/sys/socket.h ============================================================================== --- head/sys/sys/socket.h Wed Aug 19 20:41:22 2020 (r364408) +++ head/sys/sys/socket.h Wed Aug 19 23:42:33 2020 (r364409) @@ -468,6 +468,7 @@ struct msghdr { #endif #ifdef _KERNEL #define MSG_MORETOCOME 0x00100000 /* additional data pending */ +#define MSG_TLSAPPDATA 0x00200000 /* only soreceive() app. data (TLS) */ #endif /* From owner-svn-src-all@freebsd.org Thu Aug 20 00:38:33 2020 Return-Path: Delivered-To: svn-src-all@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 97B2C3CC763; Thu, 20 Aug 2020 00:38:33 +0000 (UTC) (envelope-from markj@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 4BX5Nn3YW6z4kds; Thu, 20 Aug 2020 00:38:33 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5D5C1BA17; Thu, 20 Aug 2020 00:38:33 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07K0cXvF088081; Thu, 20 Aug 2020 00:38:33 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07K0cXqg088080; Thu, 20 Aug 2020 00:38:33 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008200038.07K0cXqg088080@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 20 Aug 2020 00:38:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364410 - head/sys/arm64/acpica X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/arm64/acpica X-SVN-Commit-Revision: 364410 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 00:38:33 -0000 Author: markj Date: Thu Aug 20 00:38:32 2020 New Revision: 364410 URL: https://svnweb.freebsd.org/changeset/base/364410 Log: Remove an unused parameter from map_table(). MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/arm64/acpica/acpi_machdep.c Modified: head/sys/arm64/acpica/acpi_machdep.c ============================================================================== --- head/sys/arm64/acpica/acpi_machdep.c Wed Aug 19 23:42:33 2020 (r364409) +++ head/sys/arm64/acpica/acpi_machdep.c Thu Aug 20 00:38:32 2020 (r364410) @@ -63,7 +63,7 @@ acpi_machdep_quirks(int *quirks) } static void * -map_table(vm_paddr_t pa, int offset, const char *sig) +map_table(vm_paddr_t pa, const char *sig) { ACPI_TABLE_HEADER *header; vm_offset_t length; @@ -132,7 +132,7 @@ void * acpi_map_table(vm_paddr_t pa, const char *sig) { - return (map_table(pa, 0, sig)); + return (map_table(pa, sig)); } /* @@ -178,7 +178,7 @@ acpi_find_table(const char *sig) printf("ACPI: RSDP failed extended checksum\n"); return (0); } - xsdt = map_table(rsdp->XsdtPhysicalAddress, 2, ACPI_SIG_XSDT); + xsdt = map_table(rsdp->XsdtPhysicalAddress, ACPI_SIG_XSDT); if (xsdt == NULL) { if (bootverbose) printf("ACPI: Failed to map XSDT\n"); @@ -204,7 +204,7 @@ acpi_find_table(const char *sig) * Verify that we can map the full table and that its checksum is * correct, etc. */ - table = map_table(addr, 0, sig); + table = map_table(addr, sig); if (table == NULL) return (0); acpi_unmap_table(table); From owner-svn-src-all@freebsd.org Thu Aug 20 00:52:54 2020 Return-Path: Delivered-To: svn-src-all@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 9CFE23CD32A; Thu, 20 Aug 2020 00:52:54 +0000 (UTC) (envelope-from markj@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 4BX5jL3NBPz4lfC; Thu, 20 Aug 2020 00:52:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 57462B8EF; Thu, 20 Aug 2020 00:52:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07K0qs8J000722; Thu, 20 Aug 2020 00:52:54 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07K0qsrO000721; Thu, 20 Aug 2020 00:52:54 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008200052.07K0qsrO000721@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 20 Aug 2020 00:52:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364411 - in head/sys: amd64/acpica i386/acpica X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in head/sys: amd64/acpica i386/acpica X-SVN-Commit-Revision: 364411 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 00:52:54 -0000 Author: markj Date: Thu Aug 20 00:52:53 2020 New Revision: 364411 URL: https://svnweb.freebsd.org/changeset/base/364411 Log: Use pmap_mapbios() to map ACPI tables on amd64 and i386. The ACPI table-mapping code used pmap_kenter_temporary() to create mappings, which in turn uses the fixed-size crashdump map. Moreover, the code was not verifying that the table fits in this map, so when mapping large tables we could clobber adjacent mappings. This use of pmap_kenter_temporary() appears to predate support in pmap_mapbios() for creating early mappings, but that restriction no longer applies. PR: 248746 Reviewed by: kib, mav Tested by: gallatin, Curtis Villamizar MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26125 Modified: head/sys/amd64/acpica/acpi_machdep.c head/sys/i386/acpica/acpi_machdep.c Modified: head/sys/amd64/acpica/acpi_machdep.c ============================================================================== --- head/sys/amd64/acpica/acpi_machdep.c Thu Aug 20 00:38:32 2020 (r364410) +++ head/sys/amd64/acpica/acpi_machdep.c Thu Aug 20 00:52:53 2020 (r364411) @@ -91,91 +91,29 @@ acpi_machdep_quirks(int *quirks) } /* - * Support for mapping ACPI tables during early boot. Currently this - * uses the crashdump map to map each table. However, the crashdump - * map is created in pmap_bootstrap() right after the direct map, so - * we should be able to just use pmap_mapbios() here instead. - * - * This makes the following assumptions about how we use this KVA: - * pages 0 and 1 are used to map in the header of each table found via - * the RSDT or XSDT and pages 2 to n are used to map in the RSDT or - * XSDT. This has to use 2 pages for the table headers in case a - * header spans a page boundary. - * - * XXX: We don't ensure the table fits in the available address space - * in the crashdump map. + * Map a table. First map the header to determine the table length and then map + * the entire table. */ - -/* - * Map some memory using the crashdump map. 'offset' is an offset in - * pages into the crashdump map to use for the start of the mapping. - */ static void * -table_map(vm_paddr_t pa, int offset, vm_offset_t length) +map_table(vm_paddr_t pa, const char *sig) { - vm_offset_t va, off; - void *data; - - off = pa & PAGE_MASK; - length = round_page(length + off); - pa = pa & PG_FRAME; - va = (vm_offset_t)pmap_kenter_temporary(pa, offset) + - (offset * PAGE_SIZE); - data = (void *)(va + off); - length -= PAGE_SIZE; - while (length > 0) { - va += PAGE_SIZE; - pa += PAGE_SIZE; - length -= PAGE_SIZE; - pmap_kenter(va, pa); - invlpg(va); - } - return (data); -} - -/* Unmap memory previously mapped with table_map(). */ -static void -table_unmap(void *data, vm_offset_t length) -{ - vm_offset_t va, off; - - va = (vm_offset_t)data; - off = va & PAGE_MASK; - length = round_page(length + off); - va &= ~PAGE_MASK; - while (length > 0) { - pmap_kremove(va); - invlpg(va); - va += PAGE_SIZE; - length -= PAGE_SIZE; - } -} - -/* - * Map a table at a given offset into the crashdump map. It first - * maps the header to determine the table length and then maps the - * entire table. - */ -static void * -map_table(vm_paddr_t pa, int offset, const char *sig) -{ ACPI_TABLE_HEADER *header; vm_offset_t length; void *table; - header = table_map(pa, offset, sizeof(ACPI_TABLE_HEADER)); + header = pmap_mapbios(pa, sizeof(ACPI_TABLE_HEADER)); if (strncmp(header->Signature, sig, ACPI_NAMESEG_SIZE) != 0) { - table_unmap(header, sizeof(ACPI_TABLE_HEADER)); + pmap_unmapbios((vm_offset_t)header, sizeof(ACPI_TABLE_HEADER)); return (NULL); } length = header->Length; - table_unmap(header, sizeof(ACPI_TABLE_HEADER)); - table = table_map(pa, offset, length); + pmap_unmapbios((vm_offset_t)header, sizeof(ACPI_TABLE_HEADER)); + table = pmap_mapbios(pa, length); if (ACPI_FAILURE(AcpiTbChecksum(table, length))) { if (bootverbose) printf("ACPI: Failed checksum for table %s\n", sig); #if (ACPI_CHECKSUM_ABORT) - table_unmap(table, length); + pmap_unmapbios((vm_offset_t)table, length); return (NULL); #endif } @@ -190,21 +128,12 @@ static int probe_table(vm_paddr_t address, const char *sig) { ACPI_TABLE_HEADER *table; + int ret; - table = table_map(address, 0, sizeof(ACPI_TABLE_HEADER)); - if (table == NULL) { - if (bootverbose) - printf("ACPI: Failed to map table at 0x%jx\n", - (uintmax_t)address); - return (0); - } - - if (strncmp(table->Signature, sig, ACPI_NAMESEG_SIZE) != 0) { - table_unmap(table, sizeof(ACPI_TABLE_HEADER)); - return (0); - } - table_unmap(table, sizeof(ACPI_TABLE_HEADER)); - return (1); + table = pmap_mapbios(address, sizeof(ACPI_TABLE_HEADER)); + ret = strncmp(table->Signature, sig, ACPI_NAMESEG_SIZE) == 0; + pmap_unmapbios((vm_offset_t)table, sizeof(ACPI_TABLE_HEADER)); + return (ret); } /* @@ -215,7 +144,7 @@ void * acpi_map_table(vm_paddr_t pa, const char *sig) { - return (map_table(pa, 0, sig)); + return (map_table(pa, sig)); } /* Unmap a table previously mapped via acpi_map_table(). */ @@ -225,7 +154,7 @@ acpi_unmap_table(void *table) ACPI_TABLE_HEADER *header; header = (ACPI_TABLE_HEADER *)table; - table_unmap(table, header->Length); + pmap_unmapbios((vm_offset_t)table, header->Length); } /* @@ -262,9 +191,7 @@ acpi_find_table(const char *sig) /* * For ACPI >= 2.0, use the XSDT if it is available. - * Otherwise, use the RSDT. We map the XSDT or RSDT at page 2 - * in the crashdump area. Pages 0 and 1 are used to map in the - * headers of candidate ACPI tables. + * Otherwise, use the RSDT. */ addr = 0; if (rsdp->Revision >= 2 && rsdp->XsdtPhysicalAddress != 0) { @@ -278,7 +205,7 @@ acpi_find_table(const char *sig) printf("ACPI: RSDP failed extended checksum\n"); return (0); } - xsdt = map_table(rsdp->XsdtPhysicalAddress, 2, ACPI_SIG_XSDT); + xsdt = map_table(rsdp->XsdtPhysicalAddress, ACPI_SIG_XSDT); if (xsdt == NULL) { if (bootverbose) printf("ACPI: Failed to map XSDT\n"); @@ -293,7 +220,7 @@ acpi_find_table(const char *sig) } acpi_unmap_table(xsdt); } else { - rsdt = map_table(rsdp->RsdtPhysicalAddress, 2, ACPI_SIG_RSDT); + rsdt = map_table(rsdp->RsdtPhysicalAddress, ACPI_SIG_RSDT); if (rsdt == NULL) { if (bootverbose) printf("ACPI: Failed to map RSDT\n"); @@ -316,7 +243,7 @@ acpi_find_table(const char *sig) * Verify that we can map the full table and that its checksum is * correct, etc. */ - table = map_table(addr, 0, sig); + table = map_table(addr, sig); if (table == NULL) return (0); acpi_unmap_table(table); Modified: head/sys/i386/acpica/acpi_machdep.c ============================================================================== --- head/sys/i386/acpica/acpi_machdep.c Thu Aug 20 00:38:32 2020 (r364410) +++ head/sys/i386/acpica/acpi_machdep.c Thu Aug 20 00:52:53 2020 (r364411) @@ -109,89 +109,29 @@ acpi_machdep_quirks(int *quirks) } /* - * Support for mapping ACPI tables during early boot. This abuses the - * crashdump map because the kernel cannot allocate KVA in - * pmap_mapbios() when this is used. This makes the following - * assumptions about how we use this KVA: pages 0 and 1 are used to - * map in the header of each table found via the RSDT or XSDT and - * pages 2 to n are used to map in the RSDT or XSDT. This has to use - * 2 pages for the table headers in case a header spans a page - * boundary. - * - * XXX: We don't ensure the table fits in the available address space - * in the crashdump map. + * Map a table. First map the header to determine the table length and then map + * the entire table. */ - -/* - * Map some memory using the crashdump map. 'offset' is an offset in - * pages into the crashdump map to use for the start of the mapping. - */ static void * -table_map(vm_paddr_t pa, int offset, vm_offset_t length) +map_table(vm_paddr_t pa, const char *sig) { - vm_offset_t va, off; - void *data; - - off = pa & PAGE_MASK; - length = round_page(length + off); - pa = pmap_pg_frame(pa); - va = (vm_offset_t)pmap_kenter_temporary(pa, offset) + - (offset * PAGE_SIZE); - data = (void *)(va + off); - length -= PAGE_SIZE; - while (length > 0) { - va += PAGE_SIZE; - pa += PAGE_SIZE; - length -= PAGE_SIZE; - pmap_kenter(va, pa); - invlpg(va); - } - return (data); -} - -/* Unmap memory previously mapped with table_map(). */ -static void -table_unmap(void *data, vm_offset_t length) -{ - vm_offset_t va, off; - - va = (vm_offset_t)data; - off = va & PAGE_MASK; - length = round_page(length + off); - va &= ~PAGE_MASK; - while (length > 0) { - pmap_kremove(va); - invlpg(va); - va += PAGE_SIZE; - length -= PAGE_SIZE; - } -} - -/* - * Map a table at a given offset into the crashdump map. It first - * maps the header to determine the table length and then maps the - * entire table. - */ -static void * -map_table(vm_paddr_t pa, int offset, const char *sig) -{ ACPI_TABLE_HEADER *header; vm_offset_t length; void *table; - header = table_map(pa, offset, sizeof(ACPI_TABLE_HEADER)); + header = pmap_mapbios(pa, sizeof(ACPI_TABLE_HEADER)); if (strncmp(header->Signature, sig, ACPI_NAMESEG_SIZE) != 0) { - table_unmap(header, sizeof(ACPI_TABLE_HEADER)); + pmap_unmapbios((vm_offset_t)header, sizeof(ACPI_TABLE_HEADER)); return (NULL); } length = header->Length; - table_unmap(header, sizeof(ACPI_TABLE_HEADER)); - table = table_map(pa, offset, length); + pmap_unmapbios((vm_offset_t)header, sizeof(ACPI_TABLE_HEADER)); + table = pmap_mapbios(pa, length); if (ACPI_FAILURE(AcpiTbChecksum(table, length))) { if (bootverbose) printf("ACPI: Failed checksum for table %s\n", sig); #if (ACPI_CHECKSUM_ABORT) - table_unmap(table, length); + pmap_unmapbios((vm_offset_t)table, length); return (NULL); #endif } @@ -206,21 +146,12 @@ static int probe_table(vm_paddr_t address, const char *sig) { ACPI_TABLE_HEADER *table; + int ret; - table = table_map(address, 0, sizeof(ACPI_TABLE_HEADER)); - if (table == NULL) { - if (bootverbose) - printf("ACPI: Failed to map table at 0x%jx\n", - (uintmax_t)address); - return (0); - } - - if (strncmp(table->Signature, sig, ACPI_NAMESEG_SIZE) != 0) { - table_unmap(table, sizeof(ACPI_TABLE_HEADER)); - return (0); - } - table_unmap(table, sizeof(ACPI_TABLE_HEADER)); - return (1); + table = pmap_mapbios(address, sizeof(ACPI_TABLE_HEADER)); + ret = strncmp(table->Signature, sig, ACPI_NAMESEG_SIZE) == 0; + pmap_unmapbios((vm_offset_t)table, sizeof(ACPI_TABLE_HEADER)); + return (ret); } /* @@ -231,7 +162,7 @@ void * acpi_map_table(vm_paddr_t pa, const char *sig) { - return (map_table(pa, 0, sig)); + return (map_table(pa, sig)); } /* Unmap a table previously mapped via acpi_map_table(). */ @@ -241,7 +172,7 @@ acpi_unmap_table(void *table) ACPI_TABLE_HEADER *header; header = (ACPI_TABLE_HEADER *)table; - table_unmap(table, header->Length); + pmap_unmapbios((vm_offset_t)table, header->Length); } /* @@ -278,9 +209,7 @@ acpi_find_table(const char *sig) /* * For ACPI >= 2.0, use the XSDT if it is available. - * Otherwise, use the RSDT. We map the XSDT or RSDT at page 2 - * in the crashdump area. Pages 0 and 1 are used to map in the - * headers of candidate ACPI tables. + * Otherwise, use the RSDT. */ addr = 0; if (rsdp->Revision >= 2 && rsdp->XsdtPhysicalAddress != 0) { @@ -294,7 +223,7 @@ acpi_find_table(const char *sig) printf("ACPI: RSDP failed extended checksum\n"); return (0); } - xsdt = map_table(rsdp->XsdtPhysicalAddress, 2, ACPI_SIG_XSDT); + xsdt = map_table(rsdp->XsdtPhysicalAddress, ACPI_SIG_XSDT); if (xsdt == NULL) { if (bootverbose) printf("ACPI: Failed to map XSDT\n"); @@ -309,7 +238,7 @@ acpi_find_table(const char *sig) } acpi_unmap_table(xsdt); } else { - rsdt = map_table(rsdp->RsdtPhysicalAddress, 2, ACPI_SIG_RSDT); + rsdt = map_table(rsdp->RsdtPhysicalAddress, ACPI_SIG_RSDT); if (rsdt == NULL) { if (bootverbose) printf("ACPI: Failed to map RSDT\n"); @@ -332,7 +261,7 @@ acpi_find_table(const char *sig) * Verify that we can map the full table and that its checksum is * correct, etc. */ - table = map_table(addr, 0, sig); + table = map_table(addr, sig); if (table == NULL) return (0); acpi_unmap_table(table); From owner-svn-src-all@freebsd.org Thu Aug 20 01:14:40 2020 Return-Path: Delivered-To: svn-src-all@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 5F1873CD85B; Thu, 20 Aug 2020 01:14:40 +0000 (UTC) (envelope-from bdragon@imap.cc) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (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 4BX6BS0NyDz4mbd; Thu, 20 Aug 2020 01:14:39 +0000 (UTC) (envelope-from bdragon@imap.cc) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 0AA265C00BD; Wed, 19 Aug 2020 21:14:39 -0400 (EDT) Received: from imap1 ([10.202.2.51]) by compute3.internal (MEProxy); Wed, 19 Aug 2020 21:14:39 -0400 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=fm1; bh=SLI3Y3g7E0HpvDOBIEOccj6f2FY9LCB 7jhlKemFGR0Y=; b=skJ9lNqJLPZwiInVS/ZR5XEKSuTwJLZjl3G2ClQG50UIBqk hx9U6zwXp41oeRXKUCPmAlURXu+t+KLw9ZS3GCTmT7OFqRPbHcUL0Y55NiMvwr/b mqQg0xtjTj29E2TgdlAuXlGlMIK4WttL29VNXFSek5FZO8brasXTpdHpuF0NpMxS Ny0+VL9FYeR1UoXtZq8neabl/UXEPrIxTqx/KT/PmeJs+jFacp0NJ4D//cxRXS36 joTCa/Fy2mp/9cX1Poo3S2vRS8KXGJtTRZ8S1OxCqqtEUTG9vNMYbygToqsD5l7V BJnV34IN2ZERSKlhOsYKlPCJuOAf26vIFT1rnng== 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=fm3; bh=SLI3Y3 g7E0HpvDOBIEOccj6f2FY9LCB7jhlKemFGR0Y=; b=rHGGnC0wtY2+kCkdgOHpkP uhbAGLt3UxJtb/pC8pfQvB7iRFxod2ZQGtv4w34DsnZCl9eOyHIhT0+glZQdwoI6 aHuxx3UVHD7MpldJuoIwYCJZkCKmVCOK1hIS2qgEnXC9iaQwho/2J9dicVyKrg3G gOO7L68CFUplykA+C9RvX99Y4znISj94ZDxUd9FjhuquDZpp4Qvw6BdUX/IjGOz4 wgNFjbJ6jP6DXpXKF+KUcRHhwQCxHyLAcblYCY+y35qG+0g14c++mMuncA43L3bW ieRQtrMAahjJ8s/tMXvqeSU64dQUTmht0cbRzJNIRcRek0Ix9RxKAJ3PXqq6MgSA == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedruddtledgfeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne gfrhhlucfvnfffucdluddtmdenucfjughrpefofgggkfgjfhffhffvufgtsehttdertder redtnecuhfhrohhmpedfuehrrghnughonhcuuegvrhhgrhgvnhdfuceosggurhgrghhonh esihhmrghprdgttgeqnecuggftrfgrthhtvghrnhepueevkefhgffhtdeijeduhfejgfel jefhffdtheekjedvfeehiefhudfhteeltdehnecuffhomhgrihhnpehfrhgvvggsshgurd horhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep sggurhgrghhonhesihhmrghprdgttg X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id D4B92C200A4; Wed, 19 Aug 2020 21:14:38 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-191-gef79d59-fm-20200818.001-gef79d590 Mime-Version: 1.0 Message-Id: <6659148c-b4c4-4f07-a2ae-9ff52dba62ed@www.fastmail.com> In-Reply-To: <202008192342.07JNgXKj056987@repo.freebsd.org> References: <202008192342.07JNgXKj056987@repo.freebsd.org> Date: Wed, 19 Aug 2020 20:14:17 -0500 From: "Brandon Bergren" To: "Rick Macklem" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364409 - in head/sys: kern sys Content-Type: text/plain X-Rspamd-Queue-Id: 4BX6BS0NyDz4mbd X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:11403, ipnet:66.111.4.0/24, country:US]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 01:14:40 -0000 This broke world build. Please update the blacklist in lib/sysdecode/mktables. On Wed, Aug 19, 2020, at 6:42 PM, Rick Macklem wrote: > Author: rmacklem > Date: Wed Aug 19 23:42:33 2020 > New Revision: 364409 > URL: https://svnweb.freebsd.org/changeset/base/364409 > > Log: > Add the MSG_TLSAPPDATA flag to indicate "return ENXIO" for non-application TLS > data records. > > The kernel RPC cannot process non-application data records when > using TLS. It must to an upcall to a userspace daemon that will > call SSL_read() to process them. > > This patch adds a new flag called MSG_TLSAPPDATA that the kernel > RPC can use to tell sorecieve() to return ENXIO instead of a non-application > data record, when that is what is at the top of the receive queue. > I put the code in #ifdef KERN_TLS/#endif, although it will build without > that, so that it is recognized as only useful when KERN_TLS is enabled. > The alternative to doing this is to have the kernel RPC re-queue the > non-application data message after receiving it, but that seems more > complicated and might introduce message ordering issues when there > are multiple non-application data records one after another. > > I do not know what, if any, changes will be required to support TLS1.3. > > Reviewed by: glebius > Differential Revision: https://reviews.freebsd.org/D25923 > > Modified: > head/sys/kern/uipc_socket.c > head/sys/sys/socket.h > > Modified: head/sys/kern/uipc_socket.c > ============================================================================== > --- head/sys/kern/uipc_socket.c Wed Aug 19 20:41:22 2020 (r364408) > +++ head/sys/kern/uipc_socket.c Wed Aug 19 23:42:33 2020 (r364409) > @@ -2056,6 +2056,32 @@ dontblock: > if (m != NULL && m->m_type == MT_CONTROL) { > struct mbuf *cm = NULL, *cmn; > struct mbuf **cme = &cm; > +#ifdef KERN_TLS > + struct cmsghdr *cmsg; > + struct tls_get_record tgr; > + > + /* > + * For MSG_TLSAPPDATA, check for a non-application data > + * record. If found, return ENXIO without removing > + * it from the receive queue. This allows a subsequent > + * call without MSG_TLSAPPDATA to receive it. > + * Note that, for TLS, there should only be a single > + * control mbuf with the TLS_GET_RECORD message in it. > + */ > + if (flags & MSG_TLSAPPDATA) { > + cmsg = mtod(m, struct cmsghdr *); > + if (cmsg->cmsg_type == TLS_GET_RECORD && > + cmsg->cmsg_len == CMSG_LEN(sizeof(tgr))) { > + memcpy(&tgr, CMSG_DATA(cmsg), sizeof(tgr)); > + /* This will need to change for TLS 1.3. */ > + if (tgr.tls_type != TLS_RLTYPE_APP) { > + SOCKBUF_UNLOCK(&so->so_rcv); > + error = ENXIO; > + goto release; > + } > + } > + } > +#endif > > do { > if (flags & MSG_PEEK) { > > Modified: head/sys/sys/socket.h > ============================================================================== > --- head/sys/sys/socket.h Wed Aug 19 20:41:22 2020 (r364408) > +++ head/sys/sys/socket.h Wed Aug 19 23:42:33 2020 (r364409) > @@ -468,6 +468,7 @@ struct msghdr { > #endif > #ifdef _KERNEL > #define MSG_MORETOCOME 0x00100000 /* additional data pending */ > +#define MSG_TLSAPPDATA 0x00200000 /* only soreceive() app. data (TLS) */ > #endif > > /* > -- Brandon Bergren bdragon@imap.cc From owner-svn-src-all@freebsd.org Thu Aug 20 01:31:22 2020 Return-Path: Delivered-To: svn-src-all@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 7292E3CEC3C; Thu, 20 Aug 2020 01:31:22 +0000 (UTC) (envelope-from asomers@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 4BX6Yk2W4tz4p2v; Thu, 20 Aug 2020 01:31:22 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3A653BF64; Thu, 20 Aug 2020 01:31:22 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07K1VMbs023657; Thu, 20 Aug 2020 01:31:22 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07K1VMRf023656; Thu, 20 Aug 2020 01:31:22 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202008200131.07K1VMRf023656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Thu, 20 Aug 2020 01:31:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364412 - head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Commit-Revision: 364412 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 01:31:22 -0000 Author: asomers Date: Thu Aug 20 01:31:21 2020 New Revision: 364412 URL: https://svnweb.freebsd.org/changeset/base/364412 Log: zfs: fix EIO accessing dataset after resuming interrupted receive ZFS unmounts a dataset while receiving into it and remounts it afterwards. But if ZFS is resuming an incomplete receive, it screws up and ends up with a dataset that is mounted, but returns EIO for every access. This commit fixes that condition. While the vulnerable code also exists in OpenZFS, the problem is not reproducible there. Apparently OpenZFS doesn't unmount the destination dataset during receive, like FreeBSD does. PR: 248606 Reviewed by: mmacy MFC after: 2 weeks Sponsored by: Axcient Differential Revision: https://reviews.freebsd.org/D26034 Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Thu Aug 20 00:52:53 2020 (r364411) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Thu Aug 20 01:31:21 2020 (r364412) @@ -3434,7 +3434,7 @@ zfs_receive_one(libzfs_handle_t *hdl, int infd, const } if (!flags->dryrun && zhp->zfs_type == ZFS_TYPE_FILESYSTEM && - stream_wantsnewfs) { + (stream_wantsnewfs || resuming)) { /* We can't do online recv in this case */ clp = changelist_gather(zhp, ZFS_PROP_NAME, 0, flags->forceunmount ? MS_FORCE : 0); From owner-svn-src-all@freebsd.org Thu Aug 20 02:51:18 2020 Return-Path: Delivered-To: svn-src-all@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 C40DD3AB0B9; Thu, 20 Aug 2020 02:51:18 +0000 (UTC) (envelope-from mav@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 4BX8Ky4vHDz4vgk; Thu, 20 Aug 2020 02:51:18 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8B812D2C6; Thu, 20 Aug 2020 02:51:18 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07K2pIMa073132; Thu, 20 Aug 2020 02:51:18 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07K2pId2073131; Thu, 20 Aug 2020 02:51:18 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202008200251.07K2pId2073131@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 20 Aug 2020 02:51:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364413 - stable/12/sys/cam/nvme X-SVN-Group: stable-12 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/12/sys/cam/nvme X-SVN-Commit-Revision: 364413 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 02:51:18 -0000 Author: mav Date: Thu Aug 20 02:51:18 2020 New Revision: 364413 URL: https://svnweb.freebsd.org/changeset/base/364413 Log: MFC r364178: Report proper stripesize for nda(4). Same as for nvd(4) report NPWG if present, otherise NOIOB. Modified: stable/12/sys/cam/nvme/nvme_da.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/cam/nvme/nvme_da.c ============================================================================== --- stable/12/sys/cam/nvme/nvme_da.c Thu Aug 20 01:31:21 2020 (r364412) +++ stable/12/sys/cam/nvme/nvme_da.c Thu Aug 20 02:51:18 2020 (r364413) @@ -805,7 +805,11 @@ ndaregister(struct cam_periph *periph, void *arg) disk->d_hba_device = cpi.hba_device; disk->d_hba_subvendor = cpi.hba_subvendor; disk->d_hba_subdevice = cpi.hba_subdevice; - disk->d_stripesize = disk->d_sectorsize; + if (((nsd->nsfeat >> NVME_NS_DATA_NSFEAT_NPVALID_SHIFT) & + NVME_NS_DATA_NSFEAT_NPVALID_MASK) != 0 && nsd->npwg != 0) + disk->d_stripesize = ((nsd->npwg + 1) * disk->d_sectorsize); + else + disk->d_stripesize = nsd->noiob * disk->d_sectorsize; disk->d_stripeoffset = 0; disk->d_devstat = devstat_new_entry(periph->periph_name, periph->unit_number, disk->d_sectorsize, From owner-svn-src-all@freebsd.org Thu Aug 20 02:54:45 2020 Return-Path: Delivered-To: svn-src-all@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 8F9A03AB5C8; Thu, 20 Aug 2020 02:54:45 +0000 (UTC) (envelope-from mav@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 4BX8Px3M2Qz3RZC; Thu, 20 Aug 2020 02:54:45 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4E075D627; Thu, 20 Aug 2020 02:54:45 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07K2sjxo075595; Thu, 20 Aug 2020 02:54:45 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07K2sjiE075594; Thu, 20 Aug 2020 02:54:45 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202008200254.07K2sjiE075594@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 20 Aug 2020 02:54:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364414 - stable/12/sys/cam/nvme X-SVN-Group: stable-12 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/12/sys/cam/nvme X-SVN-Commit-Revision: 364414 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 02:54:45 -0000 Author: mav Date: Thu Aug 20 02:54:44 2020 New Revision: 364414 URL: https://svnweb.freebsd.org/changeset/base/364414 Log: MFC r364185: Fill device serial_num and device_id in NVMe XPT. It allows to report GEOM::lunid for nda(4) same as for nvd(4). Since NVMe now allows multiple LUs (namespaces) with multiple paths unique LU identification is important. The serial_num field is filled same as before with the controller serial number, while device_id is based on namespace GUID and/or EUI64 fields as recommended by "NVM Express: SCSI Translation Reference" and matching nvd(4) at the end. Modified: stable/12/sys/cam/nvme/nvme_xpt.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/cam/nvme/nvme_xpt.c ============================================================================== --- stable/12/sys/cam/nvme/nvme_xpt.c Thu Aug 20 02:51:18 2020 (r364413) +++ stable/12/sys/cam/nvme/nvme_xpt.c Thu Aug 20 02:54:44 2020 (r364414) @@ -311,9 +311,11 @@ nvme_probe_done(struct cam_periph *periph, union ccb * struct nvme_controller_data *nvme_cdata; nvme_probe_softc *softc; struct cam_path *path; + struct scsi_vpd_device_id *did; + struct scsi_vpd_id_descriptor *idd; cam_status status; u_int32_t priority; - int found = 1; + int found = 1, e, g, len; CAM_DEBUG(done_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("nvme_probe_done\n")); @@ -370,6 +372,21 @@ device_fail: if ((path->device->flags & CAM_DEV_UNCONF bcopy(&softc->cd, nvme_cdata, sizeof(*nvme_cdata)); path->device->nvme_cdata = nvme_cdata; + /* Save/update serial number. */ + if (path->device->serial_num != NULL) { + free(path->device->serial_num, M_CAMXPT); + path->device->serial_num = NULL; + path->device->serial_num_len = 0; + } + path->device->serial_num = (u_int8_t *) + malloc(NVME_SERIAL_NUMBER_LENGTH + 1, M_CAMXPT, M_NOWAIT); + if (path->device->serial_num != NULL) { + cam_strvis(path->device->serial_num, nvme_cdata->sn, + NVME_SERIAL_NUMBER_LENGTH, NVME_SERIAL_NUMBER_LENGTH + 1); + path->device->serial_num_len = + strlen(path->device->serial_num); + } + // nvme_find_quirk(path->device); nvme_device_transport(path); NVME_PROBE_SET_ACTION(softc, NVME_PROBE_IDENTIFY_NS); @@ -395,6 +412,53 @@ device_fail: if ((path->device->flags & CAM_DEV_UNCONF bcopy(&softc->ns, nvme_data, sizeof(*nvme_data)); path->device->nvme_data = nvme_data; + /* Save/update device_id based on NGUID and/or EUI64. */ + if (path->device->device_id != NULL) { + free(path->device->device_id, M_CAMXPT); + path->device->device_id = NULL; + path->device->device_id_len = 0; + } + len = 0; + for (g = 0; g < sizeof(nvme_data->nguid); g++) { + if (nvme_data->nguid[g] != 0) + break; + } + if (g < sizeof(nvme_data->nguid)) + len += sizeof(struct scsi_vpd_id_descriptor) + 16; + for (e = 0; e < sizeof(nvme_data->eui64); e++) { + if (nvme_data->eui64[e] != 0) + break; + } + if (e < sizeof(nvme_data->eui64)) + len += sizeof(struct scsi_vpd_id_descriptor) + 8; + if (len > 0) { + path->device->device_id = (u_int8_t *) + malloc(SVPD_DEVICE_ID_HDR_LEN + len, + M_CAMXPT, M_NOWAIT); + } + if (path->device->device_id != NULL) { + did = (struct scsi_vpd_device_id *)path->device->device_id; + did->device = SID_QUAL_LU_CONNECTED | T_DIRECT; + did->page_code = SVPD_DEVICE_ID; + scsi_ulto2b(len, did->length); + idd = (struct scsi_vpd_id_descriptor *)(did + 1); + if (g < sizeof(nvme_data->nguid)) { + idd->proto_codeset = SVPD_ID_CODESET_BINARY; + idd->id_type = SVPD_ID_ASSOC_LUN | SVPD_ID_TYPE_EUI64; + idd->length = 16; + bcopy(nvme_data->nguid, idd->identifier, 16); + idd = (struct scsi_vpd_id_descriptor *) + &idd->identifier[16]; + } + if (e < sizeof(nvme_data->eui64)) { + idd->proto_codeset = SVPD_ID_CODESET_BINARY; + idd->id_type = SVPD_ID_ASSOC_LUN | SVPD_ID_TYPE_EUI64; + idd->length = 8; + bcopy(nvme_data->eui64, idd->identifier, 8); + } + path->device->device_id_len = SVPD_DEVICE_ID_HDR_LEN + len; + } + if (periph->path->device->flags & CAM_DEV_UNCONFIGURED) { path->device->flags &= ~CAM_DEV_UNCONFIGURED; xpt_acquire_device(path->device); @@ -547,9 +611,9 @@ nvme_alloc_device(struct cam_eb *bus, struct cam_et *t device->maxtags = 0; device->inq_flags = 0; device->queue_flags = 0; - device->device_id = NULL; /* XXX Need to set this somewhere */ + device->device_id = NULL; device->device_id_len = 0; - device->serial_num = NULL; /* XXX Need to set this somewhere */ + device->serial_num = NULL; device->serial_num_len = 0; return (device); } From owner-svn-src-all@freebsd.org Thu Aug 20 03:53:18 2020 Return-Path: Delivered-To: svn-src-all@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 DD9673AD5A8; Thu, 20 Aug 2020 03:53:18 +0000 (UTC) (envelope-from rmacklem@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 4BX9jV5Zffz3WRx; Thu, 20 Aug 2020 03:53:18 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A2C1AE401; Thu, 20 Aug 2020 03:53:18 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07K3rI9T014339; Thu, 20 Aug 2020 03:53:18 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07K3rI6o014338; Thu, 20 Aug 2020 03:53:18 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202008200353.07K3rI6o014338@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 20 Aug 2020 03:53:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364415 - head/lib/libsysdecode X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/lib/libsysdecode X-SVN-Commit-Revision: 364415 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 03:53:18 -0000 Author: rmacklem Date: Thu Aug 20 03:53:18 2020 New Revision: 364415 URL: https://svnweb.freebsd.org/changeset/base/364415 Log: Add MSG_TLSAPPDATA to lib/libsysdecode/mktables. I have no idea what this does (and until now that it even existed), but apparently it needs this entry changed for the MSG_TLSAPPDATA, since it is kernel only. Modified: head/lib/libsysdecode/mktables Modified: head/lib/libsysdecode/mktables ============================================================================== --- head/lib/libsysdecode/mktables Thu Aug 20 02:54:44 2020 (r364414) +++ head/lib/libsysdecode/mktables Thu Aug 20 03:53:18 2020 (r364415) @@ -153,7 +153,7 @@ gen_table "seekwhence" "SEEK_[A-Z]+[[:space:]]+[0 gen_table "fcntlcmd" "F_[A-Z0-9_]+[[:space:]]+[0-9]+[[:space:]]+" "sys/fcntl.h" "F_CANCEL|F_..LCK" gen_table "mmapflags" "MAP_[A-Z_]+[[:space:]]+0x[0-9A-Fa-f]+" "sys/mman.h" gen_table "rtpriofuncs" "RTP_[A-Z]+[[:space:]]+[0-9]+" "sys/rtprio.h" -gen_table "msgflags" "MSG_[A-Z]+[[:space:]]+0x[0-9]+" "sys/socket.h" "MSG_SOCALLBCK|MSG_MORETOCOME" +gen_table "msgflags" "MSG_[A-Z]+[[:space:]]+0x[0-9]+" "sys/socket.h" "MSG_SOCALLBCK|MSG_MORETOCOME|MSG_TLSAPPDATA" gen_table "sigcode" "SI_[A-Z]+[[:space:]]+0(x[0-9abcdef]+)?" "sys/signal.h" gen_table "umtxcvwaitflags" "CVWAIT_[A-Z_]+[[:space:]]+0x[0-9]+" "sys/umtx.h" gen_table "umtxrwlockflags" "URWLOCK_PREFER_READER[[:space:]]+0x[0-9]+" "sys/umtx.h" From owner-svn-src-all@freebsd.org Thu Aug 20 03:55:01 2020 Return-Path: Delivered-To: svn-src-all@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 BDDAD3AD71B; Thu, 20 Aug 2020 03:55:01 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-to1can01on062b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5d::62b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BX9lS42MNz3Wf5; Thu, 20 Aug 2020 03:55:00 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cfp5zW01BmvyLagKfzgKUqP/izlonOYuBMaDFKQOFA74OrKEtAXt0vl4LxguHWmI8fzj3Or2xJOdohPZDWBE3YDdBK5Q9W3z7TxsPKZkIRz/sYUukmYHRutDx26NADYsD1BGmqCnJ5MguOhR9fFePSaKF3Typ3UcYnn6If1SBC7iC+x6ZCHdLbqiquk4MDhiNPzdOwfNnlV7M4VpvaOc3dIk5UqSBFHzmJXeF+ev72BzIkSUwQ+4MGW1QuVVmVSOfb/hp2TNdr3XqErOH4k4G75ykVHfo4zvhYYp0164bMRJwIKuK3geXZxc9tfznYfJ/mF5yDbfJJeMrkZ3XoEbUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BQqdX9iPyeO1+4aOXJwXH27lYAq3NrYxP0MSlY4SKiA=; b=QeEa23T0QdZ2ITt+G1oCYMSfiUaKvbzWTwxTY6F3BpB9edcXo+a67w/Ez5yc/53/ub5NsQ2BUJK/coQ6ntR1sMwnUfaIbgfSRY6m4m7QHlnYxZA4CA2Mf2LoWVERZgLeROo/i//aI0lLusIRvqOuZy5ZobGsBXsmEkcklkUWQJBl3yxAL6zh45JZaxq/hJUKvWDtc7KIUzC5EzIj/H1jL+t4Eu62hrGNzRraS/xurmwJOV8mLSwicgNpm/L5jI0wH91oWYSJjm2BPWlwnOu9o+uGSoJrq6XGRAU4pvCWHO3cczaNzrt3F/d7SWUDpo1osVpob3klCcyj7jGgzM9Y/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BQqdX9iPyeO1+4aOXJwXH27lYAq3NrYxP0MSlY4SKiA=; b=atnwHBzKm9RkpfGe6SAqjyANINEF3JbdVzCt/iJRD9IYVOahfOqOAgKAsbP7a9mQ7GycylF/1WA62eS/mjeBOJPquqYCqHekYenwv7fc6vQJZNEM+FaBnJsJxsJXeR3c/2B408TQLhF/qP5z89J9o+IzTsKTE6GdVTEAm/WwwFgLA6KYo+NTMFcKM7WrFtXQgIRshFIeEVybG5fQml5EZjyO2uKz7NSyeHPOFkn6FjCdJa2N/5sYf5zaVEEEK7wIZ9aheE/I97Gw+fDQTyr6RFAAntSXrEzBC1qm3yd7zt7NlmjDuu3Yd9nDtyMJXNB1glb5iIcRyrijgJIW8q37pg== Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:38::14) by QB1PR01MB3731.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:34::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 03:54:58 +0000 Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::e89a:a655:91ca:4e63]) by QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::e89a:a655:91ca:4e63%5]) with mapi id 15.20.3283.028; Thu, 20 Aug 2020 03:54:57 +0000 From: Rick Macklem To: Brandon Bergren , Rick Macklem , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r364409 - in head/sys: kern sys Thread-Topic: svn commit: r364409 - in head/sys: kern sys Thread-Index: AQHWdoJvJLvEoJDjUEK6Q3f09mJvEqlAMW6AgAAsdvM= Date: Thu, 20 Aug 2020 03:54:57 +0000 Message-ID: References: <202008192342.07JNgXKj056987@repo.freebsd.org>, <6659148c-b4c4-4f07-a2ae-9ff52dba62ed@www.fastmail.com> In-Reply-To: <6659148c-b4c4-4f07-a2ae-9ff52dba62ed@www.fastmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ef87f6ec-e006-419e-8274-08d844bcce58 x-ms-traffictypediagnostic: QB1PR01MB3731: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sjrtF9EJ14CDpBomeoZs0O1rYtitTYB4k87UHur6Tl6koUaeHd9uHTnYcNBT9dXPfoq4v1AUJIsbJXAq4KVEGwLswqMqAFvgsMToepePiGQfWpGF2yoEPoq8xTfxeV1HrNGgH2nTBJ+89Kjf61r/HzXL2VRcSQhTxePh0YewTmy7VXmmMPvWM63b4QEHXlyGODHFoQryWOQeC7VEDtv3kZGRk/WYpD+12bvNVvP0XrgvYrATaAawUxuEpnydgcVcaqDyF4lV+3AwlPl9P/81gzuuT5b/p2p+fofXDK7QJTU9HA2TMs9b5Rh4CwTcJoM+6JXLEPMM1xP7c8C3e+96+v8yYWFhCfeR2tL6c+x0KUT9yDvKmjB3eAmPutZFjjHtpxf7dzcVVEn3k4K1ibAiXWtpOg1MGywzu9DWh5l6HjOkU0Q933srvSljcRrd5brAoist2WkcWsHyrNS2cmHH1w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(396003)(366004)(39860400002)(136003)(346002)(376002)(91956017)(966005)(76116006)(8676002)(71200400001)(64756008)(66556008)(9686003)(66946007)(478600001)(7696005)(55016002)(66446008)(66476007)(2906002)(786003)(86362001)(316002)(110136005)(33656002)(186003)(8936002)(53546011)(52536014)(6506007)(83380400001)(5660300002)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: +s7sJlO+oKZTWQLeXbNf4BL3ZDjXAiLUdfiqndyWUjfDBHVfm594mbKFlQlkjy12V7mv3t0bkHghjt37cUfnFHrrx2wXD77uuQ18bWDDInM73h3nIVjxbZ19XeQ6AplA4UDkyWedwpm+yq0lsQWwI2Z3LaanVX7OCkGe+XoDVVB+OaQuY3I0uUsLMpB+CCYGYYUsn2///EMNWlZpe8c0tM+c4ayy6r8oeJtV9OoArYP6Lychs+Ed0U45Ys72rkvl4kS5s28wQrUkZ7FegZZRcm6cDWV1CUhxxO3C4O8yQJQk8X3+bIEtrMJA4PD2yDNE6em0aU4Rk+GOKXRAcFR8y82B8QnWnU30ya1Sh82i8Fun5Ct42IQaCEL+Ed46MeniSLIvl6s5t9LwZ+ajNUPhBTThEuapeStaH9jbssR2suGFFtg684UU6SpJ7LyHQKule5ewHr2c6kDmwXEnxc1Qnoz/YJSzAmnOYWAjKcztp083z2353rsPvJCJKYjVjFfcbgWPLXE9Kqd9Q8bCjZUxTRMa2gGtSJAA9ytnMw6jClOWIUPUCvdPmErrkySs2PLqX9aUbvI1CAmb+lroiJDD8w7TNIZr9P8M0aKVQSEBWcH0PNPp4vXOOGu/OmyIFgbnZPYx0lkt/JAFUzGDlS4+bIqdMCt2Pc8MTG2+84VDAymSr2qLxGst530cogCAe3YKMNeYnAGa8hkTLEFSAnIL2A== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: ef87f6ec-e006-419e-8274-08d844bcce58 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2020 03:54:57.8453 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Jsw6TNFfeRlZFB9dN7poGxw7xkXhJCwARWK4n9Vf+twzuWyV+XoIQ6s4ouP3xKnVrTIy1cr72hLUDdLA0iheQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: QB1PR01MB3731 X-Rspamd-Queue-Id: 4BX9lS42MNz3Wf5 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=uoguelph.ca header.s=selector1 header.b=atnwHBzK; dmarc=none; spf=pass (mx1.freebsd.org: domain of rmacklem@uoguelph.ca designates 2a01:111:f400:fe5d::62b as permitted sender) smtp.mailfrom=rmacklem@uoguelph.ca X-Spamd-Result: default: False [-4.12 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.002]; R_DKIM_ALLOW(-0.20)[uoguelph.ca:s=selector1]; FREEFALL_USER(0.00)[rmacklem]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[uoguelph.ca]; RCPT_COUNT_FIVE(0.00)[5]; DWL_DNSWL_LOW(-1.00)[uoguelph.ca:dkim]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[uoguelph.ca:+]; NEURAL_HAM_SHORT(-0.61)[-0.614]; FREEMAIL_TO(0.00)[imap.cc,FreeBSD.org,freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; MAILMAN_DEST(0.00)[svn-src-all,svn-src-head] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 03:55:01 -0000 Done, I guess? I had never ever heard of this until now, but. by inspection, it seems to want the kernel only MSG_xxx flags listed, so I added MSG_TLSAPPDATA. If this is not correct, please let me know what needs to be done, rick ________________________________________ From: Brandon Bergren Sent: Wednesday, August 19, 2020 9:14 PM To: Rick Macklem; src-committers@freebsd.org; svn-src-all@freebsd.org; svn-= src-head@freebsd.org Subject: Re: svn commit: r364409 - in head/sys: kern sys CAUTION: This email originated from outside of the University of Guelph. Do= not click links or open attachments unless you recognize the sender and kn= ow the content is safe. If in doubt, forward suspicious emails to IThelp@uo= guelph.ca This broke world build. Please update the blacklist in lib/sysdecode/mktables. On Wed, Aug 19, 2020, at 6:42 PM, Rick Macklem wrote: > Author: rmacklem > Date: Wed Aug 19 23:42:33 2020 > New Revision: 364409 > URL: https://svnweb.freebsd.org/changeset/base/364409 > > Log: > Add the MSG_TLSAPPDATA flag to indicate "return ENXIO" for non-applicat= ion TLS > data records. > > The kernel RPC cannot process non-application data records when > using TLS. It must to an upcall to a userspace daemon that will > call SSL_read() to process them. > > This patch adds a new flag called MSG_TLSAPPDATA that the kernel > RPC can use to tell sorecieve() to return ENXIO instead of a non-applic= ation > data record, when that is what is at the top of the receive queue. > I put the code in #ifdef KERN_TLS/#endif, although it will build withou= t > that, so that it is recognized as only useful when KERN_TLS is enabled. > The alternative to doing this is to have the kernel RPC re-queue the > non-application data message after receiving it, but that seems more > complicated and might introduce message ordering issues when there > are multiple non-application data records one after another. > > I do not know what, if any, changes will be required to support TLS1.3. > > Reviewed by: glebius > Differential Revision: https://reviews.freebsd.org/D25923 > > Modified: > head/sys/kern/uipc_socket.c > head/sys/sys/socket.h > > Modified: head/sys/kern/uipc_socket.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/kern/uipc_socket.c Wed Aug 19 20:41:22 2020 (r3= 64408) > +++ head/sys/kern/uipc_socket.c Wed Aug 19 23:42:33 2020 (r3= 64409) > @@ -2056,6 +2056,32 @@ dontblock: > if (m !=3D NULL && m->m_type =3D=3D MT_CONTROL) { > struct mbuf *cm =3D NULL, *cmn; > struct mbuf **cme =3D &cm; > +#ifdef KERN_TLS > + struct cmsghdr *cmsg; > + struct tls_get_record tgr; > + > + /* > + * For MSG_TLSAPPDATA, check for a non-application data > + * record. If found, return ENXIO without removing > + * it from the receive queue. This allows a subsequent > + * call without MSG_TLSAPPDATA to receive it. > + * Note that, for TLS, there should only be a single > + * control mbuf with the TLS_GET_RECORD message in it. > + */ > + if (flags & MSG_TLSAPPDATA) { > + cmsg =3D mtod(m, struct cmsghdr *); > + if (cmsg->cmsg_type =3D=3D TLS_GET_RECORD && > + cmsg->cmsg_len =3D=3D CMSG_LEN(sizeof(tgr))) { > + memcpy(&tgr, CMSG_DATA(cmsg), sizeof(tgr)); > + /* This will need to change for TLS 1.3. */ > + if (tgr.tls_type !=3D TLS_RLTYPE_APP) { > + SOCKBUF_UNLOCK(&so->so_rcv); > + error =3D ENXIO; > + goto release; > + } > + } > + } > +#endif > > do { > if (flags & MSG_PEEK) { > > Modified: head/sys/sys/socket.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/sys/socket.h Wed Aug 19 20:41:22 2020 (r364408) > +++ head/sys/sys/socket.h Wed Aug 19 23:42:33 2020 (r364409) > @@ -468,6 +468,7 @@ struct msghdr { > #endif > #ifdef _KERNEL > #define MSG_MORETOCOME 0x00100000 /* additional data pending = */ > +#define MSG_TLSAPPDATA 0x00200000 /* only soreceive() app. da= ta (TLS) */ > #endif > > /* > -- Brandon Bergren bdragon@imap.cc From owner-svn-src-all@freebsd.org Thu Aug 20 04:59:44 2020 Return-Path: Delivered-To: svn-src-all@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 6BFBE3AF930; Thu, 20 Aug 2020 04:59:44 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BXCB82CpYz3ZTc; Thu, 20 Aug 2020 04:59:44 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from auth2-smtp.messagingengine.com (auth2-smtp.messagingengine.com [66.111.4.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: bdragon/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 2802F1C07E; Thu, 20 Aug 2020 04:59:44 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailauth.nyi.internal (Postfix) with ESMTP id CD89227C0054; Thu, 20 Aug 2020 00:59:43 -0400 (EDT) Received: from imap1 ([10.202.2.51]) by compute4.internal (MEProxy); Thu, 20 Aug 2020 00:59:43 -0400 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedruddtledgjedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne gfrhhlucfvnfffucdluddtmdenucfjughrpefofgggkfgjfhffhffvufgtsehttdertder redtnecuhfhrohhmpedfuehrrghnughonhcuuegvrhhgrhgvnhdfuceosggurhgrghhonh eshfhrvggvuefuffdrohhrgheqnecuggftrfgrthhtvghrnhepteetleffuddvtddtuedv hfefheejvddvgfdvkedvfeethfegkedvkeelveeuvddunecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepsggurhgrghhonhdomhgvshhmthhprghu thhhphgvrhhsohhnrghlihhthidquddtgedvfeehkeeigedqudekuddtkeehuddqsggurh grghhonheppefhrhgvvgeuufffrdhorhhgsehimhgrphdrtggt X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 7687CC200A5; Thu, 20 Aug 2020 00:59:43 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-214-g5a29d88-fm-20200818.002-g5a29d882 Mime-Version: 1.0 Message-Id: <3eda01c0-6a34-4c63-951e-74bb72958ba6@www.fastmail.com> In-Reply-To: References: <202008192342.07JNgXKj056987@repo.freebsd.org> <6659148c-b4c4-4f07-a2ae-9ff52dba62ed@www.fastmail.com> Date: Wed, 19 Aug 2020 23:59:23 -0500 From: "Brandon Bergren" To: "Rick Macklem" , "Rick Macklem" , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r364409 - in head/sys: kern sys Content-Type: text/plain X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 04:59:44 -0000 The change you made looks correct to me. libsysdecode uses pattern matching to find syscall flag definitions for use by userspace debug tools. (so stuff like truss can show flag names, etc.) As such, anything hidden behind _KERNEL in one of the headers that the tool grovels that matches one of the patterns (MSG_ for sys/socket.h in this case) needs to be listed by hand so it doesn't automatically get copied into tables.h. It used to be part of kdump but got split out into a library in 11 so other tools could share the same data. On Wed, Aug 19, 2020, at 10:54 PM, Rick Macklem wrote: > Done, I guess? > > I had never ever heard of this until now, but. by inspection, > it seems to want the kernel only MSG_xxx flags listed, so > I added MSG_TLSAPPDATA. > > If this is not correct, please let me know what needs to be done, rick From owner-svn-src-all@freebsd.org Thu Aug 20 05:08:50 2020 Return-Path: Delivered-To: svn-src-all@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 9E3403AFA5D; Thu, 20 Aug 2020 05:08:50 +0000 (UTC) (envelope-from pfg@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 4BXCNf3gtNz3Zh2; Thu, 20 Aug 2020 05:08:50 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6177EEE75; Thu, 20 Aug 2020 05:08:50 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07K58oJo057488; Thu, 20 Aug 2020 05:08:50 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07K58oS5057487; Thu, 20 Aug 2020 05:08:50 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <202008200508.07K58oS5057487@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Thu, 20 Aug 2020 05:08:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364416 - head/sys/fs/ext2fs X-SVN-Group: head X-SVN-Commit-Author: pfg X-SVN-Commit-Paths: head/sys/fs/ext2fs X-SVN-Commit-Revision: 364416 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 05:08:50 -0000 Author: pfg Date: Thu Aug 20 05:08:49 2020 New Revision: 364416 URL: https://svnweb.freebsd.org/changeset/base/364416 Log: extfs: remove redundant little endian conversion. The XTIME_TO_NSEC macro already calls the htole32(), so there is no need to call it twice. This code does nothing on LE platforms and affects only nanosecond and birthtime fields so it's difficult to notice on regular use. Hinted by: DragonFlyBSD (git ae503f8f6f4b9a413932ffd68be029f20c38cab4) X-MFC with: r361136 Modified: head/sys/fs/ext2fs/ext2_inode_cnv.c Modified: head/sys/fs/ext2fs/ext2_inode_cnv.c ============================================================================== --- head/sys/fs/ext2fs/ext2_inode_cnv.c Thu Aug 20 03:53:18 2020 (r364415) +++ head/sys/fs/ext2fs/ext2_inode_cnv.c Thu Aug 20 05:08:49 2020 (r364416) @@ -146,11 +146,11 @@ ext2_ei2i(struct ext2fs_dinode *ei, struct inode *ip) ip->i_mtime = le32toh(ei->e2di_mtime); ip->i_ctime = le32toh(ei->e2di_ctime); if (E2DI_HAS_XTIME(ip)) { - ip->i_atimensec = XTIME_TO_NSEC(le32toh(ei->e2di_atime_extra)); - ip->i_mtimensec = XTIME_TO_NSEC(le32toh(ei->e2di_mtime_extra)); - ip->i_ctimensec = XTIME_TO_NSEC(le32toh(ei->e2di_ctime_extra)); + ip->i_atimensec = XTIME_TO_NSEC(ei->e2di_atime_extra); + ip->i_mtimensec = XTIME_TO_NSEC(ei->e2di_mtime_extra); + ip->i_ctimensec = XTIME_TO_NSEC(ei->e2di_ctime_extra); ip->i_birthtime = le32toh(ei->e2di_crtime); - ip->i_birthnsec = XTIME_TO_NSEC(le32toh(ei->e2di_crtime_extra)); + ip->i_birthnsec = XTIME_TO_NSEC(ei->e2di_crtime_extra); } ip->i_flags = 0; ei_flags_host = le32toh(ei->e2di_flags); From owner-svn-src-all@freebsd.org Thu Aug 20 05:18:09 2020 Return-Path: Delivered-To: svn-src-all@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 2101C3AFE42; Thu, 20 Aug 2020 05:18:09 +0000 (UTC) (envelope-from pfg@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 4BXCbP02x8z3bLr; Thu, 20 Aug 2020 05:18:09 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D93EBF3C6; Thu, 20 Aug 2020 05:18:08 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07K5I88K063448; Thu, 20 Aug 2020 05:18:08 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07K5I8vA063447; Thu, 20 Aug 2020 05:18:08 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <202008200518.07K5I8vA063447@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Thu, 20 Aug 2020 05:18:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364417 - head/usr.sbin/fstyp X-SVN-Group: head X-SVN-Commit-Author: pfg X-SVN-Commit-Paths: head/usr.sbin/fstyp X-SVN-Commit-Revision: 364417 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 05:18:09 -0000 Author: pfg Date: Thu Aug 20 05:18:08 2020 New Revision: 364417 URL: https://svnweb.freebsd.org/changeset/base/364417 Log: usr.sbin/fstyp: Fix incorrect pfs_type test in ondisk inode "ipdata.meta.pfs_type & HAMMER2_PFSTYPE_SUPROOT" happened to have the same result (except HAMMER2_PFSTYPE_DUMMY could also match). Obtained from: Dragonfly (git 29e6489bbd4f8e237c9c17b300ac8b711f36770) Modified: head/usr.sbin/fstyp/hammer2.c Modified: head/usr.sbin/fstyp/hammer2.c ============================================================================== --- head/usr.sbin/fstyp/hammer2.c Thu Aug 20 05:08:49 2020 (r364416) +++ head/usr.sbin/fstyp/hammer2.c Thu Aug 20 05:18:08 2020 (r364417) @@ -127,7 +127,7 @@ find_pfs(FILE *fp, const hammer2_blockref_t *bref, con switch (bref->type) { case HAMMER2_BREF_TYPE_INODE: ipdata = media->ipdata; - if (ipdata.meta.pfs_type & HAMMER2_PFSTYPE_SUPROOT) { + if (ipdata.meta.pfs_type == HAMMER2_PFSTYPE_SUPROOT) { bscan = &ipdata.u.blockset.blockref[0]; bcount = HAMMER2_SET_COUNT; } else { From owner-svn-src-all@freebsd.org Thu Aug 20 05:43:02 2020 Return-Path: Delivered-To: svn-src-all@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 EC90E3B0D85 for ; Thu, 20 Aug 2020 05:43:02 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) (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 4BXD86121Bz3cmb for ; Thu, 20 Aug 2020 05:43:01 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x82a.google.com with SMTP id x12so476110qtp.1 for ; Wed, 19 Aug 2020 22:43:01 -0700 (PDT) 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=GG6NpN9E7xI99I2YKRsvWOak7cXejHqmMiH701iRqvo=; b=hw2YKM4i7S1TXyApr9Qp2kctksz2YQ4zk+zmph8Iwc/eSPViP3nn0xMpseVRMohJUL CaIm2Q0Tb261TuHLxxqjF90H4Ye/Pk8ggVlpf2DTpoOeI4en6Fo/L+8JZ+v9362+kkZS 8cJcs8GY8nsIpTy0g1uSlwkZJOIfmCSgXGmeCqBkt2DBfuI1daA+LIi/1X9jJSOmVd3D GyKDtJ1yulv5BLrDghK2+LB/WXVSwCGR08rn0RGvxD7mUfxgCt/8DrQCTVz5rmxvlrZv neEQKME5JhuzeGG9EFX342yLIY8hrePLGtMpE2vol/bDSQPzsTi3Ep2cnXTCEZ2as1QM eyuw== 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=GG6NpN9E7xI99I2YKRsvWOak7cXejHqmMiH701iRqvo=; b=skbwykLBJjEp7RBMIwB1m1Z7CCpVgkINsmJ2DoBTYq0bQ12SFYyJJswKo2PFRy/UNH Gs8d9MojTm6Osy9p+Cmh8do4ho5rIl4AudbKQZwIeJjEtIW6LwD/Mrx81Q+JhmhM8Xne W0UIeYsMcr71gqlic/Y42l9wjNiQ+9RLGQp+6lUDPyhdneuROAUYte2jfoaqWLivVi6Q AUzcGTaEMC05F0JOiVxlPLuGvGzbRBAlx/5eVx/ODyBv4rVY9eFWOmPxArD5VnGqoDQK srPm1kvxSmWHbAfexD1pMWdURtoE06wXowu8bqWk4bQlwDhi4hoExH1JGFUVIT2Vm6ha Cpcg== X-Gm-Message-State: AOAM531ubefzj38++Ca30OWE5Fa1kEGB0GSQeqyIEZOWmiVGmHhzYcB1 A7SQvZF6zd34pqv1drj4sqwIJY/ni+II5y9RdfOQSClKG2o= X-Google-Smtp-Source: ABdhPJyXmeA6rep4uCrnYgY2WRT3R0RyIa0uQ57sqZiJuL/+I+k6voR2RBpbzs30fC7qC43R71MXdNLrCTC6Q30xwK8= X-Received: by 2002:ac8:47c8:: with SMTP id d8mr1240244qtr.32.1597902180926; Wed, 19 Aug 2020 22:43:00 -0700 (PDT) MIME-Version: 1.0 References: <202008191710.07JHA5Rk008764@repo.freebsd.org> <20200819172613.vdyutsn6a4w5fbqr@mutt-hbsd> <20200819174808.ts3i72vzqsx3sq5o@mutt-hbsd> <20200819175447.pjoa2pmusdbql22q@mutt-hbsd> In-Reply-To: <20200819175447.pjoa2pmusdbql22q@mutt-hbsd> From: Warner Losh Date: Wed, 19 Aug 2020 23:42:50 -0600 Message-ID: Subject: Re: svn commit: r364402 - head/sys/kern To: Shawn Webb Cc: Warner Losh , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 4BXD86121Bz3cmb X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=hw2YKM4i; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::82a) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-0.58 / 15.00]; ARC_NA(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; NEURAL_HAM_MEDIUM(-0.48)[-0.480]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; NEURAL_HAM_SHORT(-0.10)[-0.100]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::82a:from]; R_SPF_NA(0.00)[no SPF record]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 05:43:03 -0000 On Wed, Aug 19, 2020 at 11:54 AM Shawn Webb wrote: > On Wed, Aug 19, 2020 at 11:51:10AM -0600, Warner Losh wrote: > > On Wed, Aug 19, 2020 at 11:48 AM Shawn Webb > > wrote: > > > > > On Wed, Aug 19, 2020 at 11:44:42AM -0600, Warner Losh wrote: > > > > On Wed, Aug 19, 2020 at 11:26 AM Shawn Webb < > shawn.webb@hardenedbsd.org> > > > > wrote: > > > > > > > > > On Wed, Aug 19, 2020 at 05:10:05PM +0000, Warner Losh wrote: > > > > > > Author: imp > > > > > > Date: Wed Aug 19 17:10:04 2020 > > > > > > New Revision: 364402 > > > > > > URL: https://svnweb.freebsd.org/changeset/base/364402 > > > > > > > > > > > > Log: > > > > > > Add VFS FS events for mount and unmount to devctl/devd > > > > > > > > > > > > Report when a filesystem is mounted, remounted or unmounted via > > > devd, > > > > > along with > > > > > > details about the mount point and mount options. > > > > > > > > > > > > Discussed with: kib@ > > > > > > Reviewed by: kirk@ (prior version) > > > > > > Sponsored by: Netflix > > > > > > Diffential Revision: https://reviews.freebsd.org/D25969 > > > > > > > > > > > > Modified: > > > > > > head/sys/kern/vfs_mount.c > > > > > > > > > > > > Modified: head/sys/kern/vfs_mount.c > > > > > > > > > > > > > > > ============================================================================== > > > > > > --- head/sys/kern/vfs_mount.c Wed Aug 19 17:09:58 2020 > > > (r364401) > > > > > > +++ head/sys/kern/vfs_mount.c Wed Aug 19 17:10:04 2020 > > > (r364402) > > > > > > @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); > > > > > > #include > > > > > > #include > > > > > > #include > > > > > > +#include > > > > > > #include > > > > > > #include > > > > > > #include > > > > > > @@ -101,6 +102,8 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, > > > "mountlist", > > > > > MT > > > > > > EVENTHANDLER_LIST_DEFINE(vfs_mounted); > > > > > > EVENTHANDLER_LIST_DEFINE(vfs_unmounted); > > > > > > > > > > > > +static void dev_vfs_event(const char *type, struct mount *mp, > bool > > > > > donew); > > > > > > + > > > > > > /* > > > > > > * Global opts, taken by all filesystems > > > > > > */ > > > > > > @@ -1020,6 +1023,7 @@ vfs_domount_first( > > > > > > VOP_UNLOCK(vp); > > > > > > EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td); > > > > > > VOP_UNLOCK(newdp); > > > > > > + dev_vfs_event("MOUNT", mp, false); > > > > > > mountcheckdirs(vp, newdp); > > > > > > vn_seqc_write_end(vp); > > > > > > vn_seqc_write_end(newdp); > > > > > > @@ -1221,6 +1225,7 @@ vfs_domount_update( > > > > > > if (error != 0) > > > > > > goto end; > > > > > > > > > > > > + dev_vfs_event("REMOUNT", mp, true); > > > > > > if (mp->mnt_opt != NULL) > > > > > > vfs_freeopts(mp->mnt_opt); > > > > > > mp->mnt_opt = mp->mnt_optnew; > > > > > > @@ -1839,6 +1844,7 @@ dounmount(struct mount *mp, int flags, > struct > > > > > thread * > > > > > > TAILQ_REMOVE(&mountlist, mp, mnt_list); > > > > > > mtx_unlock(&mountlist_mtx); > > > > > > EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); > > > > > > + dev_vfs_event("UNMOUNT", mp, false); > > > > > > if (coveredvp != NULL) { > > > > > > coveredvp->v_mountedhere = NULL; > > > > > > vn_seqc_write_end(coveredvp); > > > > > > @@ -2425,4 +2431,72 @@ kernel_vmount(int flags, ...) > > > > > > > > > > > > error = kernel_mount(ma, flags); > > > > > > return (error); > > > > > > +} > > > > > > + > > > > > > +/* Map from mount options to printable formats. */ > > > > > > +static struct mntoptnames optnames[] = { > > > > > > + MNTOPT_NAMES > > > > > > +}; > > > > > > + > > > > > > +static void > > > > > > +dev_vfs_event_mntopt(struct sbuf *sb, const char *what, struct > > > > > vfsoptlist *opts) > > > > > > +{ > > > > > > + struct vfsopt *opt; > > > > > > + > > > > > > + if (opts == NULL || TAILQ_EMPTY(opts)) > > > > > > + return; > > > > > > + sbuf_printf(sb, " %s=\"", what); > > > > > > + TAILQ_FOREACH(opt, opts, link) { > > > > > > + if (opt->name[0] == '\0' || (opt->len > 0 && *(char > > > > > *)opt->value == '\0')) > > > > > > + continue; > > > > > > + devctl_safe_quote_sb(sb, opt->name); > > > > > > + if (opt->len > 0) { > > > > > > + sbuf_putc(sb, '='); > > > > > > + devctl_safe_quote_sb(sb, opt->value); > > > > > > + } > > > > > > + sbuf_putc(sb, ';'); > > > > > > + } > > > > > > + sbuf_putc(sb, '"'); > > > > > > +} > > > > > > + > > > > > > +#define DEVCTL_LEN 1024 > > > > > > +static void > > > > > > +dev_vfs_event(const char *type, struct mount *mp, bool donew) > > > > > > +{ > > > > > > + const uint8_t *cp; > > > > > > + struct mntoptnames *fp; > > > > > > + struct sbuf sb; > > > > > > + struct statfs *sfp = &mp->mnt_stat; > > > > > > + char *buf; > > > > > > + > > > > > > + buf = malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); > > > > > > + if (buf == NULL) > > > > > > + return; > > > > > > > > > > buf can't be NULL. > > > > > > > > > > > > > The bug here is that M_NOWAIT should have been specified in the > malloc. > > > > > > > > > > > > > > + sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); > > > > > > + sbuf_cpy(&sb, "mount-point=\""); > > > > > > + devctl_safe_quote_sb(&sb, sfp->f_mntonname); > > > > > > + sbuf_cat(&sb, "\" mount-dev=\""); > > > > > > + devctl_safe_quote_sb(&sb, sfp->f_mntfromname); > > > > > > + sbuf_cat(&sb, "\" mount-type=\""); > > > > > > + devctl_safe_quote_sb(&sb, sfp->f_fstypename); > > > > > > + sbuf_cat(&sb, "\" fsid=0x"); > > > > > > + cp = (const uint8_t *)&sfp->f_fsid.val[0]; > > > > > > + for (int i = 0; i < sizeof(sfp->f_fsid); i++) > > > > > > + sbuf_printf(&sb, "%02x", cp[i]); > > > > > > + sbuf_printf(&sb, " owner=%u flags=\"", sfp->f_owner); > > > > > > + for (fp = optnames; fp->o_opt != 0; fp++) { > > > > > > + if ((mp->mnt_flag & fp->o_opt) != 0) { > > > > > > + sbuf_cat(&sb, fp->o_name); > > > > > > + sbuf_putc(&sb, ';'); > > > > > > + } > > > > > > + } > > > > > > + sbuf_putc(&sb, '"'); > > > > > > + dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); > > > > > > + if (donew) > > > > > > + dev_vfs_event_mntopt(&sb, "optnew", > mp->mnt_optnew); > > > > > > + sbuf_finish(&sb); > > > > > > + > > > > > > + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); > > > > > > + sbuf_delete(&sb); > > > > > > + free(buf, M_MOUNT); > > > > > > } > > > > > > > > > > I don't really see much attention paid to checking for sbuf > overflow. > > > > > Could that cause issues, especially in case of impartial quotation > > > > > termination? Could not performing those checks have security > > > > > implications? Would performing those checks adhere to good code > > > > > development practices? > > > > > > > > > > > > > sbuf doesn't overflow. It is safe from that perspective. The code > should > > > > just not send it if there's an overflow... There almost certainly > won't > > > be > > > > one in practice given the buffer size, though. > > > > > > You're right that sbuf can't overflow. However, assuming that it > > > hasn't reached its fixed size specified above and continuing on as if > > > there's still space left could lead to... interesting behavior. > > > > > > > Right, which is why we should check. > > > > See https://reviews.freebsd.org/D26122 for the proper tweak (imho). > > Why spend so much time in the kernel just to fail at the end? Why not > fail fast, checking for sbuf_* returning -1 along the way? > Not worth the effort for. a super-rare condition. If it failed, it would be at the end anyway. Warner > -- > Shawn Webb > Cofounder / Security Engineer > HardenedBSD > > GPG Key ID: 0xFF2E67A277F8E1FA > GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 > > https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc > From owner-svn-src-all@freebsd.org Thu Aug 20 10:05:19 2020 Return-Path: Delivered-To: svn-src-all@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 BB1903B9181; Thu, 20 Aug 2020 10:05:19 +0000 (UTC) (envelope-from mjg@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 4BXKyl4XVHz4D1c; Thu, 20 Aug 2020 10:05:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7EF9C122F4; Thu, 20 Aug 2020 10:05:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KA5JV3042058; Thu, 20 Aug 2020 10:05:19 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KA5Jpn042057; Thu, 20 Aug 2020 10:05:19 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008201005.07KA5Jpn042057@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 20 Aug 2020 10:05:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364418 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364418 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 10:05:19 -0000 Author: mjg Date: Thu Aug 20 10:05:19 2020 New Revision: 364418 URL: https://svnweb.freebsd.org/changeset/base/364418 Log: cache: reimplement cache_lookup_nomakeentry as cache_remove_cnp This in particular removes unused arguments. Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Thu Aug 20 05:18:08 2020 (r364417) +++ head/sys/kern/vfs_cache.c Thu Aug 20 10:05:19 2020 (r364418) @@ -97,6 +97,10 @@ SDT_PROBE_DEFINE2(vfs, namecache, lookup, hit__negativ "struct vnode *", "char *"); SDT_PROBE_DEFINE2(vfs, namecache, lookup, miss, "struct vnode *", "char *"); +SDT_PROBE_DEFINE2(vfs, namecache, removecnp, hit, "struct vnode *", + "struct componentname *"); +SDT_PROBE_DEFINE2(vfs, namecache, removecnp, miss, "struct vnode *", + "struct componentname *"); SDT_PROBE_DEFINE1(vfs, namecache, purge, done, "struct vnode *"); SDT_PROBE_DEFINE1(vfs, namecache, purge_negative, done, "struct vnode *"); SDT_PROBE_DEFINE1(vfs, namecache, purgevfs, done, "struct mount *"); @@ -1306,8 +1310,7 @@ cache_lookup_dot(struct vnode *dvp, struct vnode **vpp } static __noinline int -cache_lookup_nomakeentry(struct vnode *dvp, struct vnode **vpp, - struct componentname *cnp, struct timespec *tsp, int *ticksp) +cache_remove_cnp(struct vnode *dvp, struct componentname *cnp) { struct namecache *ncp; struct rwlock *blp; @@ -1317,18 +1320,16 @@ cache_lookup_nomakeentry(struct vnode *dvp, struct vno if (cnp->cn_namelen == 2 && cnp->cn_nameptr[0] == '.' && cnp->cn_nameptr[1] == '.') { - counter_u64_add(dotdothits, 1); dvlp = VP2VNODELOCK(dvp); dvlp2 = NULL; mtx_lock(dvlp); retry_dotdot: ncp = dvp->v_cache_dd; if (ncp == NULL) { - SDT_PROBE3(vfs, namecache, lookup, miss, dvp, - "..", NULL); mtx_unlock(dvlp); if (dvlp2 != NULL) mtx_unlock(dvlp2); + SDT_PROBE2(vfs, namecache, removecnp, miss, dvp, cnp); return (0); } if ((ncp->nc_flag & NCF_ISDOTDOT) != 0) { @@ -1350,7 +1351,8 @@ retry_dotdot: if (dvlp2 != NULL) mtx_unlock(dvlp2); } - return (0); + SDT_PROBE2(vfs, namecache, removecnp, hit, dvp, cnp); + return (1); } hash = cache_get_hash(cnp->cn_nameptr, cnp->cn_namelen, dvp); @@ -1381,9 +1383,10 @@ retry: } counter_u64_add(numposzaps, 1); cache_free(ncp); - return (0); + SDT_PROBE2(vfs, namecache, removecnp, hit, dvp, cnp); + return (1); out_no_entry: - SDT_PROBE3(vfs, namecache, lookup, miss, dvp, cnp->cn_nameptr, NULL); + SDT_PROBE2(vfs, namecache, removecnp, miss, dvp, cnp); counter_u64_add(nummisszap, 1); return (0); } @@ -1448,8 +1451,10 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, st if (__predict_false(cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.')) return (cache_lookup_dot(dvp, vpp, cnp, tsp, ticksp)); - if ((cnp->cn_flags & MAKEENTRY) == 0) - return (cache_lookup_nomakeentry(dvp, vpp, cnp, tsp, ticksp)); + if ((cnp->cn_flags & MAKEENTRY) == 0) { + cache_remove_cnp(dvp, cnp); + return (0); + } try_smr = true; if (cnp->cn_nameiop == CREATE) From owner-svn-src-all@freebsd.org Thu Aug 20 10:05:47 2020 Return-Path: Delivered-To: svn-src-all@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 ED0693B918B; Thu, 20 Aug 2020 10:05:47 +0000 (UTC) (envelope-from mjg@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 4BXKzH65xWz4DT4; Thu, 20 Aug 2020 10:05:47 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B6574127B2; Thu, 20 Aug 2020 10:05:47 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KA5lSI042131; Thu, 20 Aug 2020 10:05:47 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KA5kMu042125; Thu, 20 Aug 2020 10:05:46 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008201005.07KA5kMu042125@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 20 Aug 2020 10:05:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364419 - in head/sys: fs/tmpfs kern sys ufs/ufs X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: fs/tmpfs kern sys ufs/ufs X-SVN-Commit-Revision: 364419 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 10:05:48 -0000 Author: mjg Date: Thu Aug 20 10:05:46 2020 New Revision: 364419 URL: https://svnweb.freebsd.org/changeset/base/364419 Log: cache: add cache_rename, a dedicated helper to use for renames While here make both tmpfs and ufs use it. No fuctional changes. Modified: head/sys/fs/tmpfs/tmpfs_vnops.c head/sys/kern/vfs_cache.c head/sys/sys/vnode.h head/sys/ufs/ufs/ufs_vnops.c Modified: head/sys/fs/tmpfs/tmpfs_vnops.c ============================================================================== --- head/sys/fs/tmpfs/tmpfs_vnops.c Thu Aug 20 10:05:19 2020 (r364418) +++ head/sys/fs/tmpfs/tmpfs_vnops.c Thu Aug 20 10:05:46 2020 (r364419) @@ -1144,10 +1144,7 @@ tmpfs_rename(struct vop_rename_args *v) tmpfs_dir_attach(tdvp, de); if (tmpfs_use_nc(fvp)) { - cache_purge(fvp); - if (tvp != NULL) - cache_purge(tvp); - cache_purge_negative(tdvp); + cache_rename(fdvp, fvp, tdvp, tvp, fcnp, tcnp); } error = 0; Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Thu Aug 20 10:05:19 2020 (r364418) +++ head/sys/kern/vfs_cache.c Thu Aug 20 10:05:46 2020 (r364419) @@ -2339,6 +2339,23 @@ cache_purge_negative(struct vnode *vp) } } +void +cache_rename(struct vnode *fdvp, struct vnode *fvp, struct vnode *tdvp, + struct vnode *tvp, struct componentname *fcnp, struct componentname *tcnp) +{ + + ASSERT_VOP_IN_SEQC(fdvp); + ASSERT_VOP_IN_SEQC(fvp); + ASSERT_VOP_IN_SEQC(tdvp); + if (tvp != NULL) + ASSERT_VOP_IN_SEQC(tvp); + + cache_purge(fvp); + if (tvp != NULL) + cache_purge(tvp); + cache_purge_negative(tdvp); +} + /* * Flush all entries referencing a particular filesystem. */ Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Thu Aug 20 10:05:19 2020 (r364418) +++ head/sys/sys/vnode.h Thu Aug 20 10:05:46 2020 (r364419) @@ -642,6 +642,8 @@ void cache_vnode_init(struct vnode *vp); void cache_purge(struct vnode *vp); void cache_purge_vgone(struct vnode *vp); void cache_purge_negative(struct vnode *vp); +void cache_rename(struct vnode *fdvp, struct vnode *fvp, struct vnode *tdvp, + struct vnode *tvp, struct componentname *fcnp, struct componentname *tcnp); void cache_purgevfs(struct mount *mp, bool force); int change_dir(struct vnode *vp, struct thread *td); void cvtstat(struct stat *st, struct ostat *ost); Modified: head/sys/ufs/ufs/ufs_vnops.c ============================================================================== --- head/sys/ufs/ufs/ufs_vnops.c Thu Aug 20 10:05:19 2020 (r364418) +++ head/sys/ufs/ufs/ufs_vnops.c Thu Aug 20 10:05:46 2020 (r364419) @@ -1629,10 +1629,7 @@ relock: * name that references the old i-node if it has other links * or open file descriptors. */ - cache_purge(fvp); - if (tvp) - cache_purge(tvp); - cache_purge_negative(tdvp); + cache_rename(fdvp, fvp, tdvp, tvp, fcnp, tcnp); unlockout: if (want_seqc_end) { From owner-svn-src-all@freebsd.org Thu Aug 20 10:06:53 2020 Return-Path: Delivered-To: svn-src-all@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 9E00A3B9390; Thu, 20 Aug 2020 10:06:53 +0000 (UTC) (envelope-from mjg@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 4BXL0X24JZz4DcR; Thu, 20 Aug 2020 10:06:52 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5AB5B12671; Thu, 20 Aug 2020 10:06:51 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KA6oht042333; Thu, 20 Aug 2020 10:06:50 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KA6o7s042332; Thu, 20 Aug 2020 10:06:50 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008201006.07KA6o7s042332@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 20 Aug 2020 10:06:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364420 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364420 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 10:06:54 -0000 Author: mjg Date: Thu Aug 20 10:06:50 2020 New Revision: 364420 URL: https://svnweb.freebsd.org/changeset/base/364420 Log: cache: don't use cache_purge_negative when renaming It avoidably scans (and evicts) unrelated entries. Instead take advantage of passed componentname and perform a hash lookup for the exact one. Sample data from buildworld probed on cache_purge_negative extended to count both scanned and evicted entries on each call are below. At most it has to evict 1. evicted value ------------- Distribution ------------- count -1 | 0 0 |@@@@@@@@@@@@@@@ 19506 1 |@@@@@ 5820 2 |@@@@@@ 7751 4 |@@@@@ 6506 8 |@@@@@ 5996 16 |@@@ 4029 32 |@ 1489 64 | 193 128 | 109 256 | 56 512 | 16 1024 | 7 2048 | 3 4096 | 1 8192 | 1 16384 | 0 scanned value ------------- Distribution ------------- count -1 | 0 0 |@@ 2456 1 |@ 1496 2 |@@ 2728 4 |@@@ 4171 8 |@@@@ 5122 16 |@@@@ 5335 32 |@@@@@ 6279 64 |@@@@ 5671 128 |@@@@ 4558 256 |@@ 3123 512 |@@ 2790 1024 |@@ 2449 2048 |@@ 3021 4096 |@ 1398 8192 |@ 886 16384 | 0 Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Thu Aug 20 10:05:46 2020 (r364419) +++ head/sys/kern/vfs_cache.c Thu Aug 20 10:06:50 2020 (r364420) @@ -2351,9 +2351,13 @@ cache_rename(struct vnode *fdvp, struct vnode *fvp, st ASSERT_VOP_IN_SEQC(tvp); cache_purge(fvp); - if (tvp != NULL) + if (tvp != NULL) { cache_purge(tvp); - cache_purge_negative(tdvp); + KASSERT(!cache_remove_cnp(tdvp, tcnp), + ("%s: lingering negative entry", __func__)); + } else { + cache_remove_cnp(tdvp, tcnp); + } } /* From owner-svn-src-all@freebsd.org Thu Aug 20 12:50:50 2020 Return-Path: Delivered-To: svn-src-all@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 CC1C93BD870; Thu, 20 Aug 2020 12:50:50 +0000 (UTC) (envelope-from manu@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 4BXPdk4R8Jz4Q0K; Thu, 20 Aug 2020 12:50:50 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 619C014C6E; Thu, 20 Aug 2020 12:50:50 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KCooiM042629; Thu, 20 Aug 2020 12:50:50 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KCoojX042611; Thu, 20 Aug 2020 12:50:50 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202008201250.07KCoojX042611@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 20 Aug 2020 12:50:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364421 - head/stand/libsa X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/stand/libsa X-SVN-Commit-Revision: 364421 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 12:50:50 -0000 Author: manu Date: Thu Aug 20 12:50:49 2020 New Revision: 364421 URL: https://svnweb.freebsd.org/changeset/base/364421 Log: libsa: smbios: Parse the chassis type and export it as smbios.chassis.type It can be useful to know what type of machine we are running on for desktop related thing. It also allow us to support all the DMI variable that linux driver can fetch. MFC after: 1 week Sponsored by: Sponsored-by: The FreeBSD Foundation Modified: head/stand/libsa/smbios.c Modified: head/stand/libsa/smbios.c ============================================================================== --- head/stand/libsa/smbios.c Thu Aug 20 10:06:50 2020 (r364420) +++ head/stand/libsa/smbios.c Thu Aug 20 12:50:49 2020 (r364421) @@ -209,6 +209,90 @@ smbios_setuuid(const char *name, const caddr_t addr, c #endif +static const char * +smbios_parse_chassis_type(caddr_t addr) +{ + int type; + + type = SMBIOS_GET8(addr, 0x5); + switch (type) { + case 0x1: + return ("Other"); + case 0x2: + return ("Unknown"); + case 0x3: + return ("Desktop"); + case 0x4: + return ("Low Profile Desktop"); + case 0x5: + return ("Pizza Box"); + case 0x6: + return ("Mini Tower"); + case 0x7: + return ("Tower"); + case 0x8: + return ("Portable"); + case 0x9: + return ("Laptop"); + case 0xA: + return ("Notebook"); + case 0xB: + return ("Hand Held"); + case 0xC: + return ("Docking Station"); + case 0xD: + return ("All in One"); + case 0xE: + return ("Sub Notebook"); + case 0xF: + return ("Lunch Box"); + case 0x10: + return ("Space-saving"); + case 0x11: + return ("Main Server Chassis"); + case 0x12: + return ("Expansion Chassis"); + case 0x13: + return ("SubChassis"); + case 0x14: + return ("Bus Expansion Chassis"); + case 0x15: + return ("Peripheral Chassis"); + case 0x16: + return ("RAID Chassis"); + case 0x17: + return ("Rack Mount Chassis"); + case 0x18: + return ("Sealed-case PC"); + case 0x19: + return ("Multi-system chassis"); + case 0x1A: + return ("Compact PCI"); + case 0x1B: + return ("Advanced TCA"); + case 0x1C: + return ("Blade"); + case 0x1D: + return ("Blade Enclosure"); + case 0x1E: + return ("Tablet"); + case 0x1F: + return ("Convertible"); + case 0x20: + return ("Detachable"); + case 0x21: + return ("IoT Gateway"); + case 0x22: + return ("Embedded PC"); + case 0x23: + return ("Mini PC"); + case 0x24: + return ("Stick PC"); + } + + return ("Undefined"); +} + static caddr_t smbios_parse_table(const caddr_t addr) { @@ -251,6 +335,7 @@ smbios_parse_table(const caddr_t addr) case 3: /* 3.3.4 System Enclosure or Chassis (Type 3) */ smbios_setenv("smbios.chassis.maker", addr, 0x04); + setenv("smbios.chassis.type", smbios_parse_chassis_type(addr), 1); smbios_setenv("smbios.chassis.version", addr, 0x06); #ifdef SMBIOS_SERIAL_NUMBERS smbios_setenv("smbios.chassis.serial", addr, 0x07); From owner-svn-src-all@freebsd.org Thu Aug 20 12:52:16 2020 Return-Path: Delivered-To: svn-src-all@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 27BA73BDD8F; Thu, 20 Aug 2020 12:52:16 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mx.blih.net (mx.blih.net [212.83.155.74]) (using TLSv1.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 (2048 bits) client-digest SHA256) (Client CN "mx.blih.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BXPgM09cHz4QPc; Thu, 20 Aug 2020 12:52:14 +0000 (UTC) (envelope-from manu@bidouilliste.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bidouilliste.com; s=mx; t=1597927926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gcD8631yHAWVr/RIDnaR9S0dIxe65OJYehNZBAVUTBA=; b=X2nTqs8VNHmVmI8QomFpc1RSQPQnUIdI1x7ml+v4yx6HcVlGZXyW29yX0j3ksqQqGAL4QF mb2OXPoifEXvO7GnyBcrn23LjknVHCb3OtR5/lVW7lkliKg8PRGfa4pG8YNfuuTebsqkT1 72IIZuheFhkTMnp+CxGPjboCPtlbtco= Received: from skull.home.blih.net (lfbn-idf2-1-1138-237.w90-92.abo.wanadoo.fr [90.92.20.237]) by mx.blih.net (OpenSMTPD) with ESMTPSA id f550ac9d (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 20 Aug 2020 12:52:06 +0000 (UTC) Date: Thu, 20 Aug 2020 14:52:06 +0200 From: Emmanuel Vadot To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364421 - head/stand/libsa Message-Id: <20200820145206.426a7c8d4ce83d9d58eeb9fd@bidouilliste.com> In-Reply-To: <202008201250.07KCoojX042611@repo.freebsd.org> References: <202008201250.07KCoojX042611@repo.freebsd.org> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd13.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BXPgM09cHz4QPc X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bidouilliste.com header.s=mx header.b=X2nTqs8V; dmarc=pass (policy=none) header.from=bidouilliste.com; spf=pass (mx1.freebsd.org: domain of manu@bidouilliste.com designates 212.83.155.74 as permitted sender) smtp.mailfrom=manu@bidouilliste.com X-Spamd-Result: default: False [-1.23 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[bidouilliste.com:s=mx]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; MV_CASE(0.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_MEDIUM(-0.90)[-0.897]; R_SPF_ALLOW(-0.20)[+mx]; FREEFALL_USER(0.00)[manu]; NEURAL_SPAM_SHORT(0.17)[0.167]; DKIM_TRACE(0.00)[bidouilliste.com:+]; DMARC_POLICY_ALLOW(-0.50)[bidouilliste.com,none]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:12876, ipnet:212.83.128.0/19, country:FR]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-head,svn-src-all]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 12:52:16 -0000 On Thu, 20 Aug 2020 12:50:50 +0000 (UTC) Emmanuel Vadot wrote: > Author: manu > Date: Thu Aug 20 12:50:49 2020 > New Revision: 364421 > URL: https://svnweb.freebsd.org/changeset/base/364421 > > Log: > libsa: smbios: Parse the chassis type and export it as smbios.chassis.type > > It can be useful to know what type of machine we are running on for desktop > related thing. > It also allow us to support all the DMI variable that linux driver can fetch. > > MFC after: 1 week > Sponsored by: Sponsored-by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26045 Reviewed by: emaste > Modified: > head/stand/libsa/smbios.c > > Modified: head/stand/libsa/smbios.c > ============================================================================== > --- head/stand/libsa/smbios.c Thu Aug 20 10:06:50 2020 (r364420) > +++ head/stand/libsa/smbios.c Thu Aug 20 12:50:49 2020 (r364421) > @@ -209,6 +209,90 @@ smbios_setuuid(const char *name, const caddr_t addr, c > > #endif > > +static const char * > +smbios_parse_chassis_type(caddr_t addr) > +{ > + int type; > + > + type = SMBIOS_GET8(addr, 0x5); > + switch (type) { > + case 0x1: > + return ("Other"); > + case 0x2: > + return ("Unknown"); > + case 0x3: > + return ("Desktop"); > + case 0x4: > + return ("Low Profile Desktop"); > + case 0x5: > + return ("Pizza Box"); > + case 0x6: > + return ("Mini Tower"); > + case 0x7: > + return ("Tower"); > + case 0x8: > + return ("Portable"); > + case 0x9: > + return ("Laptop"); > + case 0xA: > + return ("Notebook"); > + case 0xB: > + return ("Hand Held"); > + case 0xC: > + return ("Docking Station"); > + case 0xD: > + return ("All in One"); > + case 0xE: > + return ("Sub Notebook"); > + case 0xF: > + return ("Lunch Box"); > + case 0x10: > + return ("Space-saving"); > + case 0x11: > + return ("Main Server Chassis"); > + case 0x12: > + return ("Expansion Chassis"); > + case 0x13: > + return ("SubChassis"); > + case 0x14: > + return ("Bus Expansion Chassis"); > + case 0x15: > + return ("Peripheral Chassis"); > + case 0x16: > + return ("RAID Chassis"); > + case 0x17: > + return ("Rack Mount Chassis"); > + case 0x18: > + return ("Sealed-case PC"); > + case 0x19: > + return ("Multi-system chassis"); > + case 0x1A: > + return ("Compact PCI"); > + case 0x1B: > + return ("Advanced TCA"); > + case 0x1C: > + return ("Blade"); > + case 0x1D: > + return ("Blade Enclosure"); > + case 0x1E: > + return ("Tablet"); > + case 0x1F: > + return ("Convertible"); > + case 0x20: > + return ("Detachable"); > + case 0x21: > + return ("IoT Gateway"); > + case 0x22: > + return ("Embedded PC"); > + case 0x23: > + return ("Mini PC"); > + case 0x24: > + return ("Stick PC"); > + } > + > + return ("Undefined"); > +} > + > static caddr_t > smbios_parse_table(const caddr_t addr) > { > @@ -251,6 +335,7 @@ smbios_parse_table(const caddr_t addr) > > case 3: /* 3.3.4 System Enclosure or Chassis (Type 3) */ > smbios_setenv("smbios.chassis.maker", addr, 0x04); > + setenv("smbios.chassis.type", smbios_parse_chassis_type(addr), 1); > smbios_setenv("smbios.chassis.version", addr, 0x06); > #ifdef SMBIOS_SERIAL_NUMBERS > smbios_setenv("smbios.chassis.serial", addr, 0x07); -- Emmanuel Vadot From owner-svn-src-all@freebsd.org Thu Aug 20 14:07:30 2020 Return-Path: Delivered-To: svn-src-all@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 61C9B3BF649; Thu, 20 Aug 2020 14:07:30 +0000 (UTC) (envelope-from kevans@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 4BXRLB1x4Vz4TJb; Thu, 20 Aug 2020 14:07:30 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2595B154CD; Thu, 20 Aug 2020 14:07:30 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KE7Tb2090884; Thu, 20 Aug 2020 14:07:29 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KE7TLt090882; Thu, 20 Aug 2020 14:07:29 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202008201407.07KE7TLt090882@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Thu, 20 Aug 2020 14:07:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364422 - stable/12/usr.sbin/certctl X-SVN-Group: stable-12 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: stable/12/usr.sbin/certctl X-SVN-Commit-Revision: 364422 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 14:07:30 -0000 Author: kevans Date: Thu Aug 20 14:07:29 2020 New Revision: 364422 URL: https://svnweb.freebsd.org/changeset/base/364422 Log: MFC r361397, r361683: certctl(8) unprivileged mode r361397: Add an unprivileged mode where calls to install are passed appropriate flags. For ease of integration, use the same flags as install: -U unprivileged mode -D Specify DESTDIR (overrides the environment) -M Full path to METALOG file r361683: certctl: fix test syntax test doesn't understand &&, but it does understand -a. Modified: stable/12/usr.sbin/certctl/certctl.8 stable/12/usr.sbin/certctl/certctl.sh Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/certctl/certctl.8 ============================================================================== --- stable/12/usr.sbin/certctl/certctl.8 Thu Aug 20 12:50:49 2020 (r364421) +++ stable/12/usr.sbin/certctl/certctl.8 Thu Aug 20 14:07:29 2020 (r364422) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 30, 2020 +.Dd August 20, 2020 .Dt CERTCTL 8 .Os .Sh NAME @@ -40,7 +40,9 @@ .Op Fl v .Ic blacklisted .Nm -.Op Fl nv +.Op Fl nUv +.Op Fl D Ar destdir +.Op Fl M Ar metalog .Ic rehash .Nm .Op Fl nv @@ -56,10 +58,17 @@ applications that use OpenSSL. .Pp Flags: .Bl -tag -width 4n +.It Fl D Ar destdir +Specify the DESTDIR (overriding values from the environment). +.It Fl M Ar metalog +Specify the path of the METALOG file (default: $DESTDIR/METALOG). .It Fl n No-Op mode, do not actually perform any actions. .It Fl v be verbose, print details about actions before performing them. +.It Fl U +Unprivileged mode, do not change the ownership of created links. +Do record the ownership in the METALOG file. .El .Pp Primary command functions: Modified: stable/12/usr.sbin/certctl/certctl.sh ============================================================================== --- stable/12/usr.sbin/certctl/certctl.sh Thu Aug 20 12:50:49 2020 (r364421) +++ stable/12/usr.sbin/certctl/certctl.sh Thu Aug 20 14:07:29 2020 (r364422) @@ -30,10 +30,6 @@ ############################################################ CONFIGURATION : ${DESTDIR:=} -: ${TRUSTPATH:=${DESTDIR}/usr/share/certs/trusted:${DESTDIR}/usr/local/share/certs:${DESTDIR}/usr/local/etc/ssl/certs} -: ${BLACKLISTPATH:=${DESTDIR}/usr/share/certs/blacklisted:${DESTDIR}/usr/local/etc/ssl/blacklisted} -: ${CERTDESTDIR:=${DESTDIR}/etc/ssl/certs} -: ${BLACKLISTDESTDIR:=${DESTDIR}/etc/ssl/blacklisted} : ${FILEPAT:="\.pem$|\.crt$|\.cer$|\.crl$|\.0$"} : ${VERBOSE:=0} @@ -42,6 +38,7 @@ SCRIPTNAME="${0##*/}" ERRORS=0 NOOP=0 +UNPRIV=0 ############################################################ FUNCTIONS @@ -69,7 +66,7 @@ create_trusted_link() return 1 fi [ $VERBOSE -gt 0 ] && echo "Adding $hash.0 to trust store" - [ $NOOP -eq 0 ] && install -lrs $(realpath "$1") "$CERTDESTDIR/$hash.0" + [ $NOOP -eq 0 ] && install ${INSTALLFLAGS} -lrs $(realpath "$1") "$CERTDESTDIR/$hash.0" } create_blacklisted() @@ -88,7 +85,7 @@ create_blacklisted() return fi [ $VERBOSE -gt 0 ] && echo "Adding $filename to blacklist" - [ $NOOP -eq 0 ] && install -lrs "$srcfile" "$BLACKLISTDESTDIR/$filename" + [ $NOOP -eq 0 ] && install ${INSTALLFLAGS} -lrs "$srcfile" "$BLACKLISTDESTDIR/$filename" } do_scan() @@ -105,7 +102,7 @@ do_scan() [ -d "$CPATH" ] || continue echo "Scanning $CPATH for certificates..." for CFILE in $(ls -1 "${CPATH}" | grep -Ee "${FILEPAT}"); do - [ -e "$CPATH/$CFILE" ] || continue + [ -e "$CPATH/$CFILE" -a $UNPRIV -eq 0 ] || continue [ $VERBOSE -gt 0 ] && echo "Reading $CFILE" "$CFUNC" "$CPATH/$CFILE" done @@ -209,7 +206,7 @@ usage() echo " List trusted certificates" echo " $SCRIPTNAME [-v] blacklisted" echo " List blacklisted certificates" - echo " $SCRIPTNAME [-nv] rehash" + echo " $SCRIPTNAME [-nUv] [-D ] [-M ] rehash" echo " Generate hash links for all certificates" echo " $SCRIPTNAME [-nv] blacklist " echo " Add to the list of blacklisted certificates" @@ -220,13 +217,24 @@ usage() ############################################################ MAIN -while getopts nv flag; do +while getopts D:M:nUv flag; do case "$flag" in + D) DESTDIR=${OPTARG} ;; + M) METALOG=${OPTARG} ;; n) NOOP=1 ;; + U) UNPRIV=1 ;; v) VERBOSE=$(( $VERBOSE + 1 )) ;; esac done shift $(( $OPTIND - 1 )) + +: ${METALOG:=${DESTDIR}/METALOG} +INSTALLFLAGS= +[ $UNPRIV -eq 1 ] && INSTALLFLAGS=-U -M ${METALOG} -D ${DESTDIR} +: ${TRUSTPATH:=${DESTDIR}/usr/share/certs/trusted:${DESTDIR}/usr/local/share/certs:${DESTDIR}/usr/local/etc/ssl/certs} +: ${BLACKLISTPATH:=${DESTDIR}/usr/share/certs/blacklisted:${DESTDIR}/usr/local/etc/ssl/blacklisted} +: ${CERTDESTDIR:=${DESTDIR}/etc/ssl/certs} +: ${BLACKLISTDESTDIR:=${DESTDIR}/etc/ssl/blacklisted} [ $# -gt 0 ] || usage case "$1" in From owner-svn-src-all@freebsd.org Thu Aug 20 15:19:10 2020 Return-Path: Delivered-To: svn-src-all@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 2C6273C1012; Thu, 20 Aug 2020 15:19:10 +0000 (UTC) (envelope-from kib@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 4BXSwt0QSwz4Y2m; Thu, 20 Aug 2020 15:19:10 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E451A164AF; Thu, 20 Aug 2020 15:19:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KFJ9cZ033531; Thu, 20 Aug 2020 15:19:09 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KFJ9Cx033530; Thu, 20 Aug 2020 15:19:09 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008201519.07KFJ9Cx033530@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 20 Aug 2020 15:19:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364423 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 364423 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 15:19:10 -0000 Author: kib Date: Thu Aug 20 15:19:09 2020 New Revision: 364423 URL: https://svnweb.freebsd.org/changeset/base/364423 Log: dl_iterate_phdr(3): provide exclusive locking for callback when statically linked. Apparently llvm unwinder depends on the external locking for callback. Reviewed by: cem, emaste Tested by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D26109 Modified: head/lib/libc/gen/dlfcn.c Modified: head/lib/libc/gen/dlfcn.c ============================================================================== --- head/lib/libc/gen/dlfcn.c Thu Aug 20 14:07:29 2020 (r364422) +++ head/lib/libc/gen/dlfcn.c Thu Aug 20 15:19:09 2020 (r364423) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include "un-namespace.h" #include "libc_private.h" +#include "reentrant.h" static char sorry[] = "Service unavailable"; @@ -164,6 +165,7 @@ _rtld_thread_init(void *li __unused) #ifndef IN_LIBDL static pthread_once_t dl_phdr_info_once = PTHREAD_ONCE_INIT; static struct dl_phdr_info phdr_info; +static mutex_t dl_phdr_info_lock = MUTEX_INITIALIZER; static void dl_init_phdr_info(void) @@ -204,13 +206,17 @@ int dl_iterate_phdr(int (*callback)(struct dl_phdr_info *, size_t, void *) __unused, void *data __unused) { - #ifndef IN_LIBDL + int ret; + __init_elf_aux_vector(); if (__elf_aux_vector == NULL) return (1); _once(&dl_phdr_info_once, dl_init_phdr_info); - return (callback(&phdr_info, sizeof(phdr_info), data)); + mutex_lock(&dl_phdr_info_lock); + ret = callback(&phdr_info, sizeof(phdr_info), data); + mutex_unlock(&dl_phdr_info_lock); + return (ret); #else return (0); #endif From owner-svn-src-all@freebsd.org Thu Aug 20 15:51:16 2020 Return-Path: Delivered-To: svn-src-all@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 DE2893C1723; Thu, 20 Aug 2020 15:51:16 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BXTdw51Wpz4ZVg; Thu, 20 Aug 2020 15:51:16 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from comporellon.tachypleus.net (unknown [IPv6:2601:405:4a00:acd:499:5df6:b147:c188]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: nwhitehorn/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 6497C2130B; Thu, 20 Aug 2020 15:51:16 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Subject: Re: svn commit: r364379 - head/sys/dev/usb/controller To: Hans Petter Selasky , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008191150.07JBoCjh096637@repo.freebsd.org> From: Nathan Whitehorn Autocrypt: addr=nwhitehorn@freebsd.org; keydata= mQINBFuARN8BEADLKYsG3l1aq/M21R59I/5EsEfvtvd15ZJ9lDHcWPuxzIfGnu2LMpe5PrFP e/Y4bcsPrlB4S3I3ooIUDvoEEsDeqgqlZod3QevOK/RjLqiqx1i/4mKnobJ++3ppyVVIccgN sUrj786OYCFCI/W+uWw7cbKewNeaL//Z/TDKlHLkssiy6qmZbNQ0ZjcMLJKUesk4eVg2TtTD HNe42ZuxbUC9iLYieO4c7kQB4qiFhagDRiObXrLzvm2MQYeAaNVRqID+mfI75TWrQ+t98iVu mHvFu461eeteq59jg6H/IL07ACxL+HzEVM+D6tPtPrz7ppr3wiZL5Cu17yu0nAx0nhJTV8ZB qza1rOVun0x65S14L41XD2HkmBDxTaRlTg8ypnkLFo8kh+MEq4k67apL/DUGcaUjKy2TVUC7 3igLO/DwQHrkWx2RrOmS3xS0TgGXVmB47nq2Zveo3fcjporQK63n2sbLkS70cfAJAJ9KHEIx u9am44iW5Ku3+mVLgQYybtcUxlk/Jw/BA5V6KUcDQMd5kTm0MyagziqMaT+57ceYxwRBK4HC DCLRpSOHV81/YzyL5vnwfHsxADm3091rd0uwr8uRCQn7wLvlcFyp/JKSFkVnE1oo7UE4QQJZ GbSJyvj7GdXu0LdghALcMj/thdb+js4D3UuCaAMecgVSscxEIQARAQABtClOYXRoYW4gV2hp dGVob3JuIDxud2hpdGVob3JuQGZyZWVic2Qub3JnPokCTgQTAQgAOBYhBD1kIPqoIUk+gL8N YTi2TZRmhOh3BQJbgFJIAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEDi2TZRmhOh3 M6YP/RHkgLWCPGGBSKZ3an3GhRMO2B5qd+g5QGUt4gvvdMMgUqwvmUva4obvgS5qXbYOmFGM cP5myo1mcJ45Q06Qdy8pnFEBBm4dKlNZT8LHAz/lr0/I8FINJcIdwmyxHJzELW7nlBy+ZO0z rCJ4CK//MMCAlomj6s9ydaGF0Dnbj9LmE+CS/ZZaYqil5KgsXO2rbN1wa0QOpZjAc8I1NyDN 10nWTZSLeFcbfTWItc8bxVC8NOerG25OVMxjyvqp15ZSExL5NfxIMsrTAjk5AsLr0bCW3tGA A0eM2cwLBhAfdh3fdj+/8tzakafFwR8XrA6YWrvgFmIjCgXfbVGp058595SDHGM1BeCJ94Bm TJMbCTsGPTUbRsWXJ4ytjziqMPPYkXif+NdWNLX3/TTu4oGPGsPQjbTA2xTfLLjNFKLv0ieT XTMg3vMhiOsZnfKt65fwoJWh+mfBe9S4ImNiI2C6H/gr9rpjZZQ3f85+AUAQrVjZJwaOctTC wOr8o8odS5WrpwZVEQhJj8TdOiHKPsAS8+zsjdGucfkXBHnSctMS1uv9QMTTrMvWhuihzYlw 2pC3LHEvxUpv1lk+jH42uRqbMF0FfSPkundHalWXY/HZKWdukc5lhIcGYR9bcm+Eq5/P0Qyv 3q8Q6hIjx6pN4828q8aA0lDnQ1LOtGZjToGZUrcmuQINBFuARRkBEAC9SmeRBQpprN52L+js v29No0eITfSrXTbNhqLB4ikDcnGFDih9yunAQyKk+y++unxYute4NH70qnKpvHOzHENKrSNg uDgs0ga7/4iQMs2rWqTgSQ97JfmW6ilqJXbtKyKvLvK2Jt1lJo7I2uB3Sg3pupHc0WMElIyg EHm/goNnZA401BPGmkgwl9vD4UHxn4+om3CrqpcNWFIrJ/bHKjtg/CcINz3DA7KuyKTlg+jO IgH1Xf5cmCW8e4LeQoMqkXu5y9E+4/M+o6YKiLLplSk5pc0pep/+9S+5fVW2YTDjNXVIY1KK E5IqWZ5HsjxcsfEVEVgm/auR7iVreIi2dkJVrKczMMV0KBOqqwg3eXwfaUZo1NWL6FaHruYK tHkSblUWKSR2sLfDUnrFTj8/fRTHba6fDUhoxHPVnptEjCsSvUxCEVWZN9V64XjlFCO3cF72 e75ikbGp2R1PRPWgDFmmX0pHTGPKUImqKuF4krGrY64pf8iRUTyQvbNF49i6e4ycGwlAHhSq FBZkVBwvUZeDp9DFfL2Rht/QtjYH0yfcT5zRL0aI3oX6I7luCYvm4K4HG461BvTkvxZ2xmo3 dACzmwEyAClpseEaMOsbgwosnTFhehd4Qz1Kl4Yiry8/yqISEodt6vRjs5jAsT2okDBCc6qx +dww3ymXNvEGrf+AvQARAQABiQRsBBgBCAAgFiEEPWQg+qghST6Avw1hOLZNlGaE6HcFAluA RRkCGwICQAkQOLZNlGaE6HfBdCAEGQEIAB0WIQTTpX+yMt35tfRft49NUswkCJ+wagUCW4BF GQAKCRBNUswkCJ+waqoWEACAWq6YgCh4H+JPNxM33ENOmKZ+WmIfr7jgoy1UAhUz0OshLPHM dy4oyaPefNaio5jcp8rvuT7qxA19s1VOyA6NIvCBnMzs+x9bTkQdZ31mcBcESNltKShYO3mq JE8Iz665xUlY2U45x8oGO+pYvWXvZv1C4pXtqczzQQldRuYJ+zfHyGmJoDP6exj0ALVfApH1 RKrCHt51ZottN0gcy4fkmBF+D13hUWAEtq0TBXw+2m6Qwq5xQmWkItzw4x9CF+wE78hNodY5 TXoifJvMB78O/ltPUqUiiPn6FAmi7ErDA3Ue+b4dSBWCx/i+jhh08blrbTQeMr6yswQJzx3M m6BDvYsKZKC9WNI9YKJxopd/udikmcPSoBTyWgMhjm0FPMb3c9Ay9nlbV04LlaqT7DsG8WbL X6O8CZUEpsB8r2kptm4wjjkIywT5eyXbcoNMV449KRzobWDCLOzA50cqTCPwa+YaHUamcoXs 7f3g0AllZVg3J48tq3orQrbmd80/n6AK158fURHR4pPf1m7Z8LGvmfN5vSpw81IgJ0KQEg7P mBsrOZKXGRNvtiHipWvdC9+ex1OSHRNtKTL7bbBYV01atsw74pspBLwXbH/lWnUtFucwav41 wbtHYdfbhxpXZRL0YLcrJq6+oatJlUxzAjO3wz/EuU/5OAwMGJVptO80308ID/4jEYmXl0Ux PEXv2/FjHser/OdhzQNhLft9bBlMiSGwui5Rv0tWPZ7dB7gxsuJIBzvb/FoJXbFysmm+o4Bt go0xQqXqFBX4pD9KYKTDo9q4Bh+0k+NGKvBMJI9pwFu+Ix+u1dbrFnpi/q2nFRfYEKeZiKOD HOxMMcSeYEFaHqiiy5A7QDuW7i7e4uGY0Ls7vnxrNQTWpEIe9E6kIjIHtNWAOIypL8+tiuxr CckPYFEDEmJmp1XIIoFXOIgGceky7huMvtyWHAuE1RjrZpN34nuntpoPlYv0PpPNAIg20HBA eX+reoTCRquUz5F2yZuZRL4o2/sSbDwu4m1As4G0QNaWB7j3grTn6AEVhMbjLgA+QkPpvpN8 s3iEVlEyzuypuGhRR9sMMB/8itWKtCV4/TGoAGJkoK+LsVllfIuu2m9ekV9HAOg3583ame9L NQD0nD35egjdIv7PhbZDYVgPq1NS27b8wz8RqvYWlw+1kUSD62byWu/oFLLifHfUh66ImLCk kbJJBZ5XgGKb/mVpBRiyw7zJUJZgIyTB1NcCWr09n7X+44KuocAYM/hE7NKv8To/5PFmsWFu Y8m1Qh/j7U8/gOdAT7+Q4tLczRRU/ngcW8b/1ajWMY6UuZhrp/WfLoKHS79VYK39OClHRLSU hr911kye7XJLUdGr4S2k+enQb7kCDQRbgEVBARAA4soW2Dq6zQAsDsu2+PEiyQiCoUmMfDaR r9S10njfY/2S+YGrvPi/T6b+CTEI44bTIOLYK/8AsmhuzJvnq1tToxTRJGNOKjflLaOK3fr0 HUEMLZMs0XffuxSq5THSXjCQRcQF5+8tFii4XwFFuSCO96DuwDg2OyJ25DH3a88mcGhofY5b GoNuvlfqQXlzH2M+spQnhmof+toT9JIOG2jDhoo7SdZu15UZyTXlbVf9LwrOI9cprPEJDyqm tBFMB6Gx0b9tJtYP3mGndMCURuXg3hSqpLufiMJm6cJ6KLZMNkdW/H+WkUBPZ7PHrjqnY9SY fmGmJUyBtjm4dzJqHA1/54047uCi2c1iiJ6gvDh9R5Ng6r6zcg2KwIHiKi9Bxk4JhLObBGiV BGCBfS0FJ6dHo+CnfxiNUiRa8weHFtWJ8C6yO9Vub8ZB4DYxoK2SiDncjJ+juuL0N42lW5Fz /jsHEeLwm13LIaAs7XcCNzBzpXsot4ObD9JckAyyy5ZCVfOzw6Cyk2+3KYGHmurhOXEBjrkv di//KHSLMTO04k7c5v3LeAuuntN4MjQQ71LIa4VduBZj81eUPBYdaC4yA7sNYz8rF5oxjId+ d98h5Dq6EzbXLjYjs1XXWZbDJy/9cmQgPd93sZYF5xqR1idgj/sVgwMeaxRA+ZIyRuoKphxl 7jsAEQEAAYkCNgQYAQgAIBYhBD1kIPqoIUk+gL8NYTi2TZRmhOh3BQJbgEVBAhsMAAoJEDi2 TZRmhOh3ZFsQAJtDZvAnf75u+pyUStt6R/sFdiNrfv8fEYTrurf3F/byF6fy9Ya1fCrhtaZl PkfxsGpeKADhtRTic3hffEQN9PKqRAy4NOefBPtjrUHhASqGLhqrhp1/8o/SXVQKDgInQpL3 fUdqf5VuK5Rxtp27VlffsR/qD+Eb6a3n0V5cMxTSt6uzYGmvzMHzLCiMCxUL3aS84cuwJC10 Kw/ML5HoHVtjr9F72yUzU0F37aTgFRWFi7wVvwivfs6Y3RoZDNi5FzN+uZH85Xn/X6Dld5hI Vur/RDcqQVYsd+KZ9/yVv0ZFat285SljIaW6/j1v8bmj2VLE/BfIF9qhWL9YMN8n9cnD0f3R crrxNjE98RCR64sQTOD4HPdl527KjZnHhLlqkuoBu/RHN25eAgZhlU+7xHjJrydBYd5Smi3X uW3xIvvIWQwloBeTbtCpQBrGOqcYEufvRgxZcUbJJ++OBpHUW279L8dIqofubxoVhl+2qztm iNc12oYdkpGsjHqFFRi5lAzy7EcPB4XiMX5AjBghSa2vLmHyK2JKO30oeOmQfdbPmjWaTpxs U037CCkemUOX+JkxmMWyRMAl8SxgdVJKbbXNxi++iCtupi9yIxO3Lrn7QDwbP20xtw3H149o agz72N4V6GvNON1qJOIL66ZJ39jb0MJbg4EyvVV+59VUpt8B Message-ID: Date: Thu, 20 Aug 2020 11:51:15 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <202008191150.07JBoCjh096637@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 15:51:16 -0000 Either this or r364347 has broken Yubikeys (at least Yubikey 4) plugged into XHCI ports, which are completely invisible to the USB stack after the change. I'm going to try to debug further, but wanted to give you a heads-up in case you can get there first. -Nathan On 2020-08-19 07:50, Hans Petter Selasky wrote: > Author: hselasky > Date: Wed Aug 19 11:50:12 2020 > New Revision: 364379 > URL: https://svnweb.freebsd.org/changeset/base/364379 > > Log: > Avoid evaluating the XHCI control endpoint context. > > The XHCI specification says that the XHCI controller should detect > reception of the USB device descriptors, and automatically update > the max packet size in the control endpoint context. > > Differential Revision: https://reviews.freebsd.org/D26104 > Reviewed by: kp@ > MFC after: 1 week > Sponsored by: Mellanox Technologies > > Modified: > head/sys/dev/usb/controller/xhci.c > head/sys/dev/usb/controller/xhci.h > > Modified: head/sys/dev/usb/controller/xhci.c > ============================================================================== > --- head/sys/dev/usb/controller/xhci.c Wed Aug 19 10:40:02 2020 (r364378) > +++ head/sys/dev/usb/controller/xhci.c Wed Aug 19 11:50:12 2020 (r364379) > @@ -2398,8 +2398,6 @@ xhci_configure_endpoint(struct usb_device *udev, > > /* store endpoint mode */ > pepext->trb_ep_mode = ep_mode; > - /* store bMaxPacketSize for control endpoints */ > - pepext->trb_ep_maxp = edesc->wMaxPacketSize[0]; > usb_pc_cpu_flush(pepext->page_cache); > > if (ep_mode == USB_EP_MODE_STREAMS) { > @@ -2929,17 +2927,6 @@ xhci_transfer_insert(struct usb_xfer *xfer) > return (USB_ERR_NOMEM); > } > > - /* check if bMaxPacketSize changed */ > - if (xfer->flags_int.control_xfr != 0 && > - pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0]) { > - > - DPRINTFN(8, "Reconfigure control endpoint\n"); > - > - /* force driver to reconfigure endpoint */ > - pepext->trb_halted = 1; > - pepext->trb_running = 0; > - } > - > /* check for stopped condition, after putting transfer on interrupt queue */ > if (pepext->trb_running == 0) { > struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); > @@ -3917,8 +3904,10 @@ xhci_configure_reset_endpoint(struct usb_xfer *xfer) > if (!(sc->sc_hw.devs[index].ep_configured & mask)) { > sc->sc_hw.devs[index].ep_configured |= mask; > err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); > - } else { > + } else if (epno != 1) { > err = xhci_cmd_evaluate_ctx(sc, buf_inp.physaddr, index); > + } else { > + err = 0; > } > > if (err != 0) { > > Modified: head/sys/dev/usb/controller/xhci.h > ============================================================================== > --- head/sys/dev/usb/controller/xhci.h Wed Aug 19 10:40:02 2020 (r364378) > +++ head/sys/dev/usb/controller/xhci.h Wed Aug 19 11:50:12 2020 (r364379) > @@ -393,7 +393,6 @@ struct xhci_endpoint_ext { > uint8_t trb_halted; > uint8_t trb_running; > uint8_t trb_ep_mode; > - uint8_t trb_ep_maxp; > }; > > enum { > From owner-svn-src-all@freebsd.org Thu Aug 20 16:14:43 2020 Return-Path: Delivered-To: svn-src-all@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 4EA153C235F; Thu, 20 Aug 2020 16:14:43 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.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 4BXV8y6prkz4blN; Thu, 20 Aug 2020 16:14:42 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [178.17.145.105]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 7C3692604E5; Thu, 20 Aug 2020 18:14:35 +0200 (CEST) Subject: Re: svn commit: r364379 - head/sys/dev/usb/controller To: Nathan Whitehorn , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008191150.07JBoCjh096637@repo.freebsd.org> From: Hans Petter Selasky Message-ID: Date: Thu, 20 Aug 2020 18:14:10 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BXV8y6prkz4blN X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:24940, ipnet:88.99.0.0/16, country:DE] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 16:14:43 -0000 On 2020-08-20 17:51, Nathan Whitehorn wrote: > Either this or r364347 has broken Yubikeys (at least Yubikey 4) plugged > into XHCI ports, which are completely invisible to the USB stack after > the change. I'm going to try to debug further, but wanted to give you a > heads-up in case you can get there first. > -Nathan > Let me know if you can isolate the commit. There has been two commits recently in the XHCI code. --HPS From owner-svn-src-all@freebsd.org Thu Aug 20 16:21:57 2020 Return-Path: Delivered-To: svn-src-all@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 206B23C227F; Thu, 20 Aug 2020 16:21:57 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.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 4BXVKG6Rbhz4cZG; Thu, 20 Aug 2020 16:21:54 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [178.17.145.105]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 18AED2604E5; Thu, 20 Aug 2020 18:21:53 +0200 (CEST) Subject: Re: svn commit: r364379 - head/sys/dev/usb/controller From: Hans Petter Selasky To: Nathan Whitehorn , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008191150.07JBoCjh096637@repo.freebsd.org> Message-ID: Date: Thu, 20 Aug 2020 18:21:27 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BXVKG6Rbhz4cZG X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of hps@selasky.org designates 88.99.82.50 as permitted sender) smtp.mailfrom=hps@selasky.org X-Spamd-Result: default: False [-0.60 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; R_SPF_ALLOW(-0.20)[+a:mail.turbocat.net]; DMARC_NA(0.00)[selasky.org]; NEURAL_SPAM_SHORT(0.15)[0.145]; NEURAL_HAM_MEDIUM(-0.45)[-0.449]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:88.99.0.0/16, country:DE]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all,svn-src-head]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 16:21:57 -0000 On 2020-08-20 18:14, Hans Petter Selasky wrote: > On 2020-08-20 17:51, Nathan Whitehorn wrote: >> Either this or r364347 has broken Yubikeys (at least Yubikey 4) plugged >> into XHCI ports, which are completely invisible to the USB stack after >> the change. I'm going to try to debug further, but wanted to give you a >> heads-up in case you can get there first. >> -Nathan >> > > Let me know if you can isolate the commit. There has been two commits > recently in the XHCI code. I'm on it. Let me run some test here. --HPS From owner-svn-src-all@freebsd.org Thu Aug 20 16:52:34 2020 Return-Path: Delivered-To: svn-src-all@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 B49853C27D7; Thu, 20 Aug 2020 16:52:34 +0000 (UTC) (envelope-from imp@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 4BXW0f4LY7z4f0r; Thu, 20 Aug 2020 16:52:34 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7889317A06; Thu, 20 Aug 2020 16:52:34 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KGqYlc094516; Thu, 20 Aug 2020 16:52:34 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KGqYl1094515; Thu, 20 Aug 2020 16:52:34 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201652.07KGqYl1094515@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 16:52:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364424 - head/share/man/man9 X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/share/man/man9 X-SVN-Commit-Revision: 364424 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 16:52:34 -0000 Author: imp Date: Thu Aug 20 16:52:34 2020 New Revision: 364424 URL: https://svnweb.freebsd.org/changeset/base/364424 Log: Fix function name in zone.9 uma_zone_prealloc -> uma_prealloc. There's no uma_zone_prealloc defined and the docs for it describe uma_prealloc exactly. Modified: head/share/man/man9/zone.9 Modified: head/share/man/man9/zone.9 ============================================================================== --- head/share/man/man9/zone.9 Thu Aug 20 15:19:09 2020 (r364423) +++ head/share/man/man9/zone.9 Thu Aug 20 16:52:34 2020 (r364424) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 3, 2020 +.Dd August 20, 2020 .Dt UMA 9 .Os .Sh NAME @@ -394,7 +394,7 @@ This uses a guaranteed but slow path in the allocator concurrency. .Pp The -.Fn uma_zone_prealloc +.Fn uma_prealloc function allocates slabs for the requested number of items, typically following the initial creation of a zone. Subsequent allocations from the zone will be satisfied using the pre-allocated @@ -402,7 +402,7 @@ slabs. Note that slab allocation is performed with the .Dv M_WAITOK flag, so -.Fn uma_zone_prealloc +.Fn uma_prealloc may sleep. .Pp The From owner-svn-src-all@freebsd.org Thu Aug 20 16:52:49 2020 Return-Path: Delivered-To: svn-src-all@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 403C63C2C16; Thu, 20 Aug 2020 16:52:49 +0000 (UTC) (envelope-from imp@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 4BXW0x13DBz4fQ0; Thu, 20 Aug 2020 16:52:49 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 08B0D17964; Thu, 20 Aug 2020 16:52:49 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KGqmEQ094574; Thu, 20 Aug 2020 16:52:48 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KGqmDj094573; Thu, 20 Aug 2020 16:52:48 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201652.07KGqmDj094573@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 16:52:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364425 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364425 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 16:52:49 -0000 Author: imp Date: Thu Aug 20 16:52:48 2020 New Revision: 364425 URL: https://svnweb.freebsd.org/changeset/base/364425 Log: Use names suggested by kib@ in review D25969, move call for unmount to not call with vnode locked, use NOWAIT alloc and only report when we don't overflow. These changes were accidentally omitted from r364402, except for the not reporting on overflow. They were lumped in with a debugging commit in my tree that I omitted w/o realizing this. Other issues from the review are pending some other changes I need to do first. Modified: head/sys/kern/vfs_mount.c Modified: head/sys/kern/vfs_mount.c ============================================================================== --- head/sys/kern/vfs_mount.c Thu Aug 20 16:52:34 2020 (r364424) +++ head/sys/kern/vfs_mount.c Thu Aug 20 16:52:48 2020 (r364425) @@ -102,7 +102,7 @@ MTX_SYSINIT(mountlist, &mountlist_mtx, "mountlist", MT EVENTHANDLER_LIST_DEFINE(vfs_mounted); EVENTHANDLER_LIST_DEFINE(vfs_unmounted); -static void dev_vfs_event(const char *type, struct mount *mp, bool donew); +static void mount_devctl_event(const char *type, struct mount *mp, bool donew); /* * Global opts, taken by all filesystems @@ -1023,7 +1023,7 @@ vfs_domount_first( VOP_UNLOCK(vp); EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td); VOP_UNLOCK(newdp); - dev_vfs_event("MOUNT", mp, false); + mount_devctl_event("MOUNT", mp, false); mountcheckdirs(vp, newdp); vn_seqc_write_end(vp); vn_seqc_write_end(newdp); @@ -1225,7 +1225,7 @@ vfs_domount_update( if (error != 0) goto end; - dev_vfs_event("REMOUNT", mp, true); + mount_devctl_event("REMOUNT", mp, true); if (mp->mnt_opt != NULL) vfs_freeopts(mp->mnt_opt); mp->mnt_opt = mp->mnt_optnew; @@ -1844,13 +1844,13 @@ dounmount(struct mount *mp, int flags, struct thread * TAILQ_REMOVE(&mountlist, mp, mnt_list); mtx_unlock(&mountlist_mtx); EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td); - dev_vfs_event("UNMOUNT", mp, false); if (coveredvp != NULL) { coveredvp->v_mountedhere = NULL; vn_seqc_write_end(coveredvp); VOP_UNLOCK(coveredvp); vdrop(coveredvp); } + mount_devctl_event("UNMOUNT", mp, false); if (rootvp != NULL) { vn_seqc_write_end(rootvp); vdrop(rootvp); @@ -2439,7 +2439,7 @@ static struct mntoptnames optnames[] = { }; static void -dev_vfs_event_mntopt(struct sbuf *sb, const char *what, struct vfsoptlist *opts) +mount_devctl_event_mntopt(struct sbuf *sb, const char *what, struct vfsoptlist *opts) { struct vfsopt *opt; @@ -2461,7 +2461,7 @@ dev_vfs_event_mntopt(struct sbuf *sb, const char *what #define DEVCTL_LEN 1024 static void -dev_vfs_event(const char *type, struct mount *mp, bool donew) +mount_devctl_event(const char *type, struct mount *mp, bool donew) { const uint8_t *cp; struct mntoptnames *fp; @@ -2469,7 +2469,7 @@ dev_vfs_event(const char *type, struct mount *mp, bool struct statfs *sfp = &mp->mnt_stat; char *buf; - buf = malloc(DEVCTL_LEN, M_MOUNT, M_WAITOK); + buf = malloc(DEVCTL_LEN, M_MOUNT, M_NOWAIT); if (buf == NULL) return; sbuf_new(&sb, buf, DEVCTL_LEN, SBUF_FIXEDLEN); @@ -2491,12 +2491,13 @@ dev_vfs_event(const char *type, struct mount *mp, bool } } sbuf_putc(&sb, '"'); - dev_vfs_event_mntopt(&sb, "opt", mp->mnt_opt); + mount_devctl_event_mntopt(&sb, "opt", mp->mnt_opt); if (donew) - dev_vfs_event_mntopt(&sb, "optnew", mp->mnt_optnew); + mount_devctl_event_mntopt(&sb, "optnew", mp->mnt_optnew); sbuf_finish(&sb); - devctl_notify("VFS", "FS", type, sbuf_data(&sb)); + if (sbuf_error(&sb) == 0) + devctl_notify("VFS", "FS", type, sbuf_data(&sb)); sbuf_delete(&sb); free(buf, M_MOUNT); } From owner-svn-src-all@freebsd.org Thu Aug 20 16:56:13 2020 Return-Path: Delivered-To: svn-src-all@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 D83053C2C34; Thu, 20 Aug 2020 16:56:13 +0000 (UTC) (envelope-from emaste@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 4BXW4s5TNmz4fWb; Thu, 20 Aug 2020 16:56:13 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9F41317469; Thu, 20 Aug 2020 16:56:13 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KGuDPX094801; Thu, 20 Aug 2020 16:56:13 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KGuDf6094800; Thu, 20 Aug 2020 16:56:13 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008201656.07KGuDf6094800@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 20 Aug 2020 16:56:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364426 - head/sys/netpfil/ipfw X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/netpfil/ipfw X-SVN-Commit-Revision: 364426 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 16:56:13 -0000 Author: emaste Date: Thu Aug 20 16:56:13 2020 New Revision: 364426 URL: https://svnweb.freebsd.org/changeset/base/364426 Log: ipfw: style(9) fixes Submitted by: Neel Chauhan Reviewed by: emaste, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26126 Modified: head/sys/netpfil/ipfw/ip_fw2.c Modified: head/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw2.c Thu Aug 20 16:52:48 2020 (r364425) +++ head/sys/netpfil/ipfw/ip_fw2.c Thu Aug 20 16:56:13 2020 (r364426) @@ -757,17 +757,17 @@ ipfw_send_pkt(struct mbuf *replyto, struct ipfw_flow_i * ipv6 specific rules here... */ static __inline int -icmp6type_match (int type, ipfw_insn_u32 *cmd) +icmp6type_match(int type, ipfw_insn_u32 *cmd) { return (type <= ICMP6_MAXTYPE && (cmd->d[type/32] & (1<<(type%32)) ) ); } static int -flow6id_match( int curr_flow, ipfw_insn_u32 *cmd ) +flow6id_match(int curr_flow, ipfw_insn_u32 *cmd) { int i; - for (i=0; i <= cmd->o.arg1; ++i ) - if (curr_flow == cmd->d[i] ) + for (i=0; i <= cmd->o.arg1; ++i) + if (curr_flow == cmd->d[i]) return 1; return 0; } From owner-svn-src-all@freebsd.org Thu Aug 20 17:14:34 2020 Return-Path: Delivered-To: svn-src-all@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 05A043C33A9; Thu, 20 Aug 2020 17:14:34 +0000 (UTC) (envelope-from imp@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 4BXWV167nbz3Rd4; Thu, 20 Aug 2020 17:14:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B1DA117BA4; Thu, 20 Aug 2020 17:14:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KHEXBm007092; Thu, 20 Aug 2020 17:14:33 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KHEXuj007090; Thu, 20 Aug 2020 17:14:33 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201714.07KHEXuj007090@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 17:14:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364427 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 364427 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 17:14:34 -0000 Author: imp Date: Thu Aug 20 17:14:33 2020 New Revision: 364427 URL: https://svnweb.freebsd.org/changeset/base/364427 Log: Make devctl_queue_data_f and devctl_queue_data private. I thought we'd need them, but nobody is using them. Narrow the interface. This will facilitate changes in the future. Modified: head/sys/kern/subr_bus.c head/sys/sys/bus.h Modified: head/sys/kern/subr_bus.c ============================================================================== --- head/sys/kern/subr_bus.c Thu Aug 20 16:56:13 2020 (r364426) +++ head/sys/kern/subr_bus.c Thu Aug 20 17:14:33 2020 (r364427) @@ -607,7 +607,7 @@ devctl_process_running(void) * assumed that @p data is properly formatted. It is further assumed * that @p data is allocated using the M_BUS malloc type. */ -void +static void devctl_queue_data_f(char *data, int flags) { struct dev_event_info *n1 = NULL, *n2 = NULL; @@ -653,7 +653,7 @@ out: return; } -void +static void devctl_queue_data(char *data) { devctl_queue_data_f(data, M_NOWAIT); Modified: head/sys/sys/bus.h ============================================================================== --- head/sys/sys/bus.h Thu Aug 20 16:56:13 2020 (r364426) +++ head/sys/sys/bus.h Thu Aug 20 17:14:33 2020 (r364427) @@ -156,16 +156,13 @@ struct devreq { /** * devctl hooks. Typically one should use the devctl_notify - * hook to send the message. However, devctl_queue_data is also - * included in case devctl_notify isn't sufficiently general. + * hook to send the message. */ boolean_t devctl_process_running(void); void devctl_notify_f(const char *__system, const char *__subsystem, const char *__type, const char *__data, int __flags); void devctl_notify(const char *__system, const char *__subsystem, const char *__type, const char *__data); -void devctl_queue_data_f(char *__data, int __flags); -void devctl_queue_data(char *__data); struct sbuf; void devctl_safe_quote_sb(struct sbuf *__sb, const char *__src); From owner-svn-src-all@freebsd.org Thu Aug 20 17:14:42 2020 Return-Path: Delivered-To: svn-src-all@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 608CB3C3256; Thu, 20 Aug 2020 17:14:42 +0000 (UTC) (envelope-from imp@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 4BXWV91cf8z3S6k; Thu, 20 Aug 2020 17:14:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3193917E0D; Thu, 20 Aug 2020 17:14:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KHEeTJ007147; Thu, 20 Aug 2020 17:14:40 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KHEdm5007145; Thu, 20 Aug 2020 17:14:39 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201714.07KHEdm5007145@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 17:14:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364428 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 364428 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 17:14:42 -0000 Author: imp Date: Thu Aug 20 17:14:39 2020 New Revision: 364428 URL: https://svnweb.freebsd.org/changeset/base/364428 Log: Move devctl_notify* to devctl.h. Added: head/sys/sys/devctl.h (contents, props changed) Modified: head/sys/sys/bus.h Modified: head/sys/sys/bus.h ============================================================================== --- head/sys/sys/bus.h Thu Aug 20 17:14:33 2020 (r364427) +++ head/sys/sys/bus.h Thu Aug 20 17:14:39 2020 (r364428) @@ -153,18 +153,7 @@ struct devreq { #include #include #include - -/** - * devctl hooks. Typically one should use the devctl_notify - * hook to send the message. - */ -boolean_t devctl_process_running(void); -void devctl_notify_f(const char *__system, const char *__subsystem, - const char *__type, const char *__data, int __flags); -void devctl_notify(const char *__system, const char *__subsystem, - const char *__type, const char *__data); -struct sbuf; -void devctl_safe_quote_sb(struct sbuf *__sb, const char *__src); +#include /** * Device name parsers. Hook to allow device enumerators to map Added: head/sys/sys/devctl.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/sys/devctl.h Thu Aug 20 17:14:39 2020 (r364428) @@ -0,0 +1,46 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright 2020 M. Warner Losh. + * + * 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. + * + * $FreeBSD$ + * + */ + +#ifndef _SYS_DEVCTL_H_ +#define _SYS_DEVCTL_H_ + +/** + * devctl hooks. Typically one should use the devctl_notify + * hook to send the message. + */ +boolean_t devctl_process_running(void); +void devctl_notify_f(const char *__system, const char *__subsystem, + const char *__type, const char *__data, int __flags); +void devctl_notify(const char *__system, const char *__subsystem, + const char *__type, const char *__data); +struct sbuf; +void devctl_safe_quote_sb(struct sbuf *__sb, const char *__src); + +#endif /* _SYS_DEVCTL_H_ */ From owner-svn-src-all@freebsd.org Thu Aug 20 17:14:46 2020 Return-Path: Delivered-To: svn-src-all@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 491093C2EFC; Thu, 20 Aug 2020 17:14:46 +0000 (UTC) (envelope-from imp@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 4BXWVF3tqyz3RY1; Thu, 20 Aug 2020 17:14:45 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CB20C17E0E; Thu, 20 Aug 2020 17:14:44 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KHEi4T007201; Thu, 20 Aug 2020 17:14:44 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KHEilY007200; Thu, 20 Aug 2020 17:14:44 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201714.07KHEilY007200@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 17:14:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364429 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364429 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 17:14:46 -0000 Author: imp Date: Thu Aug 20 17:14:44 2020 New Revision: 364429 URL: https://svnweb.freebsd.org/changeset/base/364429 Log: Move from TAILQ to STAILQ because the nodes are a bit smaller. Modified: head/sys/kern/subr_bus.c Modified: head/sys/kern/subr_bus.c ============================================================================== --- head/sys/kern/subr_bus.c Thu Aug 20 17:14:39 2020 (r364428) +++ head/sys/kern/subr_bus.c Thu Aug 20 17:14:44 2020 (r364429) @@ -408,10 +408,10 @@ static struct cdevsw dev_cdevsw = { struct dev_event_info { char *dei_data; - TAILQ_ENTRY(dev_event_info) dei_link; + STAILQ_ENTRY(dev_event_info) dei_link; }; -TAILQ_HEAD(devq, dev_event_info); +STAILQ_HEAD(devq, dev_event_info); static struct dev_softc { @@ -444,7 +444,7 @@ devinit(void) UID_ROOT, GID_WHEEL, 0600, "devctl"); mtx_init(&devsoftc.mtx, "dev mtx", "devd", MTX_DEF); cv_init(&devsoftc.cv, "dev cv"); - TAILQ_INIT(&devsoftc.devq); + STAILQ_INIT(&devsoftc.devq); knlist_init_mtx(&devsoftc.sel.si_note, &devsoftc.mtx); devctl2_init(); } @@ -491,7 +491,7 @@ devread(struct cdev *dev, struct uio *uio, int ioflag) int rv; mtx_lock(&devsoftc.mtx); - while (TAILQ_EMPTY(&devsoftc.devq)) { + while (STAILQ_EMPTY(&devsoftc.devq)) { if (devsoftc.nonblock) { mtx_unlock(&devsoftc.mtx); return (EAGAIN); @@ -505,8 +505,8 @@ devread(struct cdev *dev, struct uio *uio, int ioflag) return (rv); } } - n1 = TAILQ_FIRST(&devsoftc.devq); - TAILQ_REMOVE(&devsoftc.devq, n1, dei_link); + n1 = STAILQ_FIRST(&devsoftc.devq); + STAILQ_REMOVE_HEAD(&devsoftc.devq, dei_link); devsoftc.queued--; mtx_unlock(&devsoftc.mtx); rv = uiomove(n1->dei_data, strlen(n1->dei_data), uio); @@ -554,7 +554,7 @@ devpoll(struct cdev *dev, int events, struct thread *t mtx_lock(&devsoftc.mtx); if (events & (POLLIN | POLLRDNORM)) { - if (!TAILQ_EMPTY(&devsoftc.devq)) + if (!STAILQ_EMPTY(&devsoftc.devq)) revents = events & (POLLIN | POLLRDNORM); else selrecord(td, &devsoftc.sel); @@ -629,13 +629,13 @@ devctl_queue_data_f(char *data, int flags) } /* Leave at least one spot in the queue... */ while (devsoftc.queued > devctl_queue_length - 1) { - n2 = TAILQ_FIRST(&devsoftc.devq); - TAILQ_REMOVE(&devsoftc.devq, n2, dei_link); + n2 = STAILQ_FIRST(&devsoftc.devq); + STAILQ_REMOVE_HEAD(&devsoftc.devq, dei_link); free(n2->dei_data, M_BUS); free(n2, M_BUS); devsoftc.queued--; } - TAILQ_INSERT_TAIL(&devsoftc.devq, n1, dei_link); + STAILQ_INSERT_TAIL(&devsoftc.devq, n1, dei_link); devsoftc.queued++; cv_broadcast(&devsoftc.cv); KNOTE_LOCKED(&devsoftc.sel.si_note, 0); @@ -811,9 +811,9 @@ sysctl_devctl_disable(SYSCTL_HANDLER_ARGS) if (mtx_initialized(&devsoftc.mtx)) mtx_lock(&devsoftc.mtx); if (dis) { - while (!TAILQ_EMPTY(&devsoftc.devq)) { - n1 = TAILQ_FIRST(&devsoftc.devq); - TAILQ_REMOVE(&devsoftc.devq, n1, dei_link); + while (!STAILQ_EMPTY(&devsoftc.devq)) { + n1 = STAILQ_FIRST(&devsoftc.devq); + STAILQ_REMOVE_HEAD(&devsoftc.devq, dei_link); free(n1->dei_data, M_BUS); free(n1, M_BUS); } @@ -843,8 +843,8 @@ sysctl_devctl_queue(SYSCTL_HANDLER_ARGS) mtx_lock(&devsoftc.mtx); devctl_queue_length = q; while (devsoftc.queued > devctl_queue_length) { - n1 = TAILQ_FIRST(&devsoftc.devq); - TAILQ_REMOVE(&devsoftc.devq, n1, dei_link); + n1 = STAILQ_FIRST(&devsoftc.devq); + STAILQ_REMOVE_HEAD(&devsoftc.devq, dei_link); free(n1->dei_data, M_BUS); free(n1, M_BUS); devsoftc.queued--; From owner-svn-src-all@freebsd.org Thu Aug 20 17:19:44 2020 Return-Path: Delivered-To: svn-src-all@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 E3BCC3C3E0A; Thu, 20 Aug 2020 17:19:44 +0000 (UTC) (envelope-from imp@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 4BXWc05n6dz3T6T; Thu, 20 Aug 2020 17:19:44 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A995417E13; Thu, 20 Aug 2020 17:19:44 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KHJi5P007503; Thu, 20 Aug 2020 17:19:44 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KHJe8A007482; Thu, 20 Aug 2020 17:19:40 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201719.07KHJe8A007482@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 17:19:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364430 - in head: share/man/man4 sys/dev/an sys/dev/ata sys/dev/cmx sys/dev/fdc sys/dev/if_ndis sys/dev/puc sys/dev/uart sys/dev/wi sys/netgraph/bluetooth/drivers/bt3c X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: share/man/man4 sys/dev/an sys/dev/ata sys/dev/cmx sys/dev/fdc sys/dev/if_ndis sys/dev/puc sys/dev/uart sys/dev/wi sys/netgraph/bluetooth/drivers/bt3c X-SVN-Commit-Revision: 364430 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 17:19:45 -0000 Author: imp Date: Thu Aug 20 17:19:40 2020 New Revision: 364430 URL: https://svnweb.freebsd.org/changeset/base/364430 Log: Tag pccard drivers with gone in 13. MFC After: 3 days Reviewed by: emaste, brooks, adrian (on twitter) Differential Revision: https://reviews.freebsd.org/D26095 Modified: head/share/man/man4/an.4 head/share/man/man4/ata.4 head/share/man/man4/cmx.4 head/share/man/man4/fdc.4 head/share/man/man4/ndis.4 head/share/man/man4/ng_bt3c.4 head/share/man/man4/pccard.4 head/share/man/man4/puc.4 head/share/man/man4/uart.4 head/share/man/man4/wi.4 head/sys/dev/an/if_an_pccard.c head/sys/dev/ata/ata-card.c head/sys/dev/cmx/cmx_pccard.c head/sys/dev/fdc/fdc_pccard.c head/sys/dev/if_ndis/if_ndis_pccard.c head/sys/dev/puc/puc_pccard.c head/sys/dev/uart/uart_bus_pccard.c head/sys/dev/wi/if_wi_pccard.c head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Modified: head/share/man/man4/an.4 ============================================================================== --- head/share/man/man4/an.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/an.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -51,6 +51,9 @@ module at boot time, place the following line in .Bd -literal -offset indent if_an_load="YES" .Ed +.Sh DEPRECATION NOTICE +This driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh DESCRIPTION The .Nm Modified: head/share/man/man4/ata.4 ============================================================================== --- head/share/man/man4/ata.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/ata.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -222,6 +222,9 @@ Unknown ATA chipsets are supported in PIO modes, and i busmaster DMA registers are present and contain valid setup, DMA is also enabled, although the max mode is limited to UDMA33, as it is not known what the chipset can do and how to program it. +.Sh DEPRECATION NOTICE +The PC Card attachment of this driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh NOTES Please remember that in order to use UDMA4/ATA66 and above modes you .Em must Modified: head/share/man/man4/cmx.4 ============================================================================== --- head/share/man/man4/cmx.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/cmx.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -34,6 +34,9 @@ .Nd Omnikey CardMan 4040 smartcard reader device driver .Sh SYNOPSIS .Cd device cmx +.Sh DEPRECATION NOTICE +This driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh DESCRIPTION The .Nm Modified: head/share/man/man4/fdc.4 ============================================================================== --- head/share/man/man4/fdc.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/fdc.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -313,6 +313,9 @@ Third argument is a pointer to This type is the same as being used in the per-drive configuration flags, or in the CMOS configuration data or ACPI namespace on IA32 systems. .El +.Sh DEPRECATION NOTICE +The PC Card attachment of this driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh FILES .Bl -tag -width ".Pa /dev/fd*" -compact .It Pa /dev/fd* Modified: head/share/man/man4/ndis.4 ============================================================================== --- head/share/man/man4/ndis.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/ndis.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -120,6 +120,9 @@ driver-specific registry keys to control the media set which can be configured via the .Xr sysctl 8 command. +.Sh DEPRECATION NOTICE +The PC Card attachment of this driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh DIAGNOSTICS .Bl -diag .It "ndis%d: watchdog timeout" Modified: head/share/man/man4/ng_bt3c.4 ============================================================================== --- head/share/man/man4/ng_bt3c.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/ng_bt3c.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -34,6 +34,9 @@ .Sh SYNOPSIS .In sys/types.h .In netgraph/bluetooth/include/ng_bt3c.h +.Sh DEPRECATION NOTICE +This driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh DESCRIPTION The .Nm btccc Modified: head/share/man/man4/pccard.4 ============================================================================== --- head/share/man/man4/pccard.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/pccard.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -33,7 +33,7 @@ .Cd device pccard .Sh DEPRECATION NOTICE This driver is scheduled for removal prior to the release of -.Fx 13.0 +.Fx 13.0 . .Sh DESCRIPTION The .Nm Modified: head/share/man/man4/puc.4 ============================================================================== --- head/share/man/man4/puc.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/puc.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -47,6 +47,9 @@ driver. The list of supported devices is in .Pa sys/dev/puc/pucdata.c . Support for new cards should be added there. +.Sh DEPRECATION NOTICE +The PC Card attachment of this driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh SEE ALSO .Xr ppc 4 , .Xr uart 4 Modified: head/share/man/man4/uart.4 ============================================================================== --- head/share/man/man4/uart.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/uart.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -271,6 +271,9 @@ be locked for devices that support more than one setti The CLOCAL flag on callin ports should be locked off for logins to avoid certain security holes, but this needs to be done by getty if the callin port is used for anything else. +.Sh DEPRECATION NOTICE +The PC Card attachment of this driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh FILES .Bl -tag -width "/dev/ttyu?.init" -compact .It Pa /dev/ttyu? Modified: head/share/man/man4/wi.4 ============================================================================== --- head/share/man/man4/wi.4 Thu Aug 20 17:14:44 2020 (r364429) +++ head/share/man/man4/wi.4 Thu Aug 20 17:19:40 2020 (r364430) @@ -52,6 +52,9 @@ module at boot time, place the following line in .Bd -literal -offset indent if_wi_load="YES" .Ed +.Sh DEPRECATION NOTICE +This driver is scheduled for removal prior to the release of +.Fx 13.0 .Sh DESCRIPTION The .Nm Modified: head/sys/dev/an/if_an_pccard.c ============================================================================== --- head/sys/dev/an/if_an_pccard.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/dev/an/if_an_pccard.c Thu Aug 20 17:19:40 2020 (r364430) @@ -156,5 +156,7 @@ an_pccard_attach(device_t dev) fail: if (error) an_release_resources(dev); + else + gone_in_dev(dev, 13, "pccard removed"); return (error); } Modified: head/sys/dev/ata/ata-card.c ============================================================================== --- head/sys/dev/ata/ata-card.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/dev/ata/ata-card.c Thu Aug 20 17:19:40 2020 (r364430) @@ -144,6 +144,7 @@ ata_pccard_attach(device_t dev) err = ata_probe(dev); if (err > 0) return (err); + gone_in_dev(dev, 13, "pccard removed"); return (ata_attach(dev)); } Modified: head/sys/dev/cmx/cmx_pccard.c ============================================================================== --- head/sys/dev/cmx/cmx_pccard.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/dev/cmx/cmx_pccard.c Thu Aug 20 17:19:40 2020 (r364430) @@ -95,7 +95,7 @@ cmx_pccard_attach(device_t dev) return rv; } - device_printf(dev, "attached\n"); + gone_in_dev(dev, 13, "pccard removed"); return 0; } Modified: head/sys/dev/fdc/fdc_pccard.c ============================================================================== --- head/sys/dev/fdc/fdc_pccard.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/dev/fdc/fdc_pccard.c Thu Aug 20 17:19:40 2020 (r364430) @@ -110,9 +110,10 @@ fdc_pccard_attach(device_t dev) device_set_flags(child, 0x24); error = bus_generic_attach(dev); } - if (error == 0) + if (error == 0) { + gone_in_dev(dev, 13, "pccard removed"); fdc_start_worker(dev); - else + } else fdc_release_resources(fdc); return (error); } Modified: head/sys/dev/if_ndis/if_ndis_pccard.c ============================================================================== --- head/sys/dev/if_ndis/if_ndis_pccard.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/dev/if_ndis/if_ndis_pccard.c Thu Aug 20 17:19:40 2020 (r364430) @@ -303,6 +303,8 @@ ndis_attach_pccard(dev) } error = ndis_attach(dev); + if (error == 0) + gone_in_dev(dev, 13, "pccard removed"); fail: return(error); Modified: head/sys/dev/puc/puc_pccard.c ============================================================================== --- head/sys/dev/puc/puc_pccard.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/dev/puc/puc_pccard.c Thu Aug 20 17:19:40 2020 (r364430) @@ -73,10 +73,21 @@ puc_pccard_probe(device_t dev) return (ENXIO); } +static int +puc_pccard_attach(device_t dev) +{ + int error; + + error = puc_bfe_attach(dev); + if (error == 0) + gone_in_dev(dev, 13, "pccard removed"); + return (error); +} + static device_method_t puc_pccard_methods[] = { /* Device interface */ DEVMETHOD(device_probe, puc_pccard_probe), - DEVMETHOD(device_attach, puc_bfe_attach), + DEVMETHOD(device_attach, puc_pccard_attach), DEVMETHOD(device_detach, puc_bfe_detach), DEVMETHOD(bus_alloc_resource, puc_bus_alloc_resource), Modified: head/sys/dev/uart/uart_bus_pccard.c ============================================================================== --- head/sys/dev/uart/uart_bus_pccard.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/dev/uart/uart_bus_pccard.c Thu Aug 20 17:19:40 2020 (r364430) @@ -98,6 +98,7 @@ uart_pccard_attach(device_t dev) error = uart_bus_probe(dev, 0, 0, 0, 0, 0, 0); if (error > 0) return (error); + gone_in_dev(dev, 13, "pccard removed"); return (uart_bus_attach(dev)); } Modified: head/sys/dev/wi/if_wi_pccard.c ============================================================================== --- head/sys/dev/wi/if_wi_pccard.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/dev/wi/if_wi_pccard.c Thu Aug 20 17:19:40 2020 (r364430) @@ -200,6 +200,7 @@ wi_pccard_attach(device_t dev) error = wi_attach(dev); if (error != 0) wi_free(dev); + gone_in_dev(dev, 13, "pccard removed"); } return error; } Modified: head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c ============================================================================== --- head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Thu Aug 20 17:14:44 2020 (r364429) +++ head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Thu Aug 20 17:19:40 2020 (r364430) @@ -677,6 +677,8 @@ bt3c_pccard_attach(device_t dev) NG_NODE_SET_PRIVATE(sc->node, sc); + gone_in_dev(dev, 13, "pccard removed"); + return (0); bad: if (sc->ith != NULL) { From owner-svn-src-all@freebsd.org Thu Aug 20 17:35:10 2020 Return-Path: Delivered-To: svn-src-all@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 253BF3C4310; Thu, 20 Aug 2020 17:35:10 +0000 (UTC) (envelope-from imp@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 4BXWxp00Dvz3TlY; Thu, 20 Aug 2020 17:35:10 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D887117E5E; Thu, 20 Aug 2020 17:35:09 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KHZ9Tq019390; Thu, 20 Aug 2020 17:35:09 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KHZ9VL019386; Thu, 20 Aug 2020 17:35:09 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201735.07KHZ9VL019386@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 17:35:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364431 - in stable/12: share/man/man4 sys/dev/usb/misc X-SVN-Group: stable-12 X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in stable/12: share/man/man4 sys/dev/usb/misc X-SVN-Commit-Revision: 364431 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 17:35:10 -0000 Author: imp Date: Thu Aug 20 17:35:09 2020 New Revision: 364431 URL: https://svnweb.freebsd.org/changeset/base/364431 Log: MFC: 359521 ufm removal ufm will be removed from 13, note it here. Relnotes: Yes (maybe, very obscure) Modified: stable/12/share/man/man4/ufm.4 stable/12/sys/dev/usb/misc/ufm.c Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man4/ufm.4 ============================================================================== --- stable/12/share/man/man4/ufm.4 Thu Aug 20 17:19:40 2020 (r364430) +++ stable/12/share/man/man4/ufm.4 Thu Aug 20 17:35:09 2020 (r364431) @@ -44,6 +44,12 @@ module at boot time, place the following line in .Bd -literal -offset indent ufm_load="YES" .Ed +.Sh DEPRECATION NOTICE +The +.Nm +driver is not present in +.Fx 13.0 +and later. .Sh DESCRIPTION The .Nm Modified: stable/12/sys/dev/usb/misc/ufm.c ============================================================================== --- stable/12/sys/dev/usb/misc/ufm.c Thu Aug 20 17:19:40 2020 (r364430) +++ stable/12/sys/dev/usb/misc/ufm.c Thu Aug 20 17:35:09 2020 (r364431) @@ -165,6 +165,7 @@ ufm_attach(device_t dev) if (error) { goto detach; } + gone_in_dev(dev, 13, "Driver no longer relevant"); return (0); /* success */ detach: From owner-svn-src-all@freebsd.org Thu Aug 20 17:35:48 2020 Return-Path: Delivered-To: svn-src-all@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 6BBED3C3E5C; Thu, 20 Aug 2020 17:35:48 +0000 (UTC) (envelope-from imp@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 4BXWyX2JR7z3TrX; Thu, 20 Aug 2020 17:35:48 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 32CC91819A; Thu, 20 Aug 2020 17:35:48 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KHZmi5019459; Thu, 20 Aug 2020 17:35:48 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KHZlbM019457; Thu, 20 Aug 2020 17:35:47 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201735.07KHZlbM019457@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 17:35:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364432 - in head: share/man/man4 sys/conf sys/dev/usb/misc sys/modules/usb sys/modules/usb/ufm X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: share/man/man4 sys/conf sys/dev/usb/misc sys/modules/usb sys/modules/usb/ufm X-SVN-Commit-Revision: 364432 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 17:35:48 -0000 Author: imp Date: Thu Aug 20 17:35:47 2020 New Revision: 364432 URL: https://svnweb.freebsd.org/changeset/base/364432 Log: Remove the long obsolete ufm driver. It was a driver for a USB FM tuner that was available in the market in 2002. I wrote the driver in 2003. I've not used it since 2005 or so, so it's time to retire this driver. No userland code ever interfaced to the special device it created. There's no user base: the last bug I received on this driver was in 2004. Relnotes: Yes Deleted: head/share/man/man4/ufm.4 head/sys/dev/usb/misc/ufm.c head/sys/modules/usb/ufm/ Modified: head/sys/conf/files head/sys/modules/usb/Makefile Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Aug 20 17:35:09 2020 (r364431) +++ head/sys/conf/files Thu Aug 20 17:35:47 2020 (r364432) @@ -3332,7 +3332,6 @@ dev/usb/serial/usb_serial.c optional ucom | u3g | uar # USB misc drivers # dev/usb/misc/cp2112.c optional cp2112 -dev/usb/misc/ufm.c optional ufm dev/usb/misc/udbp.c optional udbp dev/usb/misc/ugold.c optional ugold dev/usb/misc/uled.c optional uled Modified: head/sys/modules/usb/Makefile ============================================================================== --- head/sys/modules/usb/Makefile Thu Aug 20 17:35:09 2020 (r364431) +++ head/sys/modules/usb/Makefile Thu Aug 20 17:35:47 2020 (r364432) @@ -47,7 +47,7 @@ SUBDIR = usb SUBDIR += ${_dwc_otg} ehci ${_musb} ohci uhci xhci ${_uss820dci} \ ${_atmegadci} ${_avr32dci} ${_rsu} ${_rsufw} ${_saf1761otg} SUBDIR += ${_rum} ${_run} ${_runfw} ${_uath} upgt usie ural ${_zyd} ${_urtw} -SUBDIR += atp cfumass uhid uhid_snes ukbd ums udbp ufm uep wmt wsp ugold uled +SUBDIR += atp cfumass uhid uhid_snes ukbd ums udbp uep wmt wsp ugold uled SUBDIR += ucom u3g uark ubsa ubser uchcom ucycom ufoma uftdi ugensa uipaq ulpt \ umct umcs umodem umoscom uplcom uslcom uvisor uvscom SUBDIR += cp2112 From owner-svn-src-all@freebsd.org Thu Aug 20 17:45:55 2020 Return-Path: Delivered-To: svn-src-all@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 7D51A3C4823; Thu, 20 Aug 2020 17:45:55 +0000 (UTC) (envelope-from hselasky@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 4BXXBC2q66z3Vg5; Thu, 20 Aug 2020 17:45:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 44722181BD; Thu, 20 Aug 2020 17:45:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KHjt7a025811; Thu, 20 Aug 2020 17:45:55 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KHjtHk025810; Thu, 20 Aug 2020 17:45:55 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202008201745.07KHjtHk025810@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 20 Aug 2020 17:45:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364433 - head/sys/dev/usb/controller X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/usb/controller X-SVN-Commit-Revision: 364433 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 17:45:55 -0000 Author: hselasky Date: Thu Aug 20 17:45:54 2020 New Revision: 364433 URL: https://svnweb.freebsd.org/changeset/base/364433 Log: Fix regression after r364379. The AMD's Ryzen 3 3200g XHCI controllers apparently need the evaluate control endpoint context command, but we don't need to issue this command when the bMaxPacketSize is received after the read of the USB device descriptor, because this part should be handled automatically. PR: 248784 Tested by: emaste, hselasky MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/controller/xhci.c Modified: head/sys/dev/usb/controller/xhci.c ============================================================================== --- head/sys/dev/usb/controller/xhci.c Thu Aug 20 17:35:47 2020 (r364432) +++ head/sys/dev/usb/controller/xhci.c Thu Aug 20 17:45:54 2020 (r364433) @@ -3904,10 +3904,8 @@ xhci_configure_reset_endpoint(struct usb_xfer *xfer) if (!(sc->sc_hw.devs[index].ep_configured & mask)) { sc->sc_hw.devs[index].ep_configured |= mask; err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); - } else if (epno != 1) { - err = xhci_cmd_evaluate_ctx(sc, buf_inp.physaddr, index); } else { - err = 0; + err = xhci_cmd_evaluate_ctx(sc, buf_inp.physaddr, index); } if (err != 0) { From owner-svn-src-all@freebsd.org Thu Aug 20 17:48:11 2020 Return-Path: Delivered-To: svn-src-all@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 E073B3C48A9; Thu, 20 Aug 2020 17:48:11 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.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 4BXXDq03vjz3W14; Thu, 20 Aug 2020 17:48:10 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [178.17.145.105]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id B848B26098B; Thu, 20 Aug 2020 19:48:08 +0200 (CEST) Subject: Re: svn commit: r364379 - head/sys/dev/usb/controller From: Hans Petter Selasky To: Nathan Whitehorn , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008191150.07JBoCjh096637@repo.freebsd.org> Message-ID: <27bfd7dd-0469-17f1-c360-821714636da6@selasky.org> Date: Thu, 20 Aug 2020 19:47:42 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BXXDq03vjz3W14 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of hps@selasky.org designates 88.99.82.50 as permitted sender) smtp.mailfrom=hps@selasky.org X-Spamd-Result: default: False [-0.48 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+a:mail.turbocat.net:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[selasky.org]; NEURAL_HAM_MEDIUM(-0.45)[-0.454]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; NEURAL_SPAM_SHORT(0.27)[0.269]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:88.99.0.0/16, country:DE]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[svn-src-all,svn-src-head] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 17:48:11 -0000 On 2020-08-20 18:21, Hans Petter Selasky wrote: > On 2020-08-20 18:14, Hans Petter Selasky wrote: >> On 2020-08-20 17:51, Nathan Whitehorn wrote: >>> Either this or r364347 has broken Yubikeys (at least Yubikey 4) plugged >>> into XHCI ports, which are completely invisible to the USB stack after >>> the change. I'm going to try to debug further, but wanted to give you a >>> heads-up in case you can get there first. >>> -Nathan >>> >> >> Let me know if you can isolate the commit. There has been two commits >> recently in the XHCI code. > > I'm on it. Let me run some test here. > See: https://svnweb.freebsd.org/changeset/base/364433 Thanks to Ed Maste who quickly tested my patch. --HPS From owner-svn-src-all@freebsd.org Thu Aug 20 18:31:50 2020 Return-Path: Delivered-To: svn-src-all@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 E176A3C5691; Thu, 20 Aug 2020 18:31:50 +0000 (UTC) (envelope-from imp@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 4BXYCB5dxsz3Y3S; Thu, 20 Aug 2020 18:31:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A6712187F2; Thu, 20 Aug 2020 18:31:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KIVoAt054657; Thu, 20 Aug 2020 18:31:50 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KIVoGV054656; Thu, 20 Aug 2020 18:31:50 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201831.07KIVoGV054656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 18:31:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364434 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 364434 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 18:31:51 -0000 Author: imp Date: Thu Aug 20 18:31:50 2020 New Revision: 364434 URL: https://svnweb.freebsd.org/changeset/base/364434 Log: Remove ufm.4 from the Makefile Modified: head/share/man/man4/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Thu Aug 20 17:45:54 2020 (r364433) +++ head/share/man/man4/Makefile Thu Aug 20 18:31:50 2020 (r364434) @@ -976,7 +976,6 @@ MAN+= \ udbp.4 \ udl.4 \ uep.4 \ - ufm.4 \ ufoma.4 \ uftdi.4 \ ugen.4 \ From owner-svn-src-all@freebsd.org Thu Aug 20 18:50:46 2020 Return-Path: Delivered-To: svn-src-all@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 AFE063C5E93; Thu, 20 Aug 2020 18:50:46 +0000 (UTC) (envelope-from dim@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 4BXYd24K2Jz3ZCm; Thu, 20 Aug 2020 18:50:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7834B19110; Thu, 20 Aug 2020 18:50:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KIokIo063334; Thu, 20 Aug 2020 18:50:46 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KIokXB063333; Thu, 20 Aug 2020 18:50:46 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008201850.07KIokXB063333@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 20 Aug 2020 18:50:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364435 - head/usr.sbin/kldxref X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/usr.sbin/kldxref X-SVN-Commit-Revision: 364435 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 18:50:46 -0000 Author: dim Date: Thu Aug 20 18:50:46 2020 New Revision: 364435 URL: https://svnweb.freebsd.org/changeset/base/364435 Log: Bump kldxref's MAXSEGS to 16, to stop complaints about the kernel supposedly having too many segments, when lld 11 links it. Such kernels should load just fine. Note that we may still do some tweaking of our kernel linker scripts, to lower the number of segments, although the exact benefit is not entirely clear. Modified: head/usr.sbin/kldxref/ef.c Modified: head/usr.sbin/kldxref/ef.c ============================================================================== --- head/usr.sbin/kldxref/ef.c Thu Aug 20 18:31:50 2020 (r364434) +++ head/usr.sbin/kldxref/ef.c Thu Aug 20 18:50:46 2020 (r364435) @@ -49,7 +49,7 @@ #include "ef.h" -#define MAXSEGS 3 +#define MAXSEGS 16 struct ef_file { char *ef_name; struct elf_file *ef_efile; From owner-svn-src-all@freebsd.org Thu Aug 20 19:13:50 2020 Return-Path: Delivered-To: svn-src-all@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 1D79F3C5EF1; Thu, 20 Aug 2020 19:13:50 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BXZ7d2bpQz3bVD; Thu, 20 Aug 2020 19:13:48 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 07KJDfMt076083; Thu, 20 Aug 2020 12:13:41 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 07KJDf63076082; Thu, 20 Aug 2020 12:13:41 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202008201913.07KJDf63076082@gndrsh.dnsmgr.net> Subject: Re: svn commit: r364430 - in head: share/man/man4 sys/dev/an sys/dev/ata sys/dev/cmx sys/dev/fdc sys/dev/if_ndis sys/dev/puc sys/dev/uart sys/dev/wi sys/netgraph/bluetooth/drivers/bt3c In-Reply-To: <202008201719.07KHJe8A007482@repo.freebsd.org> To: Warner Losh Date: Thu, 20 Aug 2020 12:13:41 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4BXZ7d2bpQz3bVD X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 19:13:50 -0000 > Author: imp > Date: Thu Aug 20 17:19:40 2020 > New Revision: 364430 > URL: https://svnweb.freebsd.org/changeset/base/364430 > > Log: > Tag pccard drivers with gone in 13. > > MFC After: 3 days > Reviewed by: emaste, brooks, adrian (on twitter) > Differential Revision: https://reviews.freebsd.org/D26095 > > Modified: > head/share/man/man4/an.4 This device has a PCI version, so why is it going away with PC card? Typically these are plx9050 bridge cards which makes the AN device appear like any other PCI device. It looks as if you only tagged if_an_pccard.c, so the man page change is all that is wrong. > head/share/man/man4/ata.4 > head/share/man/man4/cmx.4 > head/share/man/man4/fdc.4 > head/share/man/man4/ndis.4 > head/share/man/man4/ng_bt3c.4 > head/share/man/man4/pccard.4 > head/share/man/man4/puc.4 > head/share/man/man4/uart.4 > head/share/man/man4/wi.4 These are also often plx9050 based, and your only doing the if_wi_pccard.c file, so probably also a man page error. > head/sys/dev/an/if_an_pccard.c > head/sys/dev/ata/ata-card.c > head/sys/dev/cmx/cmx_pccard.c > head/sys/dev/fdc/fdc_pccard.c > head/sys/dev/if_ndis/if_ndis_pccard.c > head/sys/dev/puc/puc_pccard.c > head/sys/dev/uart/uart_bus_pccard.c > head/sys/dev/wi/if_wi_pccard.c > head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c > > Modified: head/share/man/man4/an.4 > ============================================================================== > --- head/share/man/man4/an.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/an.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -51,6 +51,9 @@ module at boot time, place the following line in > .Bd -literal -offset indent > if_an_load="YES" > .Ed > +.Sh DEPRECATION NOTICE > +This driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh DESCRIPTION > The > .Nm > > Modified: head/share/man/man4/ata.4 > ============================================================================== > --- head/share/man/man4/ata.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/ata.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -222,6 +222,9 @@ Unknown ATA chipsets are supported in PIO modes, and i > busmaster DMA registers are present and contain valid setup, DMA is > also enabled, although the max mode is limited to UDMA33, as it is > not known what the chipset can do and how to program it. > +.Sh DEPRECATION NOTICE > +The PC Card attachment of this driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh NOTES > Please remember that in order to use UDMA4/ATA66 and above modes you > .Em must > > Modified: head/share/man/man4/cmx.4 > ============================================================================== > --- head/share/man/man4/cmx.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/cmx.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -34,6 +34,9 @@ > .Nd Omnikey CardMan 4040 smartcard reader device driver > .Sh SYNOPSIS > .Cd device cmx > +.Sh DEPRECATION NOTICE > +This driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh DESCRIPTION > The > .Nm > > Modified: head/share/man/man4/fdc.4 > ============================================================================== > --- head/share/man/man4/fdc.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/fdc.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -313,6 +313,9 @@ Third argument is a pointer to > This type is the same as being used in the per-drive configuration > flags, or in the CMOS configuration data or ACPI namespace on IA32 systems. > .El > +.Sh DEPRECATION NOTICE > +The PC Card attachment of this driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh FILES > .Bl -tag -width ".Pa /dev/fd*" -compact > .It Pa /dev/fd* > > Modified: head/share/man/man4/ndis.4 > ============================================================================== > --- head/share/man/man4/ndis.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/ndis.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -120,6 +120,9 @@ driver-specific registry keys to control the media set > which can be configured via the > .Xr sysctl 8 > command. > +.Sh DEPRECATION NOTICE > +The PC Card attachment of this driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh DIAGNOSTICS > .Bl -diag > .It "ndis%d: watchdog timeout" > > Modified: head/share/man/man4/ng_bt3c.4 > ============================================================================== > --- head/share/man/man4/ng_bt3c.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/ng_bt3c.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -34,6 +34,9 @@ > .Sh SYNOPSIS > .In sys/types.h > .In netgraph/bluetooth/include/ng_bt3c.h > +.Sh DEPRECATION NOTICE > +This driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh DESCRIPTION > The > .Nm btccc > > Modified: head/share/man/man4/pccard.4 > ============================================================================== > --- head/share/man/man4/pccard.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/pccard.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -33,7 +33,7 @@ > .Cd device pccard > .Sh DEPRECATION NOTICE > This driver is scheduled for removal prior to the release of > -.Fx 13.0 > +.Fx 13.0 . > .Sh DESCRIPTION > The > .Nm > > Modified: head/share/man/man4/puc.4 > ============================================================================== > --- head/share/man/man4/puc.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/puc.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -47,6 +47,9 @@ driver. > The list of supported devices is in > .Pa sys/dev/puc/pucdata.c . > Support for new cards should be added there. > +.Sh DEPRECATION NOTICE > +The PC Card attachment of this driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh SEE ALSO > .Xr ppc 4 , > .Xr uart 4 > > Modified: head/share/man/man4/uart.4 > ============================================================================== > --- head/share/man/man4/uart.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/uart.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -271,6 +271,9 @@ be locked for devices that support more than one setti > The CLOCAL flag on callin ports should be locked off for logins > to avoid certain security holes, but this needs to be done by > getty if the callin port is used for anything else. > +.Sh DEPRECATION NOTICE > +The PC Card attachment of this driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh FILES > .Bl -tag -width "/dev/ttyu?.init" -compact > .It Pa /dev/ttyu? > > Modified: head/share/man/man4/wi.4 > ============================================================================== > --- head/share/man/man4/wi.4 Thu Aug 20 17:14:44 2020 (r364429) > +++ head/share/man/man4/wi.4 Thu Aug 20 17:19:40 2020 (r364430) > @@ -52,6 +52,9 @@ module at boot time, place the following line in > .Bd -literal -offset indent > if_wi_load="YES" > .Ed > +.Sh DEPRECATION NOTICE > +This driver is scheduled for removal prior to the release of > +.Fx 13.0 > .Sh DESCRIPTION > The > .Nm > > Modified: head/sys/dev/an/if_an_pccard.c > ============================================================================== > --- head/sys/dev/an/if_an_pccard.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/dev/an/if_an_pccard.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -156,5 +156,7 @@ an_pccard_attach(device_t dev) > fail: > if (error) > an_release_resources(dev); > + else > + gone_in_dev(dev, 13, "pccard removed"); > return (error); > } > > Modified: head/sys/dev/ata/ata-card.c > ============================================================================== > --- head/sys/dev/ata/ata-card.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/dev/ata/ata-card.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -144,6 +144,7 @@ ata_pccard_attach(device_t dev) > err = ata_probe(dev); > if (err > 0) > return (err); > + gone_in_dev(dev, 13, "pccard removed"); > return (ata_attach(dev)); > } > > > Modified: head/sys/dev/cmx/cmx_pccard.c > ============================================================================== > --- head/sys/dev/cmx/cmx_pccard.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/dev/cmx/cmx_pccard.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -95,7 +95,7 @@ cmx_pccard_attach(device_t dev) > return rv; > } > > - device_printf(dev, "attached\n"); > + gone_in_dev(dev, 13, "pccard removed"); > return 0; > } > > > Modified: head/sys/dev/fdc/fdc_pccard.c > ============================================================================== > --- head/sys/dev/fdc/fdc_pccard.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/dev/fdc/fdc_pccard.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -110,9 +110,10 @@ fdc_pccard_attach(device_t dev) > device_set_flags(child, 0x24); > error = bus_generic_attach(dev); > } > - if (error == 0) > + if (error == 0) { > + gone_in_dev(dev, 13, "pccard removed"); > fdc_start_worker(dev); > - else > + } else > fdc_release_resources(fdc); > return (error); > } > > Modified: head/sys/dev/if_ndis/if_ndis_pccard.c > ============================================================================== > --- head/sys/dev/if_ndis/if_ndis_pccard.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/dev/if_ndis/if_ndis_pccard.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -303,6 +303,8 @@ ndis_attach_pccard(dev) > } > > error = ndis_attach(dev); > + if (error == 0) > + gone_in_dev(dev, 13, "pccard removed"); > > fail: > return(error); > > Modified: head/sys/dev/puc/puc_pccard.c > ============================================================================== > --- head/sys/dev/puc/puc_pccard.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/dev/puc/puc_pccard.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -73,10 +73,21 @@ puc_pccard_probe(device_t dev) > return (ENXIO); > } > > +static int > +puc_pccard_attach(device_t dev) > +{ > + int error; > + > + error = puc_bfe_attach(dev); > + if (error == 0) > + gone_in_dev(dev, 13, "pccard removed"); > + return (error); > +} > + > static device_method_t puc_pccard_methods[] = { > /* Device interface */ > DEVMETHOD(device_probe, puc_pccard_probe), > - DEVMETHOD(device_attach, puc_bfe_attach), > + DEVMETHOD(device_attach, puc_pccard_attach), > DEVMETHOD(device_detach, puc_bfe_detach), > > DEVMETHOD(bus_alloc_resource, puc_bus_alloc_resource), > > Modified: head/sys/dev/uart/uart_bus_pccard.c > ============================================================================== > --- head/sys/dev/uart/uart_bus_pccard.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/dev/uart/uart_bus_pccard.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -98,6 +98,7 @@ uart_pccard_attach(device_t dev) > error = uart_bus_probe(dev, 0, 0, 0, 0, 0, 0); > if (error > 0) > return (error); > + gone_in_dev(dev, 13, "pccard removed"); > return (uart_bus_attach(dev)); > } > > > Modified: head/sys/dev/wi/if_wi_pccard.c > ============================================================================== > --- head/sys/dev/wi/if_wi_pccard.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/dev/wi/if_wi_pccard.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -200,6 +200,7 @@ wi_pccard_attach(device_t dev) > error = wi_attach(dev); > if (error != 0) > wi_free(dev); > + gone_in_dev(dev, 13, "pccard removed"); > } > return error; > } > > Modified: head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c > ============================================================================== > --- head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Thu Aug 20 17:14:44 2020 (r364429) > +++ head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Thu Aug 20 17:19:40 2020 (r364430) > @@ -677,6 +677,8 @@ bt3c_pccard_attach(device_t dev) > > NG_NODE_SET_PRIVATE(sc->node, sc); > > + gone_in_dev(dev, 13, "pccard removed"); > + > return (0); > bad: > if (sc->ith != NULL) { > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Thu Aug 20 19:14:54 2020 Return-Path: Delivered-To: svn-src-all@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 328BC3C6246; Thu, 20 Aug 2020 19:14:54 +0000 (UTC) (envelope-from zeising@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 4BXZ8t0XdMz3bkg; Thu, 20 Aug 2020 19:14:54 +0000 (UTC) (envelope-from zeising@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EA5E219417; Thu, 20 Aug 2020 19:14:53 +0000 (UTC) (envelope-from zeising@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KJEr4a081793; Thu, 20 Aug 2020 19:14:53 GMT (envelope-from zeising@FreeBSD.org) Received: (from zeising@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KJErS4081792; Thu, 20 Aug 2020 19:14:53 GMT (envelope-from zeising@FreeBSD.org) Message-Id: <202008201914.07KJErS4081792@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zeising set sender to zeising@FreeBSD.org using -f From: Niclas Zeising Date: Thu, 20 Aug 2020 19:14:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364436 - head X-SVN-Group: head X-SVN-Commit-Author: zeising X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 364436 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 19:14:54 -0000 Author: zeising (doc,ports committer) Date: Thu Aug 20 19:14:53 2020 New Revision: 364436 URL: https://svnweb.freebsd.org/changeset/base/364436 Log: Add ufm(4) to ObsoleteFiles.inc The ufm driver was removed in r364432, add the manual to ObsoleteFiles. OK by: imp Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Thu Aug 20 18:50:46 2020 (r364435) +++ head/ObsoleteFiles.inc Thu Aug 20 19:14:53 2020 (r364436) @@ -36,6 +36,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20200820: Removal of the ufm driver. +OLD_FILES+=usr/share/man/man4/ufm.4.gz + # 20200816: new clang import which bumps version from 10.0.1 to 11.0.0. OLD_FILES+=usr/lib/clang/10.0.1/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/10.0.1/include/cuda_wrappers/complex From owner-svn-src-all@freebsd.org Thu Aug 20 19:24:50 2020 Return-Path: Delivered-To: svn-src-all@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 4D3C03C64FD; Thu, 20 Aug 2020 19:24:50 +0000 (UTC) (envelope-from bdragon@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 4BXZNL1DSTz3cHn; Thu, 20 Aug 2020 19:24:50 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from auth2-smtp.messagingengine.com (auth2-smtp.messagingengine.com [66.111.4.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: bdragon/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 07E89223B1; Thu, 20 Aug 2020 19:24:50 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailauth.nyi.internal (Postfix) with ESMTP id A610827C0054; Thu, 20 Aug 2020 15:24:49 -0400 (EDT) Received: from imap1 ([10.202.2.51]) by compute4.internal (MEProxy); Thu, 20 Aug 2020 15:24:49 -0400 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedruddutddgkeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffucdluddtmdenucfjughrpefofg ggkfgjfhffhffvufgtsehttdertderredtnecuhfhrohhmpedfuehrrghnughonhcuuegv rhhgrhgvnhdfuceosggurhgrghhonheshfhrvggvuefuffdrohhrgheqnecuggftrfgrth htvghrnhepteetleffuddvtddtuedvhfefheejvddvgfdvkedvfeethfegkedvkeelveeu vddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsg gurhgrghhonhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidquddtgedvfeeh keeigedqudekuddtkeehuddqsggurhgrghhonheppefhrhgvvgeuufffrdhorhhgsehimh grphdrtggt X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 658ADC200A6; Thu, 20 Aug 2020 15:24:49 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-214-g5a29d88-fm-20200818.002-g5a29d882 Mime-Version: 1.0 Message-Id: In-Reply-To: <202008201850.07KIokXB063333@repo.freebsd.org> References: <202008201850.07KIokXB063333@repo.freebsd.org> Date: Thu, 20 Aug 2020 14:23:34 -0500 From: "Brandon Bergren" To: "Dimitry Andric" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364435 - head/usr.sbin/kldxref Content-Type: text/plain X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 19:24:50 -0000 > Note that we may still do some tweaking of our kernel linker scripts, to > lower the number of segments, although the exact benefit is not entirely > clear. > No real benefit, except for when using loading via sources other than loader(8). If any platforms other than powerpc64 need this, they can get full control over the image generation with the PHDRS directive like we do there. IIRC there are benefits to *having* more segments on i386/amd64 as it makes link_elf_protect() more effective in some cases. -- Brandon Bergren bdragon@FreeBSD.org From owner-svn-src-all@freebsd.org Thu Aug 20 19:27:50 2020 Return-Path: Delivered-To: svn-src-all@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 836903C6679; Thu, 20 Aug 2020 19:27:50 +0000 (UTC) (envelope-from markj@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 4BXZRp3HWkz3cvC; Thu, 20 Aug 2020 19:27:50 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5525F196C0; Thu, 20 Aug 2020 19:27:50 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KJRofj088775; Thu, 20 Aug 2020 19:27:50 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KJRoUm088774; Thu, 20 Aug 2020 19:27:50 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008201927.07KJRoUm088774@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 20 Aug 2020 19:27:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364437 - head/cddl/contrib/opensolaris/lib/libdtrace/common X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/cddl/contrib/opensolaris/lib/libdtrace/common X-SVN-Commit-Revision: 364437 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 19:27:50 -0000 Author: markj Date: Thu Aug 20 19:27:49 2020 New Revision: 364437 URL: https://svnweb.freebsd.org/changeset/base/364437 Log: Remove non-FreeBSD ifdefs from dt_link.c. This file is too complicated as it is and has diverged a fair bit from illumos due to toolchain differences, so just drop unused code (including SPARC support). MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu Aug 20 19:14:53 2020 (r364436) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu Aug 20 19:27:49 2020 (r364437) @@ -25,38 +25,23 @@ * Copyright 2017-2018 Mark Johnston */ -#pragma ident "%Z%%M% %I% %E% SMI" +#include +#include +#include -#define ELF_TARGET_ALL +#include #include - -#include -#ifdef illumos -#include -#else -#define P2ROUNDUP(x, align) (-(-(x) & -(align))) -#endif - -#include -#include -#ifdef illumos -#include -#endif +#include +#include #include #include -#include #include -#include +#include +#include #include -#ifdef illumos -#include -#else -#include +#include + #include -#include -#include -#endif -#include #include #include @@ -82,11 +67,7 @@ static const char DTRACE_SHSTRTAB32[] = "\0" ".SUNW_dof\0" /* 11 */ ".strtab\0" /* 21 */ ".symtab\0" /* 29 */ -#ifdef __sparc -".rela.SUNW_dof"; /* 37 */ -#else ".rel.SUNW_dof"; /* 37 */ -#endif static const char DTRACE_SHSTRTAB64[] = "\0" ".shstrtab\0" /* 1 */ @@ -106,11 +87,7 @@ typedef struct dt_link_pair { typedef struct dof_elf32 { uint32_t de_nrel; /* relocation count */ -#ifdef __sparc - Elf32_Rela *de_rel; /* array of relocations for sparc */ -#else Elf32_Rel *de_rel; /* array of relocations for x86 */ -#endif uint32_t de_nsym; /* symbol count */ Elf32_Sym *de_sym; /* array of symbols */ uint32_t de_strlen; /* size of of string table */ @@ -130,11 +107,7 @@ prepare_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, uint32_t count = 0; size_t base; Elf32_Sym *sym; -#ifdef __sparc - Elf32_Rela *rel; -#else Elf32_Rel *rel; -#endif /*LINTED*/ dofs = (dof_sec_t *)((char *)dof + dof->dofh_secoff); @@ -324,11 +297,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, char *strtab; int i, j, nrel; size_t strtabsz = 1; -#ifdef illumos - uint32_t count = 0; -#else uint64_t count = 0; -#endif size_t base; Elf64_Sym *sym; Elf64_Rela *rel; @@ -530,9 +499,7 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in #else elf_file.ehdr.e_ident[EI_DATA] = ELFDATA2LSB; #endif -#if defined(__FreeBSD__) elf_file.ehdr.e_ident[EI_OSABI] = ELFOSABI_FREEBSD; -#endif elf_file.ehdr.e_type = ET_REL; #if defined(__arm__) elf_file.ehdr.e_machine = EM_ARM; @@ -540,8 +507,6 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in elf_file.ehdr.e_machine = EM_MIPS; #elif defined(__powerpc__) elf_file.ehdr.e_machine = EM_PPC; -#elif defined(__sparc) - elf_file.ehdr.e_machine = EM_SPARC; #elif defined(__i386) || defined(__amd64) elf_file.ehdr.e_machine = EM_386; #elif defined(__aarch64__) @@ -562,7 +527,7 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in shp->sh_offset = off; shp->sh_size = sizeof (DTRACE_SHSTRTAB32); shp->sh_addralign = sizeof (char); - off = P2ROUNDUP(shp->sh_offset + shp->sh_size, 8); + off = roundup2(shp->sh_offset + shp->sh_size, 8); shp = &elf_file.shdr[ESHDR_DOF]; shp->sh_name = 11; /* DTRACE_SHSTRTAB32[11] = ".SUNW_dof" */ @@ -580,7 +545,7 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in shp->sh_offset = off; shp->sh_size = de.de_strlen; shp->sh_addralign = sizeof (char); - off = P2ROUNDUP(shp->sh_offset + shp->sh_size, 4); + off = roundup2(shp->sh_offset + shp->sh_size, 4); shp = &elf_file.shdr[ESHDR_SYMTAB]; shp->sh_name = 29; /* DTRACE_SHSTRTAB32[29] = ".symtab" */ @@ -592,7 +557,7 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in shp->sh_info = de.de_global; shp->sh_size = de.de_nsym * sizeof (Elf32_Sym); shp->sh_addralign = 4; - off = P2ROUNDUP(shp->sh_offset + shp->sh_size, 4); + off = roundup2(shp->sh_offset + shp->sh_size, 4); if (de.de_nrel == 0) { if (dt_write(dtp, fd, &elf_file, @@ -607,11 +572,7 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in shp = &elf_file.shdr[ESHDR_REL]; shp->sh_name = 37; /* DTRACE_SHSTRTAB32[37] = ".rel.SUNW_dof" */ shp->sh_flags = SHF_ALLOC; -#ifdef __sparc - shp->sh_type = SHT_RELA; -#else shp->sh_type = SHT_REL; -#endif shp->sh_entsize = sizeof (de.de_rel[0]); shp->sh_link = ESHDR_SYMTAB; shp->sh_info = ESHDR_DOF; @@ -678,9 +639,7 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in #else elf_file.ehdr.e_ident[EI_DATA] = ELFDATA2LSB; #endif -#if defined(__FreeBSD__) elf_file.ehdr.e_ident[EI_OSABI] = ELFOSABI_FREEBSD; -#endif elf_file.ehdr.e_type = ET_REL; #if defined(__arm__) elf_file.ehdr.e_machine = EM_ARM; @@ -691,8 +650,6 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in elf_file.ehdr.e_flags = 2; #endif elf_file.ehdr.e_machine = EM_PPC64; -#elif defined(__sparc) - elf_file.ehdr.e_machine = EM_SPARCV9; #elif defined(__i386) || defined(__amd64) elf_file.ehdr.e_machine = EM_AMD64; #elif defined(__aarch64__) @@ -713,7 +670,7 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in shp->sh_offset = off; shp->sh_size = sizeof (DTRACE_SHSTRTAB64); shp->sh_addralign = sizeof (char); - off = P2ROUNDUP(shp->sh_offset + shp->sh_size, 8); + off = roundup2(shp->sh_offset + shp->sh_size, 8); shp = &elf_file.shdr[ESHDR_DOF]; shp->sh_name = 11; /* DTRACE_SHSTRTAB64[11] = ".SUNW_dof" */ @@ -731,7 +688,7 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in shp->sh_offset = off; shp->sh_size = de.de_strlen; shp->sh_addralign = sizeof (char); - off = P2ROUNDUP(shp->sh_offset + shp->sh_size, 8); + off = roundup2(shp->sh_offset + shp->sh_size, 8); shp = &elf_file.shdr[ESHDR_SYMTAB]; shp->sh_name = 29; /* DTRACE_SHSTRTAB64[29] = ".symtab" */ @@ -743,7 +700,7 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, in shp->sh_info = de.de_global; shp->sh_size = de.de_nsym * sizeof (Elf64_Sym); shp->sh_addralign = 8; - off = P2ROUNDUP(shp->sh_offset + shp->sh_size, 8); + off = roundup2(shp->sh_offset + shp->sh_size, 8); if (de.de_nrel == 0) { if (dt_write(dtp, fd, &elf_file, @@ -984,133 +941,7 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, __FILE__, __LINE__); return (-1); } -#elif defined(__sparc) -#define DT_OP_RET 0x81c7e008 -#define DT_OP_NOP 0x01000000 -#define DT_OP_CALL 0x40000000 -#define DT_OP_CLR_O0 0x90102000 - -#define DT_IS_MOV_O7(inst) (((inst) & 0xffffe000) == 0x9e100000) -#define DT_IS_RESTORE(inst) (((inst) & 0xc1f80000) == 0x81e80000) -#define DT_IS_RETL(inst) (((inst) & 0xfff83fff) == 0x81c02008) - -#define DT_RS2(inst) ((inst) & 0x1f) -#define DT_MAKE_RETL(reg) (0x81c02008 | ((reg) << 14)) - -/*ARGSUSED*/ -static int -dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, - uint32_t *off) -{ - uint32_t *ip; - - if ((rela->r_offset & (sizeof (uint32_t) - 1)) != 0) - return (-1); - - /*LINTED*/ - ip = (uint32_t *)(p + rela->r_offset); - - /* - * We only know about some specific relocation types. - */ - if (GELF_R_TYPE(rela->r_info) != R_SPARC_WDISP30 && - GELF_R_TYPE(rela->r_info) != R_SPARC_WPLT30) - return (-1); - - /* - * We may have already processed this object file in an earlier linker - * invocation. Check to see if the present instruction sequence matches - * the one we would install below. - */ - if (isenabled) { - if (ip[0] == DT_OP_NOP) { - (*off) += sizeof (ip[0]); - return (0); - } - } else { - if (DT_IS_RESTORE(ip[1])) { - if (ip[0] == DT_OP_RET) { - (*off) += sizeof (ip[0]); - return (0); - } - } else if (DT_IS_MOV_O7(ip[1])) { - if (DT_IS_RETL(ip[0])) - return (0); - } else { - if (ip[0] == DT_OP_NOP) { - (*off) += sizeof (ip[0]); - return (0); - } - } - } - - /* - * We only expect call instructions with a displacement of 0. - */ - if (ip[0] != DT_OP_CALL) { - dt_dprintf("found %x instead of a call instruction at %llx\n", - ip[0], (u_longlong_t)rela->r_offset); - return (-1); - } - - if (isenabled) { - /* - * It would necessarily indicate incorrect usage if an is- - * enabled probe were tail-called so flag that as an error. - * It's also potentially (very) tricky to handle gracefully, - * but could be done if this were a desired use scenario. - */ - if (DT_IS_RESTORE(ip[1]) || DT_IS_MOV_O7(ip[1])) { - dt_dprintf("tail call to is-enabled probe at %llx\n", - (u_longlong_t)rela->r_offset); - return (-1); - } - - - /* - * On SPARC, we take advantage of the fact that the first - * argument shares the same register as for the return value. - * The macro handles the work of zeroing that register so we - * don't need to do anything special here. We instrument the - * instruction in the delay slot as we'll need to modify the - * return register after that instruction has been emulated. - */ - ip[0] = DT_OP_NOP; - (*off) += sizeof (ip[0]); - } else { - /* - * If the call is followed by a restore, it's a tail call so - * change the call to a ret. If the call if followed by a mov - * of a register into %o7, it's a tail call in leaf context - * so change the call to a retl-like instruction that returns - * to that register value + 8 (rather than the typical %o7 + - * 8); the delay slot instruction is left, but should have no - * effect. Otherwise we change the call to be a nop. We - * identify the subsequent instruction as the probe point in - * all but the leaf tail-call case to ensure that arguments to - * the probe are complete and consistent. An astute, though - * largely hypothetical, observer would note that there is the - * possibility of a false-positive probe firing if the function - * contained a branch to the instruction in the delay slot of - * the call. Fixing this would require significant in-kernel - * modifications, and isn't worth doing until we see it in the - * wild. - */ - if (DT_IS_RESTORE(ip[1])) { - ip[0] = DT_OP_RET; - (*off) += sizeof (ip[0]); - } else if (DT_IS_MOV_O7(ip[1])) { - ip[0] = DT_MAKE_RETL(DT_RS2(ip[1])); - } else { - ip[0] = DT_OP_NOP; - (*off) += sizeof (ip[0]); - } - } - - return (0); -} - #elif defined(__i386) || defined(__amd64) #define DT_OP_NOP 0x90 @@ -1334,8 +1165,6 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e #if !defined(_CALL_ELF) || _CALL_ELF == 1 uses_funcdesc = 1; #endif -#elif defined(__sparc) - emachine1 = emachine2 = EM_SPARCV9; #elif defined(__i386) || defined(__amd64) emachine1 = emachine2 = EM_AMD64; #elif defined(__aarch64__) @@ -1350,9 +1179,6 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e emachine1 = emachine2 = EM_MIPS; #elif defined(__powerpc__) emachine1 = emachine2 = EM_PPC; -#elif defined(__sparc) - emachine1 = EM_SPARC; - emachine2 = EM_SPARC32PLUS; #elif defined(__i386) || defined(__amd64) emachine1 = emachine2 = EM_386; #endif @@ -1716,7 +1542,7 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e return (dt_link_error(dtp, elf, fd, bufs, "failed to allocate space for probe")); } -#ifndef illumos + /* * Our linker doesn't understand the SUNW_IGNORE ndx and * will try to use this relocation when we build the @@ -1738,7 +1564,6 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e rel.r_info = 0; (void) gelf_update_rel(data_rel, i, &rel); } -#endif mod = 1; (void) elf_flagdata(data_tgt, ELF_C_SET, ELF_F_DIRTY); @@ -1750,11 +1575,8 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e * already been processed by an earlier link * invocation. */ -#ifndef illumos -#define SHN_SUNW_IGNORE SHN_ABS -#endif - if (rsym.st_shndx != SHN_SUNW_IGNORE) { - rsym.st_shndx = SHN_SUNW_IGNORE; + if (rsym.st_shndx != SHN_ABS) { + rsym.st_shndx = SHN_ABS; (void) gelf_update_sym(data_sym, ndx, &rsym); } } @@ -1784,9 +1606,7 @@ int dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t *pgp, uint_t dflags, const char *file, int objc, char *const objv[]) { -#ifndef illumos char tfile[PATH_MAX]; -#endif char drti[PATH_MAX]; dof_hdr_t *dof; int fd, status, i, cur; @@ -1794,7 +1614,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t * size_t len; int eprobes = 0, ret = 0; -#ifndef illumos if (access(file, R_OK) == 0) { fprintf(stderr, "dtrace: target object (%s) already exists. " "Please remove the target\ndtrace: object and rebuild all " @@ -1807,7 +1626,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t * */ return (0); } -#endif /* * A NULL program indicates a special use in which we just link @@ -1870,23 +1688,11 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t * if ((dof = dtrace_dof_create(dtp, pgp, dflags)) == NULL) return (-1); /* errno is set for us */ -#ifdef illumos - /* - * Create a temporary file and then unlink it if we're going to - * combine it with drti.o later. We can still refer to it in child - * processes as /dev/fd/. - */ - if ((fd = open64(file, O_RDWR | O_CREAT | O_TRUNC, 0666)) == -1) { - return (dt_link_error(dtp, NULL, -1, NULL, - "failed to open %s: %s", file, strerror(errno))); - } -#else snprintf(tfile, sizeof(tfile), "%s.XXXXXX", file); if ((fd = mkostemp(tfile, O_CLOEXEC)) == -1) return (dt_link_error(dtp, NULL, -1, NULL, "failed to create temporary file %s: %s", tfile, strerror(errno))); -#endif /* * If -xlinktype=DOF has been selected, just write out the DOF. @@ -1916,47 +1722,17 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t * } -#ifdef illumos - if (!dtp->dt_lazyload) - (void) unlink(file); -#endif - if (dtp->dt_oflags & DTRACE_O_LP64) status = dump_elf64(dtp, dof, fd); else status = dump_elf32(dtp, dof, fd); -#ifdef illumos - if (status != 0 || lseek(fd, 0, SEEK_SET) != 0) { - return (dt_link_error(dtp, NULL, -1, NULL, - "failed to write %s: %s", file, strerror(errno))); - } -#else if (status != 0) return (dt_link_error(dtp, NULL, -1, NULL, "failed to write %s: %s", tfile, strerror(dtrace_errno(dtp)))); -#endif if (!dtp->dt_lazyload) { -#ifdef illumos - const char *fmt = "%s -o %s -r -Blocal -Breduce /dev/fd/%d %s"; - - if (dtp->dt_oflags & DTRACE_O_LP64) { - (void) snprintf(drti, sizeof (drti), - "%s/64/drti.o", _dtrace_libdir); - } else { - (void) snprintf(drti, sizeof (drti), - "%s/drti.o", _dtrace_libdir); - } - - len = snprintf(&tmp, 1, fmt, dtp->dt_ld_path, file, fd, - drti) + 1; - - cmd = alloca(len); - - (void) snprintf(cmd, len, fmt, dtp->dt_ld_path, file, fd, drti); -#else const char *fmt = "%s -o %s -r %s %s"; dt_dirpath_t *dp = dt_list_next(&dtp->dt_lib_path); @@ -1969,7 +1745,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t * (void) snprintf(cmd, len, fmt, dtp->dt_ld_path, file, tfile, drti); -#endif if ((status = system(cmd)) == -1) { ret = dt_link_error(dtp, NULL, fd, NULL, "failed to run %s: %s", dtp->dt_ld_path, @@ -1992,7 +1767,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t * } (void) close(fd); /* release temporary file */ -#ifdef __FreeBSD__ /* * Now that we've linked drti.o, reduce the global __SUNW_dof * symbol to a local symbol. This is needed to so that multiple @@ -2025,25 +1799,20 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t * file, dtp->dt_objcopy_path, WEXITSTATUS(status)); goto done; } -#endif } else { -#ifdef __FreeBSD__ if (rename(tfile, file) != 0) { ret = dt_link_error(dtp, NULL, fd, NULL, "failed to rename %s to %s: %s", tfile, file, strerror(errno)); goto done; } -#endif (void) close(fd); } done: dtrace_dof_destroy(dtp, dof); -#ifdef __FreeBSD__ if (!dtp->dt_lazyload) (void) unlink(tfile); -#endif return (ret); } From owner-svn-src-all@freebsd.org Thu Aug 20 19:28:20 2020 Return-Path: Delivered-To: svn-src-all@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 923653C6996; Thu, 20 Aug 2020 19:28:20 +0000 (UTC) (envelope-from markj@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 4BXZSN3Q3Lz3clN; Thu, 20 Aug 2020 19:28:20 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5987F18E73; Thu, 20 Aug 2020 19:28:20 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KJSKXU088882; Thu, 20 Aug 2020 19:28:20 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KJSJfP088877; Thu, 20 Aug 2020 19:28:19 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008201928.07KJSJfP088877@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 20 Aug 2020 19:28:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364438 - in head/cddl: contrib/opensolaris/lib/libdtrace/common usr.sbin/dtrace/tests/tools X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in head/cddl: contrib/opensolaris/lib/libdtrace/common usr.sbin/dtrace/tests/tools X-SVN-Commit-Revision: 364438 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 19:28:20 -0000 Author: markj Date: Thu Aug 20 19:28:19 2020 New Revision: 364438 URL: https://svnweb.freebsd.org/changeset/base/364438 Log: Enable creation of static userspace probes in incremental builds. To define USDT probes, dtrace -G makes use of relocations for undefined symbols: the target address is overwritten with NOPs and the location is recorded in the DOF section of the output object file. To avoid link errors, the original relocation is destroyed. However, this means that the same input object file cannot be processed multiple times, as happens during incremental rebuilds. Instead, only set the relocation type to NONE, so that all information required to reconstruct USDT probes is preserved. Reported by: bdrewery MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu Aug 20 19:27:49 2020 (r364437) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu Aug 20 19:28:19 2020 (r364438) @@ -773,6 +773,7 @@ dt_symtab_lookup(Elf_Data *data_sym, int start, int en #define DT_OP_RET 0xd65f03c0 #define DT_OP_CALL26 0x94000000 #define DT_OP_JUMP26 0x14000000 +#define DT_REL_NONE R_AACH64_NONE static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, @@ -831,7 +832,8 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, return (0); } #elif defined(__arm__) -/* XXX */ +#define DT_REL_NONE R_ARM_NONE + static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, uint32_t *off) @@ -841,7 +843,8 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, return (-1); } #elif defined(__mips__) -/* XXX */ +#define DT_REL_NONE R_MIPS_NONE + static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, uint32_t *off) @@ -861,7 +864,8 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, #define DT_IS_BRANCH(inst) ((inst & 0xfc000000) == 0x48000000) #define DT_IS_BL(inst) (DT_IS_BRANCH(inst) && (inst & 0x01)) -/* XXX */ +#define DT_REL_NONE R_PPC_NONE + static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, uint32_t *off) @@ -878,7 +882,8 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, * We only know about some specific relocation types. */ if (GELF_R_TYPE(rela->r_info) != R_PPC_REL24 && - GELF_R_TYPE(rela->r_info) != R_PPC_PLTREL24) + GELF_R_TYPE(rela->r_info) != R_PPC_PLTREL24 && + GELF_R_TYPE(rela->r_info) != R_PPC_NONE) return (-1); /* @@ -932,7 +937,7 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, return (0); } #elif defined(__riscv) -/* XXX */ +#define DT_REL_NONE R_RISCV_NONE static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, uint32_t *off) @@ -952,6 +957,8 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, #define DT_OP_XOR_EAX_0 0x33 #define DT_OP_XOR_EAX_1 0xc0 +#define DT_REL_NONE R_386_NONE + static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, uint32_t *off) @@ -974,7 +981,8 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, * x86 architectures. */ if (GELF_R_TYPE(rela->r_info) != R_386_PC32 && - GELF_R_TYPE(rela->r_info) != R_386_PLT32) + GELF_R_TYPE(rela->r_info) != R_386_PLT32 && + GELF_R_TYPE(rela->r_info) != R_386_NONE) return (-1); /* @@ -1273,6 +1281,11 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e * We take a first pass through all the relocations to * populate our string table and count the number of extra * symbols we'll require. + * + * We also handle the case where the object has already been + * processed, to support incremental rebuilds. Relocations + * of interest are converted to type NONE, but all information + * needed to reconstruct the output DOF is retained. */ strtab = dt_strtab_create(1); nsym = 0; @@ -1280,7 +1293,6 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e istr = data_str->d_size; for (i = 0; i < shdr_rel.sh_size / shdr_rel.sh_entsize; i++) { - if (shdr_rel.sh_type == SHT_RELA) { if (gelf_getrela(data_rel, i, &rela) == NULL) continue; @@ -1345,7 +1357,12 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e objkey, s); if (dt_strtab_index(strtab, p) == -1) { - nsym++; + /* + * Do not add new symbols if this object file + * has already been processed. + */ + if (GELF_R_TYPE(rela.r_info) != DT_REL_NONE) + nsym++; (void) dt_strtab_insert(strtab, p); } @@ -1353,13 +1370,14 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e } /* - * If any probes were found, allocate the additional space for - * the symbol table and string table, copying the old data into - * the new buffers, and marking the buffers as dirty. We inject - * those newly allocated buffers into the libelf data + * If any new probes were found, allocate the additional space + * for the symbol table and string table, copying the old data + * into the new buffers, and marking the buffers as dirty. We + * inject those newly allocated buffers into the libelf data * structures, but are still responsible for freeing them once * we're done with the elf handle. */ + osym = isym; if (nsym > 0) { /* * The first byte of the string table is reserved for @@ -1411,9 +1429,8 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e shdr_sym.sh_size += nsym * symsize; (void) gelf_update_shdr(scn_sym, &shdr_sym); - osym = isym; nsym += isym; - } else { + } else if (dt_strtab_empty(strtab)) { dt_strtab_destroy(strtab); continue; } @@ -1423,7 +1440,6 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e * modifications described above. */ for (i = 0; i < shdr_rel.sh_size / shdr_rel.sh_entsize; i++) { - if (shdr_rel.sh_type == SHT_RELA) { if (gelf_getrela(data_rel, i, &rela) == NULL) continue; @@ -1490,32 +1506,51 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e bind = GELF_ST_BIND(fsym.st_info) == STB_WEAK ? STB_WEAK : STB_GLOBAL; - - /* - * Emit an alias for the symbol. It needs to be - * non-preemptible so that .SUNW_dof relocations - * may be resolved at static link time. Aliases - * of weak symbols are given a non-unique name - * so that they may be merged by the linker. - */ - dsym = fsym; - dsym.st_name = istr; - dsym.st_info = GELF_ST_INFO(bind, STT_FUNC); - dsym.st_other = GELF_ST_VISIBILITY(STV_HIDDEN); - (void) gelf_update_sym(data_sym, isym, &dsym); - r = (char *) data_str->d_buf + istr; s = (char *) data_str->d_buf + fsym.st_name; - if (bind == STB_WEAK) - istr += sprintf(r, dt_weaksymfmt, - dt_symprefix, s); - else - istr += sprintf(r, dt_symfmt, - dt_symprefix, objkey, s); - istr++; - isym++; - assert(isym <= nsym); - } else + if (GELF_R_TYPE(rela.r_info) != DT_REL_NONE) { + /* + * Emit an alias for the symbol. It + * needs to be non-preemptible so that + * .SUNW_dof relocations may be resolved + * at static link time. Aliases of weak + * symbols are given a non-unique name + * so that they may be merged by the + * linker. + */ + dsym = fsym; + dsym.st_name = istr; + dsym.st_info = GELF_ST_INFO(bind, + STT_FUNC); + dsym.st_other = + GELF_ST_VISIBILITY(STV_HIDDEN); + (void) gelf_update_sym(data_sym, isym, + &dsym); + isym++; + assert(isym <= nsym); + + r = (char *) data_str->d_buf + istr; + if (bind == STB_WEAK) { + istr += sprintf(r, + dt_weaksymfmt, dt_symprefix, + s); + } else { + istr += sprintf(r, dt_symfmt, + dt_symprefix, objkey, s); + } + istr++; + } else { + if (bind == STB_WEAK) { + (void) asprintf(&r, + dt_weaksymfmt, dt_symprefix, + s); + } else { + (void) asprintf(&r, dt_symfmt, + dt_symprefix, objkey, s); + } + } + } else { goto err; + } if ((pvp = dt_provider_lookup(dtp, pname)) == NULL) { return (dt_link_error(dtp, elf, fd, bufs, @@ -1544,24 +1579,18 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e } /* - * Our linker doesn't understand the SUNW_IGNORE ndx and - * will try to use this relocation when we build the - * final executable. Since we are done processing this - * relocation, mark it as inexistant and let libelf - * remove it from the file. - * If this wasn't done, we would have garbage added to - * the executable file as the symbol is going to be - * change from UND to ABS. + * We are done with this relocation, but it must be + * preserved in order to support incremental rebuilds. */ if (shdr_rel.sh_type == SHT_RELA) { - rela.r_offset = 0; - rela.r_info = 0; - rela.r_addend = 0; + rela.r_info = + GELF_R_INFO(GELF_R_SYM(rela.r_info), 0); (void) gelf_update_rela(data_rel, i, &rela); } else { GElf_Rel rel; - rel.r_offset = 0; - rel.r_info = 0; + rel.r_offset = rela.r_offset; + rela.r_info = + GELF_R_INFO(GELF_R_SYM(rela.r_info), 0); (void) gelf_update_rel(data_rel, i, &rel); } @@ -1613,19 +1642,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t * char *cmd, tmp; size_t len; int eprobes = 0, ret = 0; - - if (access(file, R_OK) == 0) { - fprintf(stderr, "dtrace: target object (%s) already exists. " - "Please remove the target\ndtrace: object and rebuild all " - "the source objects if you wish to run the DTrace\n" - "dtrace: linking process again\n", file); - /* - * Several build infrastructures run DTrace twice (e.g. - * postgres) and we don't want the build to fail. Return - * 0 here since this isn't really a fatal error. - */ - return (0); - } /* * A NULL program indicates a special use in which we just link Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c Thu Aug 20 19:27:49 2020 (r364437) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c Thu Aug 20 19:28:19 2020 (r364438) @@ -206,6 +206,13 @@ err: return (-1); } +boolean_t +dt_strtab_empty(dt_strtab_t *sp) +{ + /* Always contains "\0". */ + return (sp->str_nstrs == 1); +} + ssize_t dt_strtab_index(dt_strtab_t *sp, const char *str) { Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h ============================================================================== --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h Thu Aug 20 19:27:49 2020 (r364437) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h Thu Aug 20 19:28:19 2020 (r364438) @@ -58,6 +58,7 @@ typedef ssize_t dt_strtab_write_f(const char *, size_t extern dt_strtab_t *dt_strtab_create(size_t); extern void dt_strtab_destroy(dt_strtab_t *); +extern boolean_t dt_strtab_empty(dt_strtab_t *); extern ssize_t dt_strtab_index(dt_strtab_t *, const char *); extern ssize_t dt_strtab_insert(dt_strtab_t *, const char *); extern size_t dt_strtab_size(const dt_strtab_t *); Modified: head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh ============================================================================== --- head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh Thu Aug 20 19:27:49 2020 (r364437) +++ head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh Thu Aug 20 19:28:19 2020 (r364438) @@ -201,10 +201,6 @@ exclude EXFAIL common/usdt/tst.eliminate.ksh # Generated headers include , so _DTRACE_VERSION is always defined. exclude EXFAIL common/usdt/tst.nodtrace.ksh -# The second dtrace -G invocation returns an error with "no probes found," which -# makes sense to me. Not yet sure what the expected behaviour is here. -exclude EXFAIL common/usdt/tst.static2.ksh - # Uses the Solaris-specific ppriv(1). exclude EXFAIL common/usdt/tst.user.ksh From owner-svn-src-all@freebsd.org Thu Aug 20 19:42:07 2020 Return-Path: Delivered-To: svn-src-all@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 12C7C3C6DF3 for ; Thu, 20 Aug 2020 19:42:07 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x832.google.com (mail-qt1-x832.google.com [IPv6:2607:f8b0:4864:20::832]) (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 4BXZmF4Y1Jz3dpx for ; Thu, 20 Aug 2020 19:42:05 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x832.google.com with SMTP id w9so2072819qts.6 for ; Thu, 20 Aug 2020 12:42:05 -0700 (PDT) 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=YcTkYy60VPc47uInQucGjEO+oHUq8ZRefthk2h8s2AM=; b=yHoKSxeQANGlOwBEtmrb2ZUwL24IqqC+clTmqGr8r187ELJ9MvdC1BaBtLRYWivK9Q GFIMkYf8q5DQf6N0KzXOObZo8gjNakLsJwtvrg8eyTuDYDZsbxNItGBDUhVOQDm6ZMM1 i3qRrse6f5EwVlK5P1bViEHJQXLOYPdcS7K2IsB+7Q2un6FwFg742VRrb08GVT4UANo4 rBpFWjyFae4WrK8JbMYbmVb1vd1dHLQYdEL75XPUwtOwR8IxYOA0vLQUKVVwi8GejMwM lFNzgFc5+wr7O6CC4FyxnRDSCY3aht+KB49j3pMeEGl7hyI/Ogk1S+FELtk8iPmGdnhj mT3w== 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=YcTkYy60VPc47uInQucGjEO+oHUq8ZRefthk2h8s2AM=; b=rCrNauEJY8AEb0QF9MhuksotKRDnDPV0ITaCR5R88UKf4wL/RyzWR5fhEh22RWVi8P rZEMb06sQwHA4OiTsB82MYChIXUk6I3ht2uKgP1WEWQ+tjPUuxsFOdM+SVO2lDJOAJE3 OX2U+3UmFRfec+QGtL/suXXu6MFzeQaBRNIQ/l3f7lWHKxEa4sKEW8gGU0mVJksgbZzy /8DHW3XDW+COMacMplAw1FfvziOOCFQDhvF/wKEbhP54n0RUKopzdTR8CA3qWSrra5fH FS+/nzGpJWFvTzBcKb+vHHOpToGU2eqABw0IePRJDeE1q6+R3RROk2ArOvuUM+0RKx/R 1ZDA== X-Gm-Message-State: AOAM531IvKV9X7BR17HQyOHExJg6IdMIAa4V+ejNChSBeu0pcSv8SSfC J6tr91cNXxmV4lYqrbHTM46SWCXoHD876lGkFRpviVrUBxw= X-Google-Smtp-Source: ABdhPJxQvviLOby7p68zEtQ6iBRxF1SohvSso84FSgpxVE3fc682fUE0uQPso5bhM2LIaugSy48wH7D12oIEiVcupAY= X-Received: by 2002:ac8:47c8:: with SMTP id d8mr164856qtr.32.1597952524380; Thu, 20 Aug 2020 12:42:04 -0700 (PDT) MIME-Version: 1.0 References: <202008201719.07KHJe8A007482@repo.freebsd.org> <202008201913.07KJDf63076082@gndrsh.dnsmgr.net> In-Reply-To: <202008201913.07KJDf63076082@gndrsh.dnsmgr.net> From: Warner Losh Date: Thu, 20 Aug 2020 13:41:53 -0600 Message-ID: Subject: Re: svn commit: r364430 - in head: share/man/man4 sys/dev/an sys/dev/ata sys/dev/cmx sys/dev/fdc sys/dev/if_ndis sys/dev/puc sys/dev/uart sys/dev/wi sys/netgraph/bluetooth/drivers/bt3c To: "Rodney W. Grimes" Cc: Warner Losh , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 4BXZmF4Y1Jz3dpx X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=yHoKSxeQ; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::832) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-0.42 / 15.00]; ARC_NA(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; NEURAL_HAM_MEDIUM(-0.49)[-0.492]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.07)[0.073]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::832:from]; R_SPF_NA(0.00)[no SPF record]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 19:42:07 -0000 On Thu, Aug 20, 2020 at 1:13 PM Rodney W. Grimes wrote: > > Author: imp > > Date: Thu Aug 20 17:19:40 2020 > > New Revision: 364430 > > URL: https://svnweb.freebsd.org/changeset/base/364430 > > > > Log: > > Tag pccard drivers with gone in 13. > > > > MFC After: 3 days > > Reviewed by: emaste, brooks, adrian (on twitter) > > Differential Revision: https://reviews.freebsd.org/D26095 > > > > Modified: > > head/share/man/man4/an.4 > > This device has a PCI version, so why is it going away with PC card? > Typically these are plx9050 bridge cards which makes the AN device > appear like any other PCI device. > Because it is no longer relevant. The device that an supports was a relatively rare mini-pci version of the card that was sold for maybe a year in a few laptops before those designed moved on to the atheros cards. It couldn't do the newer crypto, nor the newer than 802.11b standard. Since the crypto it could to was flabwed and long since abandoned, most of these cards were replaced by some variation of atheros cards by FreeBSD since they were usually a drop-in replacement. IIRC, there was no raw interface for this card, so you were stuck with what the firmware did and Cisco never produced a newer firmware. > It looks as if you only tagged if_an_pccard.c, so the man page > change is all that is wrong. > I just didn't tag the if_an_pci.c version too. > > head/share/man/man4/ata.4 > > head/share/man/man4/cmx.4 > > head/share/man/man4/fdc.4 > > head/share/man/man4/ndis.4 > > head/share/man/man4/ng_bt3c.4 > > head/share/man/man4/pccard.4 > > head/share/man/man4/puc.4 > > head/share/man/man4/uart.4 > > head/share/man/man4/wi.4 > > These are also often plx9050 based, and your only doing > the if_wi_pccard.c file, so probably also a man page error. > Some here. I got Adrian's approval for wi specifically. These are just too old and don't support the relevant standards. The PCI attachments were relatively rare in the day for both of these devices (though the wi ones were a little more common than than an ones). Usually wi got connected to the PCI bus via a full PCMCIA/CardBus bridge since those were off-the-shelf components that the makers of these cards shifted too when then one-off PLX solution ran out of steam. The wi cards theoretically could be updated to the new crypto standards, but nobody has bothered to do that for the FreeBSD driver in the 15 or so years since they became necessary. I'll update the pci attachment code for wi too, since it's not worth keeping around. Adrian has volunteered to create a port and put it on github if anybody is actually still using this card. Though Adrian has also said that there's a fair amount of cleanup we could do to the 802.11 stack if we were to get rid of all the old 802.11b-only cards. wi and an were the last two as far as I can tell... I get that these were once quite popular and ubiquitous. But it's 15 years later and they don't follow enough of the standards to be a viable option for all but the most niche deployments. And those niche deployments do not buy us enough to be worth the bother. Warner > > head/sys/dev/an/if_an_pccard.c > > head/sys/dev/ata/ata-card.c > > head/sys/dev/cmx/cmx_pccard.c > > head/sys/dev/fdc/fdc_pccard.c > > head/sys/dev/if_ndis/if_ndis_pccard.c > > head/sys/dev/puc/puc_pccard.c > > head/sys/dev/uart/uart_bus_pccard.c > > head/sys/dev/wi/if_wi_pccard.c > > head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c > > > > Modified: head/share/man/man4/an.4 > > > ============================================================================== > > --- head/share/man/man4/an.4 Thu Aug 20 17:14:44 2020 (r364429) > > +++ head/share/man/man4/an.4 Thu Aug 20 17:19:40 2020 (r364430) > > @@ -51,6 +51,9 @@ module at boot time, place the following line in > > .Bd -literal -offset indent > > if_an_load="YES" > > .Ed > > +.Sh DEPRECATION NOTICE > > +This driver is scheduled for removal prior to the release of > > +.Fx 13.0 > > .Sh DESCRIPTION > > The > > .Nm > > > > Modified: head/share/man/man4/ata.4 > > > ============================================================================== > > --- head/share/man/man4/ata.4 Thu Aug 20 17:14:44 2020 (r364429) > > +++ head/share/man/man4/ata.4 Thu Aug 20 17:19:40 2020 (r364430) > > @@ -222,6 +222,9 @@ Unknown ATA chipsets are supported in PIO modes, and > i > > busmaster DMA registers are present and contain valid setup, DMA is > > also enabled, although the max mode is limited to UDMA33, as it is > > not known what the chipset can do and how to program it. > > +.Sh DEPRECATION NOTICE > > +The PC Card attachment of this driver is scheduled for removal prior to > the release of > > +.Fx 13.0 > > .Sh NOTES > > Please remember that in order to use UDMA4/ATA66 and above modes you > > .Em must > > > > Modified: head/share/man/man4/cmx.4 > > > ============================================================================== > > --- head/share/man/man4/cmx.4 Thu Aug 20 17:14:44 2020 (r364429) > > +++ head/share/man/man4/cmx.4 Thu Aug 20 17:19:40 2020 (r364430) > > @@ -34,6 +34,9 @@ > > .Nd Omnikey CardMan 4040 smartcard reader device driver > > .Sh SYNOPSIS > > .Cd device cmx > > +.Sh DEPRECATION NOTICE > > +This driver is scheduled for removal prior to the release of > > +.Fx 13.0 > > .Sh DESCRIPTION > > The > > .Nm > > > > Modified: head/share/man/man4/fdc.4 > > > ============================================================================== > > --- head/share/man/man4/fdc.4 Thu Aug 20 17:14:44 2020 (r364429) > > +++ head/share/man/man4/fdc.4 Thu Aug 20 17:19:40 2020 (r364430) > > @@ -313,6 +313,9 @@ Third argument is a pointer to > > This type is the same as being used in the per-drive configuration > > flags, or in the CMOS configuration data or ACPI namespace on IA32 > systems. > > .El > > +.Sh DEPRECATION NOTICE > > +The PC Card attachment of this driver is scheduled for removal prior to > the release of > > +.Fx 13.0 > > .Sh FILES > > .Bl -tag -width ".Pa /dev/fd*" -compact > > .It Pa /dev/fd* > > > > Modified: head/share/man/man4/ndis.4 > > > ============================================================================== > > --- head/share/man/man4/ndis.4 Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/share/man/man4/ndis.4 Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -120,6 +120,9 @@ driver-specific registry keys to control the media > set > > which can be configured via the > > .Xr sysctl 8 > > command. > > +.Sh DEPRECATION NOTICE > > +The PC Card attachment of this driver is scheduled for removal prior to > the release of > > +.Fx 13.0 > > .Sh DIAGNOSTICS > > .Bl -diag > > .It "ndis%d: watchdog timeout" > > > > Modified: head/share/man/man4/ng_bt3c.4 > > > ============================================================================== > > --- head/share/man/man4/ng_bt3c.4 Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/share/man/man4/ng_bt3c.4 Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -34,6 +34,9 @@ > > .Sh SYNOPSIS > > .In sys/types.h > > .In netgraph/bluetooth/include/ng_bt3c.h > > +.Sh DEPRECATION NOTICE > > +This driver is scheduled for removal prior to the release of > > +.Fx 13.0 > > .Sh DESCRIPTION > > The > > .Nm btccc > > > > Modified: head/share/man/man4/pccard.4 > > > ============================================================================== > > --- head/share/man/man4/pccard.4 Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/share/man/man4/pccard.4 Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -33,7 +33,7 @@ > > .Cd device pccard > > .Sh DEPRECATION NOTICE > > This driver is scheduled for removal prior to the release of > > -.Fx 13.0 > > +.Fx 13.0 . > > .Sh DESCRIPTION > > The > > .Nm > > > > Modified: head/share/man/man4/puc.4 > > > ============================================================================== > > --- head/share/man/man4/puc.4 Thu Aug 20 17:14:44 2020 (r364429) > > +++ head/share/man/man4/puc.4 Thu Aug 20 17:19:40 2020 (r364430) > > @@ -47,6 +47,9 @@ driver. > > The list of supported devices is in > > .Pa sys/dev/puc/pucdata.c . > > Support for new cards should be added there. > > +.Sh DEPRECATION NOTICE > > +The PC Card attachment of this driver is scheduled for removal prior to > the release of > > +.Fx 13.0 > > .Sh SEE ALSO > > .Xr ppc 4 , > > .Xr uart 4 > > > > Modified: head/share/man/man4/uart.4 > > > ============================================================================== > > --- head/share/man/man4/uart.4 Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/share/man/man4/uart.4 Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -271,6 +271,9 @@ be locked for devices that support more than one > setti > > The CLOCAL flag on callin ports should be locked off for logins > > to avoid certain security holes, but this needs to be done by > > getty if the callin port is used for anything else. > > +.Sh DEPRECATION NOTICE > > +The PC Card attachment of this driver is scheduled for removal prior to > the release of > > +.Fx 13.0 > > .Sh FILES > > .Bl -tag -width "/dev/ttyu?.init" -compact > > .It Pa /dev/ttyu? > > > > Modified: head/share/man/man4/wi.4 > > > ============================================================================== > > --- head/share/man/man4/wi.4 Thu Aug 20 17:14:44 2020 (r364429) > > +++ head/share/man/man4/wi.4 Thu Aug 20 17:19:40 2020 (r364430) > > @@ -52,6 +52,9 @@ module at boot time, place the following line in > > .Bd -literal -offset indent > > if_wi_load="YES" > > .Ed > > +.Sh DEPRECATION NOTICE > > +This driver is scheduled for removal prior to the release of > > +.Fx 13.0 > > .Sh DESCRIPTION > > The > > .Nm > > > > Modified: head/sys/dev/an/if_an_pccard.c > > > ============================================================================== > > --- head/sys/dev/an/if_an_pccard.c Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/sys/dev/an/if_an_pccard.c Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -156,5 +156,7 @@ an_pccard_attach(device_t dev) > > fail: > > if (error) > > an_release_resources(dev); > > + else > > + gone_in_dev(dev, 13, "pccard removed"); > > return (error); > > } > > > > Modified: head/sys/dev/ata/ata-card.c > > > ============================================================================== > > --- head/sys/dev/ata/ata-card.c Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/sys/dev/ata/ata-card.c Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -144,6 +144,7 @@ ata_pccard_attach(device_t dev) > > err = ata_probe(dev); > > if (err > 0) > > return (err); > > + gone_in_dev(dev, 13, "pccard removed"); > > return (ata_attach(dev)); > > } > > > > > > Modified: head/sys/dev/cmx/cmx_pccard.c > > > ============================================================================== > > --- head/sys/dev/cmx/cmx_pccard.c Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/sys/dev/cmx/cmx_pccard.c Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -95,7 +95,7 @@ cmx_pccard_attach(device_t dev) > > return rv; > > } > > > > - device_printf(dev, "attached\n"); > > + gone_in_dev(dev, 13, "pccard removed"); > > return 0; > > } > > > > > > Modified: head/sys/dev/fdc/fdc_pccard.c > > > ============================================================================== > > --- head/sys/dev/fdc/fdc_pccard.c Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/sys/dev/fdc/fdc_pccard.c Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -110,9 +110,10 @@ fdc_pccard_attach(device_t dev) > > device_set_flags(child, 0x24); > > error = bus_generic_attach(dev); > > } > > - if (error == 0) > > + if (error == 0) { > > + gone_in_dev(dev, 13, "pccard removed"); > > fdc_start_worker(dev); > > - else > > + } else > > fdc_release_resources(fdc); > > return (error); > > } > > > > Modified: head/sys/dev/if_ndis/if_ndis_pccard.c > > > ============================================================================== > > --- head/sys/dev/if_ndis/if_ndis_pccard.c Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/sys/dev/if_ndis/if_ndis_pccard.c Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -303,6 +303,8 @@ ndis_attach_pccard(dev) > > } > > > > error = ndis_attach(dev); > > + if (error == 0) > > + gone_in_dev(dev, 13, "pccard removed"); > > > > fail: > > return(error); > > > > Modified: head/sys/dev/puc/puc_pccard.c > > > ============================================================================== > > --- head/sys/dev/puc/puc_pccard.c Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/sys/dev/puc/puc_pccard.c Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -73,10 +73,21 @@ puc_pccard_probe(device_t dev) > > return (ENXIO); > > } > > > > +static int > > +puc_pccard_attach(device_t dev) > > +{ > > + int error; > > + > > + error = puc_bfe_attach(dev); > > + if (error == 0) > > + gone_in_dev(dev, 13, "pccard removed"); > > + return (error); > > +} > > + > > static device_method_t puc_pccard_methods[] = { > > /* Device interface */ > > DEVMETHOD(device_probe, puc_pccard_probe), > > - DEVMETHOD(device_attach, puc_bfe_attach), > > + DEVMETHOD(device_attach, puc_pccard_attach), > > DEVMETHOD(device_detach, puc_bfe_detach), > > > > DEVMETHOD(bus_alloc_resource, puc_bus_alloc_resource), > > > > Modified: head/sys/dev/uart/uart_bus_pccard.c > > > ============================================================================== > > --- head/sys/dev/uart/uart_bus_pccard.c Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/sys/dev/uart/uart_bus_pccard.c Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -98,6 +98,7 @@ uart_pccard_attach(device_t dev) > > error = uart_bus_probe(dev, 0, 0, 0, 0, 0, 0); > > if (error > 0) > > return (error); > > + gone_in_dev(dev, 13, "pccard removed"); > > return (uart_bus_attach(dev)); > > } > > > > > > Modified: head/sys/dev/wi/if_wi_pccard.c > > > ============================================================================== > > --- head/sys/dev/wi/if_wi_pccard.c Thu Aug 20 17:14:44 2020 > (r364429) > > +++ head/sys/dev/wi/if_wi_pccard.c Thu Aug 20 17:19:40 2020 > (r364430) > > @@ -200,6 +200,7 @@ wi_pccard_attach(device_t dev) > > error = wi_attach(dev); > > if (error != 0) > > wi_free(dev); > > + gone_in_dev(dev, 13, "pccard removed"); > > } > > return error; > > } > > > > Modified: head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c > > > ============================================================================== > > --- head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Thu Aug 20 > 17:14:44 2020 (r364429) > > +++ head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Thu Aug 20 > 17:19:40 2020 (r364430) > > @@ -677,6 +677,8 @@ bt3c_pccard_attach(device_t dev) > > > > NG_NODE_SET_PRIVATE(sc->node, sc); > > > > + gone_in_dev(dev, 13, "pccard removed"); > > + > > return (0); > > bad: > > if (sc->ith != NULL) { > > > > -- > Rod Grimes > rgrimes@freebsd.org > From owner-svn-src-all@freebsd.org Thu Aug 20 19:49:24 2020 Return-Path: Delivered-To: svn-src-all@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 CF10B3C7198 for ; Thu, 20 Aug 2020 19:49:24 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) (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 4BXZwg2WR4z3fJd for ; Thu, 20 Aug 2020 19:49:23 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x830.google.com with SMTP id h21so2079646qtp.11 for ; Thu, 20 Aug 2020 12:49:23 -0700 (PDT) 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=gpYSmu3zs8mVOuOLKiGahGHkFidyT2UlMm0RNbWYLho=; b=eBShCw4PVAVzyAmYGwFiWRCfr+uSJJdpbRfEku3vYLz1guY9wE3wSOfsUFP8xGWNdm DQ63K+hNabhl4qlJcHBnvZT4C1xODGU87rE04zcJOkKYlEFcPmmX5izt139qX5lh979O q5CF1wK4WmX7Mm60diyXIQhtDZiBkgXaQ540unpaJfvBiKk8hhT0eRA1rGv12dfhSTHG O5i24dVSlGW4kmKrB5xBXLV9p8AHK+Qt6l3dAHpiVM2Ms7wrXzwAgR6xBFR6ZPorx/NR m65E7R2j7A8F5AVjc+nRipvdbFoMuADSpwPxxwYLmFwuL2qf+uGnSaOKJG5U2ER1noVm oFOw== 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=gpYSmu3zs8mVOuOLKiGahGHkFidyT2UlMm0RNbWYLho=; b=V4vQqaFdEaAWMT8+e8luNK0ui5uoQrX/zmWJtYcMZMop+dqw1IqBnyWpdb2hlF/H32 LjY89mE6/G6dMD/CvDaQ7GTHdSow5+rYo3I3bt0EhBqUNuQ7TwjcXufb/xyVBvhaLya3 Sj2OxiA+RBGFryFK5JES07jNssfXMugeRFK1K2Oo8EaJinNCbbT09Ic10Sxde3LFnz0G 7Xnuuwo/cgNP5qJDpg9D61VvwPI+5Kb0/KjeYth1dp+RIDZuLf9h73yqNOkkt0uqa8ts h/hKkKxfNE6K4FaY4lJp30ulkNYU2dOYayuFl0MNGr7tLUuOrc26C19JpS0LwMyWd5pw 9Tug== X-Gm-Message-State: AOAM531QT7aOkpqIqKVavR7Uv/Q4Xvx7Qo7YjNBjok637DIFTZTOWNn1 uZ/grbMpaE6WM/5toU6vpyCkCzwHnwi6MTZbqWmoTjjgIQlW3g== X-Google-Smtp-Source: ABdhPJxjj36InKiTNCH/MoI0aa3a/rzPDbPskIFlhs8/5fhSJHLBqV+gCBc2neUyhmx4ZKjvrV/Qhhf5gSGaU4/aH0w= X-Received: by 2002:ac8:4719:: with SMTP id f25mr136771qtp.291.1597952961925; Thu, 20 Aug 2020 12:49:21 -0700 (PDT) MIME-Version: 1.0 References: <202008201719.07KHJe8A007482@repo.freebsd.org> <202008201913.07KJDf63076082@gndrsh.dnsmgr.net> In-Reply-To: From: Warner Losh Date: Thu, 20 Aug 2020 13:49:10 -0600 Message-ID: Subject: Re: svn commit: r364430 - in head: share/man/man4 sys/dev/an sys/dev/ata sys/dev/cmx sys/dev/fdc sys/dev/if_ndis sys/dev/puc sys/dev/uart sys/dev/wi sys/netgraph/bluetooth/drivers/bt3c To: "Rodney W. Grimes" Cc: Warner Losh , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 4BXZwg2WR4z3fJd X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=eBShCw4P; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::830) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [0.67 / 15.00]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; NEURAL_HAM_MEDIUM(-0.42)[-0.421]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.10)[0.095]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; URI_COUNT_ODD(1.00)[3]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::830:from]; R_SPF_NA(0.00)[no SPF record]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; MAILMAN_DEST(0.00)[svn-src-all]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 19:49:24 -0000 https://reviews.freebsd.org/D26138 has the code review. Warner On Thu, Aug 20, 2020 at 1:41 PM Warner Losh wrote: > > > On Thu, Aug 20, 2020 at 1:13 PM Rodney W. Grimes < > freebsd@gndrsh.dnsmgr.net> wrote: > >> > Author: imp >> > Date: Thu Aug 20 17:19:40 2020 >> > New Revision: 364430 >> > URL: https://svnweb.freebsd.org/changeset/base/364430 >> > >> > Log: >> > Tag pccard drivers with gone in 13. >> > >> > MFC After: 3 days >> > Reviewed by: emaste, brooks, adrian (on twitter) >> > Differential Revision: https://reviews.freebsd.org/D26095 >> > >> > Modified: >> > head/share/man/man4/an.4 >> >> This device has a PCI version, so why is it going away with PC card? >> Typically these are plx9050 bridge cards which makes the AN device >> appear like any other PCI device. >> > > Because it is no longer relevant. The device that an supports was a > relatively rare mini-pci version of the card that was sold for maybe a year > in a few laptops before those designed moved on to the atheros cards. It > couldn't do the newer crypto, nor the newer than 802.11b standard. Since > the crypto it could to was flabwed and long since abandoned, most of these > cards were replaced by some variation of atheros cards by FreeBSD since > they were usually a drop-in replacement. IIRC, there was no raw interface > for this card, so you were stuck with what the firmware did and Cisco never > produced a newer firmware. > > >> It looks as if you only tagged if_an_pccard.c, so the man page >> change is all that is wrong. >> > > I just didn't tag the if_an_pci.c version too. > > >> > head/share/man/man4/ata.4 >> > head/share/man/man4/cmx.4 >> > head/share/man/man4/fdc.4 >> > head/share/man/man4/ndis.4 >> > head/share/man/man4/ng_bt3c.4 >> > head/share/man/man4/pccard.4 >> > head/share/man/man4/puc.4 >> > head/share/man/man4/uart.4 >> > head/share/man/man4/wi.4 >> >> These are also often plx9050 based, and your only doing >> the if_wi_pccard.c file, so probably also a man page error. >> > > Some here. I got Adrian's approval for wi specifically. These are just too > old and don't support the relevant standards. The PCI attachments were > relatively rare in the day for both of these devices (though the wi ones > were a little more common than than an ones). Usually wi got connected to > the PCI bus via a full PCMCIA/CardBus bridge since those were off-the-shelf > components that the makers of these cards shifted too when then one-off PLX > solution ran out of steam. The wi cards theoretically could be updated to > the new crypto standards, but nobody has bothered to do that for the > FreeBSD driver in the 15 or so years since they became necessary. > > I'll update the pci attachment code for wi too, since it's not worth > keeping around. Adrian has volunteered to create a port and put it on > github if anybody is actually still using this card. Though Adrian has also > said that there's a fair amount of cleanup we could do to the 802.11 stack > if we were to get rid of all the old 802.11b-only cards. wi and an were the > last two as far as I can tell... > > I get that these were once quite popular and ubiquitous. But it's 15 years > later and they don't follow enough of the standards to be a viable option > for all but the most niche deployments. And those niche deployments do not > buy us enough to be worth the bother. > > Warner > > >> > head/sys/dev/an/if_an_pccard.c >> > head/sys/dev/ata/ata-card.c >> > head/sys/dev/cmx/cmx_pccard.c >> > head/sys/dev/fdc/fdc_pccard.c >> > head/sys/dev/if_ndis/if_ndis_pccard.c >> > head/sys/dev/puc/puc_pccard.c >> > head/sys/dev/uart/uart_bus_pccard.c >> > head/sys/dev/wi/if_wi_pccard.c >> > head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c >> > >> > Modified: head/share/man/man4/an.4 >> > >> ============================================================================== >> > --- head/share/man/man4/an.4 Thu Aug 20 17:14:44 2020 (r364429) >> > +++ head/share/man/man4/an.4 Thu Aug 20 17:19:40 2020 (r364430) >> > @@ -51,6 +51,9 @@ module at boot time, place the following line in >> > .Bd -literal -offset indent >> > if_an_load="YES" >> > .Ed >> > +.Sh DEPRECATION NOTICE >> > +This driver is scheduled for removal prior to the release of >> > +.Fx 13.0 >> > .Sh DESCRIPTION >> > The >> > .Nm >> > >> > Modified: head/share/man/man4/ata.4 >> > >> ============================================================================== >> > --- head/share/man/man4/ata.4 Thu Aug 20 17:14:44 2020 (r364429) >> > +++ head/share/man/man4/ata.4 Thu Aug 20 17:19:40 2020 (r364430) >> > @@ -222,6 +222,9 @@ Unknown ATA chipsets are supported in PIO modes, >> and i >> > busmaster DMA registers are present and contain valid setup, DMA is >> > also enabled, although the max mode is limited to UDMA33, as it is >> > not known what the chipset can do and how to program it. >> > +.Sh DEPRECATION NOTICE >> > +The PC Card attachment of this driver is scheduled for removal prior >> to the release of >> > +.Fx 13.0 >> > .Sh NOTES >> > Please remember that in order to use UDMA4/ATA66 and above modes you >> > .Em must >> > >> > Modified: head/share/man/man4/cmx.4 >> > >> ============================================================================== >> > --- head/share/man/man4/cmx.4 Thu Aug 20 17:14:44 2020 (r364429) >> > +++ head/share/man/man4/cmx.4 Thu Aug 20 17:19:40 2020 (r364430) >> > @@ -34,6 +34,9 @@ >> > .Nd Omnikey CardMan 4040 smartcard reader device driver >> > .Sh SYNOPSIS >> > .Cd device cmx >> > +.Sh DEPRECATION NOTICE >> > +This driver is scheduled for removal prior to the release of >> > +.Fx 13.0 >> > .Sh DESCRIPTION >> > The >> > .Nm >> > >> > Modified: head/share/man/man4/fdc.4 >> > >> ============================================================================== >> > --- head/share/man/man4/fdc.4 Thu Aug 20 17:14:44 2020 (r364429) >> > +++ head/share/man/man4/fdc.4 Thu Aug 20 17:19:40 2020 (r364430) >> > @@ -313,6 +313,9 @@ Third argument is a pointer to >> > This type is the same as being used in the per-drive configuration >> > flags, or in the CMOS configuration data or ACPI namespace on IA32 >> systems. >> > .El >> > +.Sh DEPRECATION NOTICE >> > +The PC Card attachment of this driver is scheduled for removal prior >> to the release of >> > +.Fx 13.0 >> > .Sh FILES >> > .Bl -tag -width ".Pa /dev/fd*" -compact >> > .It Pa /dev/fd* >> > >> > Modified: head/share/man/man4/ndis.4 >> > >> ============================================================================== >> > --- head/share/man/man4/ndis.4 Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/share/man/man4/ndis.4 Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -120,6 +120,9 @@ driver-specific registry keys to control the media >> set >> > which can be configured via the >> > .Xr sysctl 8 >> > command. >> > +.Sh DEPRECATION NOTICE >> > +The PC Card attachment of this driver is scheduled for removal prior >> to the release of >> > +.Fx 13.0 >> > .Sh DIAGNOSTICS >> > .Bl -diag >> > .It "ndis%d: watchdog timeout" >> > >> > Modified: head/share/man/man4/ng_bt3c.4 >> > >> ============================================================================== >> > --- head/share/man/man4/ng_bt3c.4 Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/share/man/man4/ng_bt3c.4 Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -34,6 +34,9 @@ >> > .Sh SYNOPSIS >> > .In sys/types.h >> > .In netgraph/bluetooth/include/ng_bt3c.h >> > +.Sh DEPRECATION NOTICE >> > +This driver is scheduled for removal prior to the release of >> > +.Fx 13.0 >> > .Sh DESCRIPTION >> > The >> > .Nm btccc >> > >> > Modified: head/share/man/man4/pccard.4 >> > >> ============================================================================== >> > --- head/share/man/man4/pccard.4 Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/share/man/man4/pccard.4 Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -33,7 +33,7 @@ >> > .Cd device pccard >> > .Sh DEPRECATION NOTICE >> > This driver is scheduled for removal prior to the release of >> > -.Fx 13.0 >> > +.Fx 13.0 . >> > .Sh DESCRIPTION >> > The >> > .Nm >> > >> > Modified: head/share/man/man4/puc.4 >> > >> ============================================================================== >> > --- head/share/man/man4/puc.4 Thu Aug 20 17:14:44 2020 (r364429) >> > +++ head/share/man/man4/puc.4 Thu Aug 20 17:19:40 2020 (r364430) >> > @@ -47,6 +47,9 @@ driver. >> > The list of supported devices is in >> > .Pa sys/dev/puc/pucdata.c . >> > Support for new cards should be added there. >> > +.Sh DEPRECATION NOTICE >> > +The PC Card attachment of this driver is scheduled for removal prior >> to the release of >> > +.Fx 13.0 >> > .Sh SEE ALSO >> > .Xr ppc 4 , >> > .Xr uart 4 >> > >> > Modified: head/share/man/man4/uart.4 >> > >> ============================================================================== >> > --- head/share/man/man4/uart.4 Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/share/man/man4/uart.4 Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -271,6 +271,9 @@ be locked for devices that support more than one >> setti >> > The CLOCAL flag on callin ports should be locked off for logins >> > to avoid certain security holes, but this needs to be done by >> > getty if the callin port is used for anything else. >> > +.Sh DEPRECATION NOTICE >> > +The PC Card attachment of this driver is scheduled for removal prior >> to the release of >> > +.Fx 13.0 >> > .Sh FILES >> > .Bl -tag -width "/dev/ttyu?.init" -compact >> > .It Pa /dev/ttyu? >> > >> > Modified: head/share/man/man4/wi.4 >> > >> ============================================================================== >> > --- head/share/man/man4/wi.4 Thu Aug 20 17:14:44 2020 (r364429) >> > +++ head/share/man/man4/wi.4 Thu Aug 20 17:19:40 2020 (r364430) >> > @@ -52,6 +52,9 @@ module at boot time, place the following line in >> > .Bd -literal -offset indent >> > if_wi_load="YES" >> > .Ed >> > +.Sh DEPRECATION NOTICE >> > +This driver is scheduled for removal prior to the release of >> > +.Fx 13.0 >> > .Sh DESCRIPTION >> > The >> > .Nm >> > >> > Modified: head/sys/dev/an/if_an_pccard.c >> > >> ============================================================================== >> > --- head/sys/dev/an/if_an_pccard.c Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/sys/dev/an/if_an_pccard.c Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -156,5 +156,7 @@ an_pccard_attach(device_t dev) >> > fail: >> > if (error) >> > an_release_resources(dev); >> > + else >> > + gone_in_dev(dev, 13, "pccard removed"); >> > return (error); >> > } >> > >> > Modified: head/sys/dev/ata/ata-card.c >> > >> ============================================================================== >> > --- head/sys/dev/ata/ata-card.c Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/sys/dev/ata/ata-card.c Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -144,6 +144,7 @@ ata_pccard_attach(device_t dev) >> > err = ata_probe(dev); >> > if (err > 0) >> > return (err); >> > + gone_in_dev(dev, 13, "pccard removed"); >> > return (ata_attach(dev)); >> > } >> > >> > >> > Modified: head/sys/dev/cmx/cmx_pccard.c >> > >> ============================================================================== >> > --- head/sys/dev/cmx/cmx_pccard.c Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/sys/dev/cmx/cmx_pccard.c Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -95,7 +95,7 @@ cmx_pccard_attach(device_t dev) >> > return rv; >> > } >> > >> > - device_printf(dev, "attached\n"); >> > + gone_in_dev(dev, 13, "pccard removed"); >> > return 0; >> > } >> > >> > >> > Modified: head/sys/dev/fdc/fdc_pccard.c >> > >> ============================================================================== >> > --- head/sys/dev/fdc/fdc_pccard.c Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/sys/dev/fdc/fdc_pccard.c Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -110,9 +110,10 @@ fdc_pccard_attach(device_t dev) >> > device_set_flags(child, 0x24); >> > error = bus_generic_attach(dev); >> > } >> > - if (error == 0) >> > + if (error == 0) { >> > + gone_in_dev(dev, 13, "pccard removed"); >> > fdc_start_worker(dev); >> > - else >> > + } else >> > fdc_release_resources(fdc); >> > return (error); >> > } >> > >> > Modified: head/sys/dev/if_ndis/if_ndis_pccard.c >> > >> ============================================================================== >> > --- head/sys/dev/if_ndis/if_ndis_pccard.c Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/sys/dev/if_ndis/if_ndis_pccard.c Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -303,6 +303,8 @@ ndis_attach_pccard(dev) >> > } >> > >> > error = ndis_attach(dev); >> > + if (error == 0) >> > + gone_in_dev(dev, 13, "pccard removed"); >> > >> > fail: >> > return(error); >> > >> > Modified: head/sys/dev/puc/puc_pccard.c >> > >> ============================================================================== >> > --- head/sys/dev/puc/puc_pccard.c Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/sys/dev/puc/puc_pccard.c Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -73,10 +73,21 @@ puc_pccard_probe(device_t dev) >> > return (ENXIO); >> > } >> > >> > +static int >> > +puc_pccard_attach(device_t dev) >> > +{ >> > + int error; >> > + >> > + error = puc_bfe_attach(dev); >> > + if (error == 0) >> > + gone_in_dev(dev, 13, "pccard removed"); >> > + return (error); >> > +} >> > + >> > static device_method_t puc_pccard_methods[] = { >> > /* Device interface */ >> > DEVMETHOD(device_probe, puc_pccard_probe), >> > - DEVMETHOD(device_attach, puc_bfe_attach), >> > + DEVMETHOD(device_attach, puc_pccard_attach), >> > DEVMETHOD(device_detach, puc_bfe_detach), >> > >> > DEVMETHOD(bus_alloc_resource, puc_bus_alloc_resource), >> > >> > Modified: head/sys/dev/uart/uart_bus_pccard.c >> > >> ============================================================================== >> > --- head/sys/dev/uart/uart_bus_pccard.c Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/sys/dev/uart/uart_bus_pccard.c Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -98,6 +98,7 @@ uart_pccard_attach(device_t dev) >> > error = uart_bus_probe(dev, 0, 0, 0, 0, 0, 0); >> > if (error > 0) >> > return (error); >> > + gone_in_dev(dev, 13, "pccard removed"); >> > return (uart_bus_attach(dev)); >> > } >> > >> > >> > Modified: head/sys/dev/wi/if_wi_pccard.c >> > >> ============================================================================== >> > --- head/sys/dev/wi/if_wi_pccard.c Thu Aug 20 17:14:44 2020 >> (r364429) >> > +++ head/sys/dev/wi/if_wi_pccard.c Thu Aug 20 17:19:40 2020 >> (r364430) >> > @@ -200,6 +200,7 @@ wi_pccard_attach(device_t dev) >> > error = wi_attach(dev); >> > if (error != 0) >> > wi_free(dev); >> > + gone_in_dev(dev, 13, "pccard removed"); >> > } >> > return error; >> > } >> > >> > Modified: head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c >> > >> ============================================================================== >> > --- head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Thu Aug >> 20 17:14:44 2020 (r364429) >> > +++ head/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c Thu Aug >> 20 17:19:40 2020 (r364430) >> > @@ -677,6 +677,8 @@ bt3c_pccard_attach(device_t dev) >> > >> > NG_NODE_SET_PRIVATE(sc->node, sc); >> > >> > + gone_in_dev(dev, 13, "pccard removed"); >> > + >> > return (0); >> > bad: >> > if (sc->ith != NULL) { >> > >> >> -- >> Rod Grimes >> rgrimes@freebsd.org >> > From owner-svn-src-all@freebsd.org Thu Aug 20 19:51:26 2020 Return-Path: Delivered-To: svn-src-all@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 1724D3C704F; Thu, 20 Aug 2020 19:51:26 +0000 (UTC) (envelope-from imp@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 4BXZz16pCDz3fmS; Thu, 20 Aug 2020 19:51:25 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CCEA4198AC; Thu, 20 Aug 2020 19:51:25 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KJpPgW004921; Thu, 20 Aug 2020 19:51:25 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KJpPeG004920; Thu, 20 Aug 2020 19:51:25 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008201951.07KJpPeG004920@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 20 Aug 2020 19:51:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364439 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 364439 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 19:51:26 -0000 Author: imp Date: Thu Aug 20 19:51:25 2020 New Revision: 364439 URL: https://svnweb.freebsd.org/changeset/base/364439 Log: Unbreak LINT Remove ufm from the NOTES file. Modified: head/sys/conf/NOTES Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Thu Aug 20 19:28:19 2020 (r364438) +++ head/sys/conf/NOTES Thu Aug 20 19:51:25 2020 (r364439) @@ -2445,8 +2445,6 @@ device usb # # USB Double Bulk Pipe devices device udbp -# USB Fm Radio -device ufm # USB temperature meter device ugold # USB LED From owner-svn-src-all@freebsd.org Thu Aug 20 20:11:59 2020 Return-Path: Delivered-To: svn-src-all@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 A90543C73DF; Thu, 20 Aug 2020 20:11:59 +0000 (UTC) (envelope-from markj@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 4BXbQl3pXhz3gZb; Thu, 20 Aug 2020 20:11:59 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 65E631A03C; Thu, 20 Aug 2020 20:11:59 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KKBxPw017459; Thu, 20 Aug 2020 20:11:59 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KKBxHH017458; Thu, 20 Aug 2020 20:11:59 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008202011.07KKBxHH017458@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 20 Aug 2020 20:11:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364440 - head/cddl/contrib/opensolaris/lib/libdtrace/common X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/cddl/contrib/opensolaris/lib/libdtrace/common X-SVN-Commit-Revision: 364440 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 20:11:59 -0000 Author: markj Date: Thu Aug 20 20:11:58 2020 New Revision: 364440 URL: https://svnweb.freebsd.org/changeset/base/364440 Log: Fix a typo in r364438. Reported by: Jenkins MFC with: r364438 Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu Aug 20 19:51:25 2020 (r364439) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu Aug 20 20:11:58 2020 (r364440) @@ -773,7 +773,7 @@ dt_symtab_lookup(Elf_Data *data_sym, int start, int en #define DT_OP_RET 0xd65f03c0 #define DT_OP_CALL26 0x94000000 #define DT_OP_JUMP26 0x14000000 -#define DT_REL_NONE R_AACH64_NONE +#define DT_REL_NONE R_AARCH64_NONE static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, From owner-svn-src-all@freebsd.org Thu Aug 20 20:31:48 2020 Return-Path: Delivered-To: svn-src-all@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 003203C7D13; Thu, 20 Aug 2020 20:31:48 +0000 (UTC) (envelope-from glebius@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 4BXbsb5qK9z3yBq; Thu, 20 Aug 2020 20:31:47 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AAD621A33A; Thu, 20 Aug 2020 20:31:47 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07KKVlO6032003; Thu, 20 Aug 2020 20:31:47 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07KKVlHv032002; Thu, 20 Aug 2020 20:31:47 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <202008202031.07KKVlHv032002@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 20 Aug 2020 20:31:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364441 - head/stand/i386/zfsboot X-SVN-Group: head X-SVN-Commit-Author: glebius X-SVN-Commit-Paths: head/stand/i386/zfsboot X-SVN-Commit-Revision: 364441 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 20:31:48 -0000 Author: glebius Date: Thu Aug 20 20:31:47 2020 New Revision: 364441 URL: https://svnweb.freebsd.org/changeset/base/364441 Log: When we have a command returned by zfs_nextboot() that is longer than command in the loader.conf, the latter needs to be nul terminated, otherwise garbage trailer left from zfs_nextboot() will be passed to parse_cmd() together with loader.conf command. While here, reset cmd to empty string if read() returns error. Reviewed by: tsoome Modified: head/stand/i386/zfsboot/zfsboot.c Modified: head/stand/i386/zfsboot/zfsboot.c ============================================================================== --- head/stand/i386/zfsboot/zfsboot.c Thu Aug 20 20:11:58 2020 (r364440) +++ head/stand/i386/zfsboot/zfsboot.c Thu Aug 20 20:31:47 2020 (r364441) @@ -248,7 +248,12 @@ main(void) fd = open(PATH_DOTCONFIG, O_RDONLY); if (fd != -1) { - read(fd, cmd, sizeof (cmd)); + ssize_t cmdlen; + + if ((cmdlen = read(fd, cmd, sizeof(cmd))) > 0) + cmd[cmdlen] = '\0'; + else + *cmd = '\0'; close(fd); } From owner-svn-src-all@freebsd.org Fri Aug 21 00:03:26 2020 Return-Path: Delivered-To: svn-src-all@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 F05F93AD4D6; Fri, 21 Aug 2020 00:03:26 +0000 (UTC) (envelope-from imp@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 4BXhYp63RWz4CsR; Fri, 21 Aug 2020 00:03:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B2EFC1C84F; Fri, 21 Aug 2020 00:03:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L03Qxu064216; Fri, 21 Aug 2020 00:03:26 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L03O9C064200; Fri, 21 Aug 2020 00:03:24 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008210003.07L03O9C064200@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 21 Aug 2020 00:03:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364442 - in head/sys: cam cddl/compat/opensolaris/kern geom kern net netinet X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head/sys: cam cddl/compat/opensolaris/kern geom kern net netinet X-SVN-Commit-Revision: 364442 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 00:03:27 -0000 Author: imp Date: Fri Aug 21 00:03:24 2020 New Revision: 364442 URL: https://svnweb.freebsd.org/changeset/base/364442 Log: Use devctl.h instead of bus.h to reduce newbus pollution. There's no need for these parts of the kernel to know about newbus, so narrow what is included to devctl.h for device_notify_*. Suggested by: kib@ Modified: head/sys/cam/cam_periph.c head/sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c head/sys/geom/geom_dev.c head/sys/geom/geom_disk.c head/sys/kern/kern_conf.c head/sys/kern/kern_rctl.c head/sys/kern/kern_sig.c head/sys/kern/vfs_mount.c head/sys/net/if_ethersubr.c head/sys/netinet/ip_carp.c Modified: head/sys/cam/cam_periph.c ============================================================================== --- head/sys/cam/cam_periph.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/cam/cam_periph.c Fri Aug 21 00:03:24 2020 (r364442) @@ -39,12 +39,12 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include #include -#include #include #include #include Modified: head/sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c ============================================================================== --- head/sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c Fri Aug 21 00:03:24 2020 (r364442) @@ -33,7 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include #include Modified: head/sys/geom/geom_dev.c ============================================================================== --- head/sys/geom/geom_dev.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/geom/geom_dev.c Fri Aug 21 00:03:24 2020 (r364442) @@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include #include Modified: head/sys/geom/geom_disk.c ============================================================================== --- head/sys/geom/geom_disk.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/geom/geom_disk.c Fri Aug 21 00:03:24 2020 (r364442) @@ -45,8 +45,8 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include +#include #include #include #include Modified: head/sys/kern/kern_conf.c ============================================================================== --- head/sys/kern/kern_conf.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/kern/kern_conf.c Fri Aug 21 00:03:24 2020 (r364442) @@ -32,8 +32,8 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include +#include #include #include #include Modified: head/sys/kern/kern_rctl.c ============================================================================== --- head/sys/kern/kern_rctl.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/kern/kern_rctl.c Fri Aug 21 00:03:24 2020 (r364442) @@ -35,7 +35,7 @@ __FBSDID("$FreeBSD$"); #include -#include +#include #include #include #include Modified: head/sys/kern/kern_sig.c ============================================================================== --- head/sys/kern/kern_sig.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/kern/kern_sig.c Fri Aug 21 00:03:24 2020 (r364442) @@ -47,10 +47,10 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include +#include #include #include #include Modified: head/sys/kern/vfs_mount.c ============================================================================== --- head/sys/kern/vfs_mount.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/kern/vfs_mount.c Fri Aug 21 00:03:24 2020 (r364442) @@ -42,7 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include #include Modified: head/sys/net/if_ethersubr.c ============================================================================== --- head/sys/net/if_ethersubr.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/net/if_ethersubr.c Fri Aug 21 00:03:24 2020 (r364442) @@ -40,7 +40,7 @@ #include #include -#include +#include #include #include #include Modified: head/sys/netinet/ip_carp.c ============================================================================== --- head/sys/netinet/ip_carp.c Thu Aug 20 20:31:47 2020 (r364441) +++ head/sys/netinet/ip_carp.c Fri Aug 21 00:03:24 2020 (r364442) @@ -37,7 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #include #include #include From owner-svn-src-all@freebsd.org Fri Aug 21 00:27:06 2020 Return-Path: Delivered-To: svn-src-all@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 CF4E83ADF50; Fri, 21 Aug 2020 00:27:06 +0000 (UTC) (envelope-from sjg@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 4BXj5656zHz4FDV; Fri, 21 Aug 2020 00:27:06 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 933101CE43; Fri, 21 Aug 2020 00:27:06 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L0R6Lo076647; Fri, 21 Aug 2020 00:27:06 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L0R6Z9076646; Fri, 21 Aug 2020 00:27:06 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <202008210027.07L0R6Z9076646@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Fri, 21 Aug 2020 00:27:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364443 - head/lib/libsecureboot X-SVN-Group: head X-SVN-Commit-Author: sjg X-SVN-Commit-Paths: head/lib/libsecureboot X-SVN-Commit-Revision: 364443 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 00:27:06 -0000 Author: sjg Date: Fri Aug 21 00:27:06 2020 New Revision: 364443 URL: https://svnweb.freebsd.org/changeset/base/364443 Log: veloader: insist on verifying .4th .lua etc When files are read from .rc or .4th, verify_file is asked to guess the severity (VE_TRY,VE_WANT,VE_MUST) Reviewed by: stevek MFC after: 1 week Sponsored by: Juniper Networks Modified: head/lib/libsecureboot/verify_file.c Modified: head/lib/libsecureboot/verify_file.c ============================================================================== --- head/lib/libsecureboot/verify_file.c Fri Aug 21 00:03:24 2020 (r364442) +++ head/lib/libsecureboot/verify_file.c Fri Aug 21 00:27:06 2020 (r364443) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017-2018, Juniper Networks, Inc. + * Copyright (c) 2017-2020, Juniper Networks, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -255,6 +255,10 @@ severity_guess(const char *filename) strcmp(cp, ".cookie") == 0 || strcmp(cp, ".hints") == 0) return (VE_TRY); + if (strcmp(cp, ".4th") == 0 || + strcmp(cp, ".lua") == 0 || + strcmp(cp, ".rc") == 0) + return (VE_MUST); } return (VE_WANT); } From owner-svn-src-all@freebsd.org Fri Aug 21 00:34:33 2020 Return-Path: Delivered-To: svn-src-all@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 D94C03AE15F; Fri, 21 Aug 2020 00:34:33 +0000 (UTC) (envelope-from np@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 4BXjFj5JPDz4Fhx; Fri, 21 Aug 2020 00:34:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9683A1D027; Fri, 21 Aug 2020 00:34:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L0YXV4082842; Fri, 21 Aug 2020 00:34:33 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L0YXS7082841; Fri, 21 Aug 2020 00:34:33 GMT (envelope-from np@FreeBSD.org) Message-Id: <202008210034.07L0YXS7082841@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 21 Aug 2020 00:34:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364444 - head/sys/dev/cxgbe/cxgbei X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/cxgbei X-SVN-Commit-Revision: 364444 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 00:34:33 -0000 Author: np Date: Fri Aug 21 00:34:33 2020 New Revision: 364444 URL: https://svnweb.freebsd.org/changeset/base/364444 Log: cxgbei: destroy the worker threads' CV and mutex in stop_worker_threads. Reported by: bz@ MFC after: 3 days Modified: head/sys/dev/cxgbe/cxgbei/cxgbei.c Modified: head/sys/dev/cxgbe/cxgbei/cxgbei.c ============================================================================== --- head/sys/dev/cxgbe/cxgbei/cxgbei.c Fri Aug 21 00:27:06 2020 (r364443) +++ head/sys/dev/cxgbe/cxgbei/cxgbei.c Fri Aug 21 00:34:33 2020 (r364444) @@ -715,6 +715,8 @@ stop_worker_threads(void) cv_wait(&cwt->cwt_cv, &cwt->cwt_lock); } while (cwt->cwt_state != CWT_STOPPED); mtx_unlock(&cwt->cwt_lock); + mtx_destroy(&cwt->cwt_lock); + cv_destroy(&cwt->cwt_cv); } free(cwt_softc, M_CXGBE); } From owner-svn-src-all@freebsd.org Fri Aug 21 00:59:16 2020 Return-Path: Delivered-To: svn-src-all@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 2FB683AED6D; Fri, 21 Aug 2020 00:59:16 +0000 (UTC) (envelope-from markj@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 4BXjpD0TMvz4GqP; Fri, 21 Aug 2020 00:59:16 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E7AA61D062; Fri, 21 Aug 2020 00:59:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L0xFrw094995; Fri, 21 Aug 2020 00:59:15 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L0xFp9094993; Fri, 21 Aug 2020 00:59:15 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008210059.07L0xFp9094993@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 21 Aug 2020 00:59:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364445 - in stable/12/sys: kern sys X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in stable/12/sys: kern sys X-SVN-Commit-Revision: 364445 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 00:59:16 -0000 Author: markj Date: Fri Aug 21 00:59:15 2020 New Revision: 364445 URL: https://svnweb.freebsd.org/changeset/base/364445 Log: MFC r364235: Rename the pipe_map field of struct pipe. Modified: stable/12/sys/kern/sys_pipe.c stable/12/sys/sys/pipe.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/sys_pipe.c ============================================================================== --- stable/12/sys/kern/sys_pipe.c Fri Aug 21 00:34:33 2020 (r364444) +++ stable/12/sys/kern/sys_pipe.c Fri Aug 21 00:59:15 2020 (r364445) @@ -736,19 +736,19 @@ pipe_read(struct file *fp, struct uio *uio, struct ucr /* * Direct copy, bypassing a kernel buffer. */ - } else if ((size = rpipe->pipe_map.cnt) != 0) { + } else if ((size = rpipe->pipe_pages.cnt) != 0) { if (size > uio->uio_resid) size = (u_int) uio->uio_resid; PIPE_UNLOCK(rpipe); - error = uiomove_fromphys(rpipe->pipe_map.ms, - rpipe->pipe_map.pos, size, uio); + error = uiomove_fromphys(rpipe->pipe_pages.ms, + rpipe->pipe_pages.pos, size, uio); PIPE_LOCK(rpipe); if (error) break; nread += size; - rpipe->pipe_map.pos += size; - rpipe->pipe_map.cnt -= size; - if (rpipe->pipe_map.cnt == 0) { + rpipe->pipe_pages.pos += size; + rpipe->pipe_pages.cnt -= size; + if (rpipe->pipe_pages.cnt == 0) { rpipe->pipe_state &= ~PIPE_WANTW; wakeup(rpipe); } @@ -852,7 +852,7 @@ pipe_build_write_buffer(struct pipe *wpipe, struct uio PIPE_LOCK_ASSERT(wpipe, MA_OWNED); KASSERT((wpipe->pipe_state & PIPE_DIRECTW) == 0, ("%s: PIPE_DIRECTW set on %p", __func__, wpipe)); - KASSERT(wpipe->pipe_map.cnt == 0, + KASSERT(wpipe->pipe_pages.cnt == 0, ("%s: pipe map for %p contains residual data", __func__, wpipe)); if (uio->uio_iov->iov_len > wpipe->pipe_buffer.size) @@ -864,17 +864,17 @@ pipe_build_write_buffer(struct pipe *wpipe, struct uio PIPE_UNLOCK(wpipe); i = vm_fault_quick_hold_pages(&curproc->p_vmspace->vm_map, (vm_offset_t)uio->uio_iov->iov_base, size, VM_PROT_READ, - wpipe->pipe_map.ms, PIPENPAGES); + wpipe->pipe_pages.ms, PIPENPAGES); PIPE_LOCK(wpipe); if (i < 0) { wpipe->pipe_state &= ~PIPE_DIRECTW; return (EFAULT); } - wpipe->pipe_map.npages = i; - wpipe->pipe_map.pos = + wpipe->pipe_pages.npages = i; + wpipe->pipe_pages.pos = ((vm_offset_t) uio->uio_iov->iov_base) & PAGE_MASK; - wpipe->pipe_map.cnt = size; + wpipe->pipe_pages.cnt = size; uio->uio_iov->iov_len -= size; uio->uio_iov->iov_base = (char *)uio->uio_iov->iov_base + size; @@ -895,12 +895,12 @@ pipe_destroy_write_buffer(struct pipe *wpipe) PIPE_LOCK_ASSERT(wpipe, MA_OWNED); KASSERT((wpipe->pipe_state & PIPE_DIRECTW) != 0, ("%s: PIPE_DIRECTW not set on %p", __func__, wpipe)); - KASSERT(wpipe->pipe_map.cnt == 0, + KASSERT(wpipe->pipe_pages.cnt == 0, ("%s: pipe map for %p contains residual data", __func__, wpipe)); wpipe->pipe_state &= ~PIPE_DIRECTW; - vm_page_unhold_pages(wpipe->pipe_map.ms, wpipe->pipe_map.npages); - wpipe->pipe_map.npages = 0; + vm_page_unhold_pages(wpipe->pipe_pages.ms, wpipe->pipe_pages.npages); + wpipe->pipe_pages.npages = 0; } /* @@ -920,9 +920,9 @@ pipe_clone_write_buffer(struct pipe *wpipe) KASSERT((wpipe->pipe_state & PIPE_DIRECTW) != 0, ("%s: PIPE_DIRECTW not set on %p", __func__, wpipe)); - size = wpipe->pipe_map.cnt; - pos = wpipe->pipe_map.pos; - wpipe->pipe_map.cnt = 0; + size = wpipe->pipe_pages.cnt; + pos = wpipe->pipe_pages.pos; + wpipe->pipe_pages.cnt = 0; wpipe->pipe_buffer.in = size; wpipe->pipe_buffer.out = 0; @@ -938,7 +938,7 @@ pipe_clone_write_buffer(struct pipe *wpipe) uio.uio_segflg = UIO_SYSSPACE; uio.uio_rw = UIO_READ; uio.uio_td = curthread; - uiomove_fromphys(wpipe->pipe_map.ms, pos, size, &uio); + uiomove_fromphys(wpipe->pipe_pages.ms, pos, size, &uio); PIPE_LOCK(wpipe); pipe_destroy_write_buffer(wpipe); } @@ -1002,7 +1002,7 @@ retry: goto error1; } - while (wpipe->pipe_map.cnt != 0 && + while (wpipe->pipe_pages.cnt != 0 && (wpipe->pipe_state & PIPE_EOF) == 0) { if (wpipe->pipe_state & PIPE_WANTR) { wpipe->pipe_state &= ~PIPE_WANTR; @@ -1019,7 +1019,7 @@ retry: } if ((wpipe->pipe_state & PIPE_EOF) != 0) { - wpipe->pipe_map.cnt = 0; + wpipe->pipe_pages.cnt = 0; pipe_destroy_write_buffer(wpipe); pipeselwakeup(wpipe); error = EPIPE; @@ -1144,7 +1144,7 @@ pipe_write(struct file *fp, struct uio *uio, struct uc * pipe buffer. We break out if a signal occurs or the * reader goes away. */ - if (wpipe->pipe_map.cnt != 0) { + if (wpipe->pipe_pages.cnt != 0) { if (wpipe->pipe_state & PIPE_WANTR) { wpipe->pipe_state &= ~PIPE_WANTR; wakeup(wpipe); @@ -1362,8 +1362,8 @@ pipe_ioctl(struct file *fp, u_long cmd, void *data, st PIPE_UNLOCK(mpipe); return (0); } - if (mpipe->pipe_map.cnt != 0) - *(int *)data = mpipe->pipe_map.cnt; + if (mpipe->pipe_pages.cnt != 0) + *(int *)data = mpipe->pipe_pages.cnt; else *(int *)data = mpipe->pipe_buffer.cnt; break; @@ -1418,7 +1418,7 @@ pipe_poll(struct file *fp, int events, struct ucred *a goto locked_error; #endif if (fp->f_flag & FREAD && events & (POLLIN | POLLRDNORM)) - if (rpipe->pipe_map.cnt > 0 || rpipe->pipe_buffer.cnt > 0) + if (rpipe->pipe_pages.cnt > 0 || rpipe->pipe_buffer.cnt > 0) revents |= events & (POLLIN | POLLRDNORM); if (fp->f_flag & FWRITE && events & (POLLOUT | POLLWRNORM)) @@ -1500,8 +1500,8 @@ pipe_stat(struct file *fp, struct stat *ub, struct ucr bzero(ub, sizeof(*ub)); ub->st_mode = S_IFIFO; ub->st_blksize = PAGE_SIZE; - if (pipe->pipe_map.cnt != 0) - ub->st_size = pipe->pipe_map.cnt; + if (pipe->pipe_pages.cnt != 0) + ub->st_size = pipe->pipe_pages.cnt; else ub->st_size = pipe->pipe_buffer.cnt; ub->st_blocks = howmany(ub->st_size, ub->st_blksize); @@ -1591,9 +1591,9 @@ pipe_free_kmem(struct pipe *cpipe) } #ifndef PIPE_NODIRECT { - cpipe->pipe_map.cnt = 0; - cpipe->pipe_map.pos = 0; - cpipe->pipe_map.npages = 0; + cpipe->pipe_pages.cnt = 0; + cpipe->pipe_pages.pos = 0; + cpipe->pipe_pages.npages = 0; } #endif } @@ -1739,7 +1739,7 @@ filt_piperead(struct knote *kn, long hint) PIPE_LOCK_ASSERT(rpipe, MA_OWNED); kn->kn_data = rpipe->pipe_buffer.cnt; if (kn->kn_data == 0) - kn->kn_data = rpipe->pipe_map.cnt; + kn->kn_data = rpipe->pipe_pages.cnt; if ((rpipe->pipe_state & PIPE_EOF) != 0 && ((rpipe->pipe_state & PIPE_NAMED) == 0 || Modified: stable/12/sys/sys/pipe.h ============================================================================== --- stable/12/sys/sys/pipe.h Fri Aug 21 00:34:33 2020 (r364444) +++ stable/12/sys/sys/pipe.h Fri Aug 21 00:59:15 2020 (r364445) @@ -103,7 +103,7 @@ struct pipemapping { */ struct pipe { struct pipebuf pipe_buffer; /* data storage */ - struct pipemapping pipe_map; /* pipe mapping for direct I/O */ + struct pipemapping pipe_pages; /* wired pages for direct I/O */ struct selinfo pipe_sel; /* for compat with select */ struct timespec pipe_atime; /* time of last access */ struct timespec pipe_mtime; /* time of last modify */ From owner-svn-src-all@freebsd.org Fri Aug 21 02:53:07 2020 Return-Path: Delivered-To: svn-src-all@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 DFC9F3B10C0; Fri, 21 Aug 2020 02:53:07 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BXmKb5DHLz4LVJ; Fri, 21 Aug 2020 02:53:07 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from comporellon.tachypleus.net (unknown [IPv6:2601:405:4a00:acd:1d43:30af:e8ef:9360]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: nwhitehorn/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 6A9C326304; Fri, 21 Aug 2020 02:53:07 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Subject: Re: svn commit: r364379 - head/sys/dev/usb/controller To: Hans Petter Selasky , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008191150.07JBoCjh096637@repo.freebsd.org> <27bfd7dd-0469-17f1-c360-821714636da6@selasky.org> From: Nathan Whitehorn Autocrypt: addr=nwhitehorn@freebsd.org; keydata= mQINBFuARN8BEADLKYsG3l1aq/M21R59I/5EsEfvtvd15ZJ9lDHcWPuxzIfGnu2LMpe5PrFP e/Y4bcsPrlB4S3I3ooIUDvoEEsDeqgqlZod3QevOK/RjLqiqx1i/4mKnobJ++3ppyVVIccgN sUrj786OYCFCI/W+uWw7cbKewNeaL//Z/TDKlHLkssiy6qmZbNQ0ZjcMLJKUesk4eVg2TtTD HNe42ZuxbUC9iLYieO4c7kQB4qiFhagDRiObXrLzvm2MQYeAaNVRqID+mfI75TWrQ+t98iVu mHvFu461eeteq59jg6H/IL07ACxL+HzEVM+D6tPtPrz7ppr3wiZL5Cu17yu0nAx0nhJTV8ZB qza1rOVun0x65S14L41XD2HkmBDxTaRlTg8ypnkLFo8kh+MEq4k67apL/DUGcaUjKy2TVUC7 3igLO/DwQHrkWx2RrOmS3xS0TgGXVmB47nq2Zveo3fcjporQK63n2sbLkS70cfAJAJ9KHEIx u9am44iW5Ku3+mVLgQYybtcUxlk/Jw/BA5V6KUcDQMd5kTm0MyagziqMaT+57ceYxwRBK4HC DCLRpSOHV81/YzyL5vnwfHsxADm3091rd0uwr8uRCQn7wLvlcFyp/JKSFkVnE1oo7UE4QQJZ GbSJyvj7GdXu0LdghALcMj/thdb+js4D3UuCaAMecgVSscxEIQARAQABtClOYXRoYW4gV2hp dGVob3JuIDxud2hpdGVob3JuQGZyZWVic2Qub3JnPokCTgQTAQgAOBYhBD1kIPqoIUk+gL8N YTi2TZRmhOh3BQJbgFJIAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEDi2TZRmhOh3 M6YP/RHkgLWCPGGBSKZ3an3GhRMO2B5qd+g5QGUt4gvvdMMgUqwvmUva4obvgS5qXbYOmFGM cP5myo1mcJ45Q06Qdy8pnFEBBm4dKlNZT8LHAz/lr0/I8FINJcIdwmyxHJzELW7nlBy+ZO0z rCJ4CK//MMCAlomj6s9ydaGF0Dnbj9LmE+CS/ZZaYqil5KgsXO2rbN1wa0QOpZjAc8I1NyDN 10nWTZSLeFcbfTWItc8bxVC8NOerG25OVMxjyvqp15ZSExL5NfxIMsrTAjk5AsLr0bCW3tGA A0eM2cwLBhAfdh3fdj+/8tzakafFwR8XrA6YWrvgFmIjCgXfbVGp058595SDHGM1BeCJ94Bm TJMbCTsGPTUbRsWXJ4ytjziqMPPYkXif+NdWNLX3/TTu4oGPGsPQjbTA2xTfLLjNFKLv0ieT XTMg3vMhiOsZnfKt65fwoJWh+mfBe9S4ImNiI2C6H/gr9rpjZZQ3f85+AUAQrVjZJwaOctTC wOr8o8odS5WrpwZVEQhJj8TdOiHKPsAS8+zsjdGucfkXBHnSctMS1uv9QMTTrMvWhuihzYlw 2pC3LHEvxUpv1lk+jH42uRqbMF0FfSPkundHalWXY/HZKWdukc5lhIcGYR9bcm+Eq5/P0Qyv 3q8Q6hIjx6pN4828q8aA0lDnQ1LOtGZjToGZUrcmuQINBFuARRkBEAC9SmeRBQpprN52L+js v29No0eITfSrXTbNhqLB4ikDcnGFDih9yunAQyKk+y++unxYute4NH70qnKpvHOzHENKrSNg uDgs0ga7/4iQMs2rWqTgSQ97JfmW6ilqJXbtKyKvLvK2Jt1lJo7I2uB3Sg3pupHc0WMElIyg EHm/goNnZA401BPGmkgwl9vD4UHxn4+om3CrqpcNWFIrJ/bHKjtg/CcINz3DA7KuyKTlg+jO IgH1Xf5cmCW8e4LeQoMqkXu5y9E+4/M+o6YKiLLplSk5pc0pep/+9S+5fVW2YTDjNXVIY1KK E5IqWZ5HsjxcsfEVEVgm/auR7iVreIi2dkJVrKczMMV0KBOqqwg3eXwfaUZo1NWL6FaHruYK tHkSblUWKSR2sLfDUnrFTj8/fRTHba6fDUhoxHPVnptEjCsSvUxCEVWZN9V64XjlFCO3cF72 e75ikbGp2R1PRPWgDFmmX0pHTGPKUImqKuF4krGrY64pf8iRUTyQvbNF49i6e4ycGwlAHhSq FBZkVBwvUZeDp9DFfL2Rht/QtjYH0yfcT5zRL0aI3oX6I7luCYvm4K4HG461BvTkvxZ2xmo3 dACzmwEyAClpseEaMOsbgwosnTFhehd4Qz1Kl4Yiry8/yqISEodt6vRjs5jAsT2okDBCc6qx +dww3ymXNvEGrf+AvQARAQABiQRsBBgBCAAgFiEEPWQg+qghST6Avw1hOLZNlGaE6HcFAluA RRkCGwICQAkQOLZNlGaE6HfBdCAEGQEIAB0WIQTTpX+yMt35tfRft49NUswkCJ+wagUCW4BF GQAKCRBNUswkCJ+waqoWEACAWq6YgCh4H+JPNxM33ENOmKZ+WmIfr7jgoy1UAhUz0OshLPHM dy4oyaPefNaio5jcp8rvuT7qxA19s1VOyA6NIvCBnMzs+x9bTkQdZ31mcBcESNltKShYO3mq JE8Iz665xUlY2U45x8oGO+pYvWXvZv1C4pXtqczzQQldRuYJ+zfHyGmJoDP6exj0ALVfApH1 RKrCHt51ZottN0gcy4fkmBF+D13hUWAEtq0TBXw+2m6Qwq5xQmWkItzw4x9CF+wE78hNodY5 TXoifJvMB78O/ltPUqUiiPn6FAmi7ErDA3Ue+b4dSBWCx/i+jhh08blrbTQeMr6yswQJzx3M m6BDvYsKZKC9WNI9YKJxopd/udikmcPSoBTyWgMhjm0FPMb3c9Ay9nlbV04LlaqT7DsG8WbL X6O8CZUEpsB8r2kptm4wjjkIywT5eyXbcoNMV449KRzobWDCLOzA50cqTCPwa+YaHUamcoXs 7f3g0AllZVg3J48tq3orQrbmd80/n6AK158fURHR4pPf1m7Z8LGvmfN5vSpw81IgJ0KQEg7P mBsrOZKXGRNvtiHipWvdC9+ex1OSHRNtKTL7bbBYV01atsw74pspBLwXbH/lWnUtFucwav41 wbtHYdfbhxpXZRL0YLcrJq6+oatJlUxzAjO3wz/EuU/5OAwMGJVptO80308ID/4jEYmXl0Ux PEXv2/FjHser/OdhzQNhLft9bBlMiSGwui5Rv0tWPZ7dB7gxsuJIBzvb/FoJXbFysmm+o4Bt go0xQqXqFBX4pD9KYKTDo9q4Bh+0k+NGKvBMJI9pwFu+Ix+u1dbrFnpi/q2nFRfYEKeZiKOD HOxMMcSeYEFaHqiiy5A7QDuW7i7e4uGY0Ls7vnxrNQTWpEIe9E6kIjIHtNWAOIypL8+tiuxr CckPYFEDEmJmp1XIIoFXOIgGceky7huMvtyWHAuE1RjrZpN34nuntpoPlYv0PpPNAIg20HBA eX+reoTCRquUz5F2yZuZRL4o2/sSbDwu4m1As4G0QNaWB7j3grTn6AEVhMbjLgA+QkPpvpN8 s3iEVlEyzuypuGhRR9sMMB/8itWKtCV4/TGoAGJkoK+LsVllfIuu2m9ekV9HAOg3583ame9L NQD0nD35egjdIv7PhbZDYVgPq1NS27b8wz8RqvYWlw+1kUSD62byWu/oFLLifHfUh66ImLCk kbJJBZ5XgGKb/mVpBRiyw7zJUJZgIyTB1NcCWr09n7X+44KuocAYM/hE7NKv8To/5PFmsWFu Y8m1Qh/j7U8/gOdAT7+Q4tLczRRU/ngcW8b/1ajWMY6UuZhrp/WfLoKHS79VYK39OClHRLSU hr911kye7XJLUdGr4S2k+enQb7kCDQRbgEVBARAA4soW2Dq6zQAsDsu2+PEiyQiCoUmMfDaR r9S10njfY/2S+YGrvPi/T6b+CTEI44bTIOLYK/8AsmhuzJvnq1tToxTRJGNOKjflLaOK3fr0 HUEMLZMs0XffuxSq5THSXjCQRcQF5+8tFii4XwFFuSCO96DuwDg2OyJ25DH3a88mcGhofY5b GoNuvlfqQXlzH2M+spQnhmof+toT9JIOG2jDhoo7SdZu15UZyTXlbVf9LwrOI9cprPEJDyqm tBFMB6Gx0b9tJtYP3mGndMCURuXg3hSqpLufiMJm6cJ6KLZMNkdW/H+WkUBPZ7PHrjqnY9SY fmGmJUyBtjm4dzJqHA1/54047uCi2c1iiJ6gvDh9R5Ng6r6zcg2KwIHiKi9Bxk4JhLObBGiV BGCBfS0FJ6dHo+CnfxiNUiRa8weHFtWJ8C6yO9Vub8ZB4DYxoK2SiDncjJ+juuL0N42lW5Fz /jsHEeLwm13LIaAs7XcCNzBzpXsot4ObD9JckAyyy5ZCVfOzw6Cyk2+3KYGHmurhOXEBjrkv di//KHSLMTO04k7c5v3LeAuuntN4MjQQ71LIa4VduBZj81eUPBYdaC4yA7sNYz8rF5oxjId+ d98h5Dq6EzbXLjYjs1XXWZbDJy/9cmQgPd93sZYF5xqR1idgj/sVgwMeaxRA+ZIyRuoKphxl 7jsAEQEAAYkCNgQYAQgAIBYhBD1kIPqoIUk+gL8NYTi2TZRmhOh3BQJbgEVBAhsMAAoJEDi2 TZRmhOh3ZFsQAJtDZvAnf75u+pyUStt6R/sFdiNrfv8fEYTrurf3F/byF6fy9Ya1fCrhtaZl PkfxsGpeKADhtRTic3hffEQN9PKqRAy4NOefBPtjrUHhASqGLhqrhp1/8o/SXVQKDgInQpL3 fUdqf5VuK5Rxtp27VlffsR/qD+Eb6a3n0V5cMxTSt6uzYGmvzMHzLCiMCxUL3aS84cuwJC10 Kw/ML5HoHVtjr9F72yUzU0F37aTgFRWFi7wVvwivfs6Y3RoZDNi5FzN+uZH85Xn/X6Dld5hI Vur/RDcqQVYsd+KZ9/yVv0ZFat285SljIaW6/j1v8bmj2VLE/BfIF9qhWL9YMN8n9cnD0f3R crrxNjE98RCR64sQTOD4HPdl527KjZnHhLlqkuoBu/RHN25eAgZhlU+7xHjJrydBYd5Smi3X uW3xIvvIWQwloBeTbtCpQBrGOqcYEufvRgxZcUbJJ++OBpHUW279L8dIqofubxoVhl+2qztm iNc12oYdkpGsjHqFFRi5lAzy7EcPB4XiMX5AjBghSa2vLmHyK2JKO30oeOmQfdbPmjWaTpxs U037CCkemUOX+JkxmMWyRMAl8SxgdVJKbbXNxi++iCtupi9yIxO3Lrn7QDwbP20xtw3H149o agz72N4V6GvNON1qJOIL66ZJ39jb0MJbg4EyvVV+59VUpt8B Message-ID: Date: Thu, 20 Aug 2020 22:53:06 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <27bfd7dd-0469-17f1-c360-821714636da6@selasky.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 02:53:07 -0000 On 2020-08-20 13:47, Hans Petter Selasky wrote: > On 2020-08-20 18:21, Hans Petter Selasky wrote: >> On 2020-08-20 18:14, Hans Petter Selasky wrote: >>> On 2020-08-20 17:51, Nathan Whitehorn wrote: >>>> Either this or r364347 has broken Yubikeys (at least Yubikey 4) >>>> plugged >>>> into XHCI ports, which are completely invisible to the USB stack after >>>> the change. I'm going to try to debug further, but wanted to give >>>> you a >>>> heads-up in case you can get there first. >>>> -Nathan >>>> >>> >>> Let me know if you can isolate the commit. There has been two >>> commits recently in the XHCI code. >> >> I'm on it. Let me run some test here. >> > > See: > https://svnweb.freebsd.org/changeset/base/364433 > > Thanks to Ed Maste who quickly tested my patch. > > --HPS > That was incredibly fast! Everything works fine again. Thanks much! -Nathan From owner-svn-src-all@freebsd.org Fri Aug 21 03:23:11 2020 Return-Path: Delivered-To: svn-src-all@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 7273B3B125B; Fri, 21 Aug 2020 03:23:11 +0000 (UTC) (envelope-from bdragon@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 4BXn0H2WDdz4MwC; Fri, 21 Aug 2020 03:23:11 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3B2431ED5B; Fri, 21 Aug 2020 03:23:11 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L3NBdF087434; Fri, 21 Aug 2020 03:23:11 GMT (envelope-from bdragon@FreeBSD.org) Received: (from bdragon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L3NA5W087433; Fri, 21 Aug 2020 03:23:10 GMT (envelope-from bdragon@FreeBSD.org) Message-Id: <202008210323.07L3NA5W087433@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdragon set sender to bdragon@FreeBSD.org using -f From: Brandon Bergren Date: Fri, 21 Aug 2020 03:23:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364446 - head/sys/powerpc/powernv X-SVN-Group: head X-SVN-Commit-Author: bdragon X-SVN-Commit-Paths: head/sys/powerpc/powernv X-SVN-Commit-Revision: 364446 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 03:23:11 -0000 Author: bdragon Date: Fri Aug 21 03:23:10 2020 New Revision: 364446 URL: https://svnweb.freebsd.org/changeset/base/364446 Log: [PowerPC64] Fix invalid OPAL call in xive_bind(). This fixes spurious "XIVE[ IC 00 ] ISN 1 lead to invalid IVE !" messages generated by OPAL when running with the debug level cranked up. Discussed with jhibbits. Sponsored by: Tag1 Consulting, Inc. Modified: head/sys/powerpc/powernv/opal.h head/sys/powerpc/powernv/xive.c Modified: head/sys/powerpc/powernv/opal.h ============================================================================== --- head/sys/powerpc/powernv/opal.h Fri Aug 21 00:59:15 2020 (r364445) +++ head/sys/powerpc/powernv/opal.h Fri Aug 21 03:23:10 2020 (r364446) @@ -173,6 +173,9 @@ int opal_call(uint64_t token, ...); #define OPAL_XIVE_XICS_MODE_EMU 0 #define OPAL_XIVE_XICS_MODE_EXP 1 +#define OPAL_XIVE_SYNC_EAS 0x00000001 +#define OPAL_XIVE_SYNC_QUEUE 0x00000002 + #define OPAL_XIVE_VP_ENABLED 0x00000001 #define OPAL_XIVE_VP_SINGLE_ESCALATION 0x00000002 Modified: head/sys/powerpc/powernv/xive.c ============================================================================== --- head/sys/powerpc/powernv/xive.c Fri Aug 21 00:59:15 2020 (r364445) +++ head/sys/powerpc/powernv/xive.c Fri Aug 21 03:23:10 2020 (r364446) @@ -466,7 +466,7 @@ xive_bind(device_t dev, u_int irq, cpuset_t cpumask, v ncpus++; } - opal_call(OPAL_XIVE_SYNC); + opal_call(OPAL_XIVE_SYNC, OPAL_XIVE_SYNC_QUEUE, irq); irqd->vp = pcpu_find(cpu)->pc_hwref; error = opal_call(OPAL_XIVE_SET_IRQ_CONFIG, irq, irqd->vp, From owner-svn-src-all@freebsd.org Fri Aug 21 03:31:02 2020 Return-Path: Delivered-To: svn-src-all@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 606083B1C88; Fri, 21 Aug 2020 03:31:02 +0000 (UTC) (envelope-from bdragon@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 4BXn9L1rxHz4NDK; Fri, 21 Aug 2020 03:31:02 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 22D5A1F023; Fri, 21 Aug 2020 03:31:02 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L3V2Zn087860; Fri, 21 Aug 2020 03:31:02 GMT (envelope-from bdragon@FreeBSD.org) Received: (from bdragon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L3V1sD087858; Fri, 21 Aug 2020 03:31:01 GMT (envelope-from bdragon@FreeBSD.org) Message-Id: <202008210331.07L3V1sD087858@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdragon set sender to bdragon@FreeBSD.org using -f From: Brandon Bergren Date: Fri, 21 Aug 2020 03:31:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364447 - head/sys/powerpc/aim X-SVN-Group: head X-SVN-Commit-Author: bdragon X-SVN-Commit-Paths: head/sys/powerpc/aim X-SVN-Commit-Revision: 364447 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 03:31:02 -0000 Author: bdragon Date: Fri Aug 21 03:31:01 2020 New Revision: 364447 URL: https://svnweb.freebsd.org/changeset/base/364447 Log: [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 Modified: head/sys/powerpc/aim/aim_machdep.c head/sys/powerpc/aim/mmu_oea.c Modified: head/sys/powerpc/aim/aim_machdep.c ============================================================================== --- head/sys/powerpc/aim/aim_machdep.c Fri Aug 21 03:23:10 2020 (r364446) +++ head/sys/powerpc/aim/aim_machdep.c Fri Aug 21 03:31:01 2020 (r364447) @@ -390,6 +390,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; Modified: head/sys/powerpc/aim/mmu_oea.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea.c Fri Aug 21 03:23:10 2020 (r364446) +++ head/sys/powerpc/aim/mmu_oea.c Fri Aug 21 03:31:01 2020 (r364447) @@ -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,14 +696,7 @@ moea_bootstrap(vm_offset_t kernelstart, vm_offset_t ke 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,25 +712,8 @@ moea_bootstrap(vm_offset_t kernelstart, vm_offset_t ke 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); + powerpc_sync(); - /* - * 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); - /* map pci space */ __asm __volatile("mtdbatu 1,%0" :: "r"(battable[8].batu)); __asm __volatile("mtdbatl 1,%0" :: "r"(battable[8].batl)); @@ -910,15 +912,21 @@ moea_bootstrap(vm_offset_t kernelstart, vm_offset_t ke /* * 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(translations[i].om_va + off, - translations[i].om_pa + off); + moea_kenter_attr(translations[i].om_va + off, + translations[i].om_pa + off, + moea_bootstrap_convert_wimg(translations[i].om_mode)); } } From owner-svn-src-all@freebsd.org Fri Aug 21 03:50:26 2020 Return-Path: Delivered-To: svn-src-all@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 29DD13B20BB; Fri, 21 Aug 2020 03:50:26 +0000 (UTC) (envelope-from kevans@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 4BXnbk0J5Kz4Nts; Fri, 21 Aug 2020 03:50:26 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DD7541F534; Fri, 21 Aug 2020 03:50:25 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L3oPpd099687; Fri, 21 Aug 2020 03:50:25 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L3oPaF099686; Fri, 21 Aug 2020 03:50:25 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202008210350.07L3oPaF099686@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 21 Aug 2020 03:50:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364448 - stable/12/lib/libc/sys X-SVN-Group: stable-12 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: stable/12/lib/libc/sys X-SVN-Commit-Revision: 364448 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 03:50:26 -0000 Author: kevans Date: Fri Aug 21 03:50:25 2020 New Revision: 364448 URL: https://svnweb.freebsd.org/changeset/base/364448 Log: MFC r363398 (asomers): document close_range(2) as async-signal-safe Modified: stable/12/lib/libc/sys/sigaction.2 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libc/sys/sigaction.2 ============================================================================== --- stable/12/lib/libc/sys/sigaction.2 Fri Aug 21 03:31:01 2020 (r364447) +++ stable/12/lib/libc/sys/sigaction.2 Fri Aug 21 03:50:25 2020 (r364448) @@ -28,7 +28,7 @@ .\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94 .\" $FreeBSD$ .\" -.Dd June 28, 2018 +.Dd June 29, 2020 .Dt SIGACTION 2 .Os .Sh NAME @@ -569,6 +569,7 @@ Extension Interfaces: .Pp .Fn accept4 , .Fn bindat , +.Fn close_range , .Fn closefrom , .Fn connectat , .Fn eaccess , From owner-svn-src-all@freebsd.org Fri Aug 21 06:20:12 2020 Return-Path: Delivered-To: svn-src-all@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 940783B4625; Fri, 21 Aug 2020 06:20:12 +0000 (UTC) (envelope-from gbe@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 4BXrwX39SPz4TwR; Fri, 21 Aug 2020 06:20:12 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 33C6C20CD7; Fri, 21 Aug 2020 06:20:12 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L6KCpC091290; Fri, 21 Aug 2020 06:20:12 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L6KC6M091289; Fri, 21 Aug 2020 06:20:12 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008210620.07L6KC6M091289@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Fri, 21 Aug 2020 06:20:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364449 - head/bin/ls X-SVN-Group: head X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: head/bin/ls X-SVN-Commit-Revision: 364449 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 06:20:12 -0000 Author: gbe (doc committer) Date: Fri Aug 21 06:20:11 2020 New Revision: 364449 URL: https://svnweb.freebsd.org/changeset/base/364449 Log: ls(1): Update POSIX conformance from 2001 to 2008 - Update the options that are non-existing in POSIX from 2001 to 2008 - Update POSIX conformance in the STANDARDS section from 2001 to 2008 Verified by checking [1]. [1] https://pubs.opengroup.org/onlinepubs/9699919799.2016edition/toc.htm PR: 140435 Submitted by: Dan Lukes Reviewed by: bcr Approved by: bcr MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26096 Modified: head/bin/ls/ls.1 Modified: head/bin/ls/ls.1 ============================================================================== --- head/bin/ls/ls.1 Fri Aug 21 03:50:25 2020 (r364448) +++ head/bin/ls/ls.1 Fri Aug 21 06:20:11 2020 (r364449) @@ -32,7 +32,7 @@ .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 .\" $FreeBSD$ .\" -.Dd May 21, 2020 +.Dd August 21, 2020 .Dt LS 1 .Os .Sh NAME @@ -89,7 +89,7 @@ where .Va xxx is the numeric value of the character in octal. This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl C Force multi-column output; this is the default when output is to a terminal. .It Fl D Ar format @@ -108,7 +108,7 @@ This option overrides the .Fl T option. This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl F Display a slash .Pq Ql / @@ -141,7 +141,7 @@ in the environment and setting This functionality can be compiled out by removing the definition of .Ev COLORLS . This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl H Symbolic links on the command line are followed. This option is assumed if @@ -155,7 +155,7 @@ Prevent .Fl A from being automatically set for the super-user. This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl L If argument is a symbolic link, list the file or directory the link references rather than the link itself. @@ -184,15 +184,15 @@ The .Fl D option gives even more control over the output format. This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl U Use time when file was created for sorting or printing. This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl W Display whiteouts when scanning directories. This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl Z Display each file's MAC label; see .Xr maclabel 7 . @@ -895,13 +895,13 @@ and the .Nm utility conforms to -.St -p1003.1-2001 . +.St -p1003.1-2008 . The options .Fl B , D , G , I , T , U , W , Z , b , h , w , y and .Fl , are compatible extensions not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .Pp The ACL support is compatible with .Tn IEEE From owner-svn-src-all@freebsd.org Fri Aug 21 07:03:54 2020 Return-Path: Delivered-To: svn-src-all@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 CA5C13B5746; Fri, 21 Aug 2020 07:03:54 +0000 (UTC) (envelope-from gbe@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 4BXsty51YKz4Xd9; Fri, 21 Aug 2020 07:03:54 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8F4B121473; Fri, 21 Aug 2020 07:03:54 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L73sKR021493; Fri, 21 Aug 2020 07:03:54 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L73sL8021492; Fri, 21 Aug 2020 07:03:54 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008210703.07L73sL8021492@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Fri, 21 Aug 2020 07:03:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364450 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 364450 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 07:03:54 -0000 Author: gbe (doc committer) Date: Fri Aug 21 07:03:54 2020 New Revision: 364450 URL: https://svnweb.freebsd.org/changeset/base/364450 Log: gre(4): Mention sysctl for nesting gre tunnels PR: 228465 Submitted by: Sergey Akhmatov Reviewed by: bcr Approved by: bcr MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26097 Modified: head/share/man/man4/gre.4 Modified: head/share/man/man4/gre.4 ============================================================================== --- head/share/man/man4/gre.4 Fri Aug 21 06:20:11 2020 (r364449) +++ head/share/man/man4/gre.4 Fri Aug 21 07:03:54 2020 (r364450) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 29, 2020 +.Dd August 21, 2020 .Dt GRE 4 .Os .Sh NAME @@ -210,6 +210,15 @@ The kernel must be set to forward datagrams by setting .Va net.inet.ip.forwarding .Xr sysctl 8 variable to non-zero. +.Pp +By default, +.Nm +tunnels may not be nested. +This behavior may be modified at runtime by setting the +.Xr sysctl 8 +variable +.Va net.link.gre.max_nesting +to the desired level of nesting. .Sh SEE ALSO .Xr gif 4 , .Xr inet 4 , From owner-svn-src-all@freebsd.org Fri Aug 21 07:52:57 2020 Return-Path: Delivered-To: svn-src-all@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 76CC73B6A89; Fri, 21 Aug 2020 07:52:57 +0000 (UTC) (envelope-from vmaffione@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 4BXtzY2bNLz4Zmx; Fri, 21 Aug 2020 07:52:57 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3D27721FDB; Fri, 21 Aug 2020 07:52:57 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L7qvd3051662; Fri, 21 Aug 2020 07:52:57 GMT (envelope-from vmaffione@FreeBSD.org) Received: (from vmaffione@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L7qvlR051661; Fri, 21 Aug 2020 07:52:57 GMT (envelope-from vmaffione@FreeBSD.org) Message-Id: <202008210752.07L7qvlR051661@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vmaffione set sender to vmaffione@FreeBSD.org using -f From: Vincenzo Maffione Date: Fri, 21 Aug 2020 07:52:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364451 - stable/12/sys/net X-SVN-Group: stable-12 X-SVN-Commit-Author: vmaffione X-SVN-Commit-Paths: stable/12/sys/net X-SVN-Commit-Revision: 364451 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 07:52:57 -0000 Author: vmaffione Date: Fri Aug 21 07:52:56 2020 New Revision: 364451 URL: https://svnweb.freebsd.org/changeset/base/364451 Log: MFC r363996 iflib: netmap: don't increment ifl_cidx on the wrong free list Netmap only uses free list 0 to keep it consistent with its one-to-one mapping between each netmap ring and a device RX (or TX) queue. However, the current iflib_netmap_rxsync() routine was mistakenly updating the ifl_cidx field of both free lists. PR: 248494 Modified: stable/12/sys/net/iflib.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/net/iflib.c ============================================================================== --- stable/12/sys/net/iflib.c Fri Aug 21 07:03:54 2020 (r364450) +++ stable/12/sys/net/iflib.c Fri Aug 21 07:52:56 2020 (r364451) @@ -1081,28 +1081,28 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl struct netmap_adapter *na = kring->na; struct netmap_ring *ring = kring->ring; if_t ifp = na->ifp; - iflib_fl_t fl; uint32_t nm_i; /* index into the netmap ring */ uint32_t nic_i; /* index into the NIC ring */ - u_int i, n; + u_int n; u_int const lim = kring->nkr_num_slots - 1; u_int const head = kring->rhead; int force_update = (flags & NAF_FORCE_READ) || kring->nr_kflags & NKR_PENDINTR; - struct if_rxd_info ri; if_ctx_t ctx = ifp->if_softc; iflib_rxq_t rxq = &ctx->ifc_rxqs[kring->ring_id]; + iflib_fl_t fl = &rxq->ifr_fl[0]; + struct if_rxd_info ri; + if (head > lim) return netmap_ring_reinit(kring); /* - * XXX netmap_fl_refill() only ever (re)fills free list 0 so far. + * netmap only uses free list 0, to avoid out of order consumption + * of receive buffers */ - for (i = 0, fl = rxq->ifr_fl; i < rxq->ifr_nfl; i++, fl++) { - bus_dmamap_sync(fl->ifl_ifdi->idi_tag, fl->ifl_ifdi->idi_map, - BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); - } + bus_dmamap_sync(fl->ifl_ifdi->idi_tag, fl->ifl_ifdi->idi_map, + BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); /* * First part: import newly received packets. @@ -1124,38 +1124,35 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl int crclen = iflib_crcstrip ? 0 : 4; int error, avail; - for (i = 0; i < rxq->ifr_nfl; i++) { - fl = &rxq->ifr_fl[i]; - nic_i = fl->ifl_cidx; - nm_i = netmap_idx_n2k(kring, nic_i); - avail = ctx->isc_rxd_available(ctx->ifc_softc, - rxq->ifr_id, nic_i, USHRT_MAX); - for (n = 0; avail > 0 && nm_i != hwtail_lim; n++, avail--) { - rxd_info_zero(&ri); - ri.iri_frags = rxq->ifr_frags; - ri.iri_qsidx = kring->ring_id; - ri.iri_ifp = ctx->ifc_ifp; - ri.iri_cidx = nic_i; + nic_i = fl->ifl_cidx; + nm_i = netmap_idx_n2k(kring, nic_i); + avail = ctx->isc_rxd_available(ctx->ifc_softc, + rxq->ifr_id, nic_i, USHRT_MAX); + for (n = 0; avail > 0 && nm_i != hwtail_lim; n++, avail--) { + rxd_info_zero(&ri); + ri.iri_frags = rxq->ifr_frags; + ri.iri_qsidx = kring->ring_id; + ri.iri_ifp = ctx->ifc_ifp; + ri.iri_cidx = nic_i; - error = ctx->isc_rxd_pkt_get(ctx->ifc_softc, &ri); - ring->slot[nm_i].len = error ? 0 : ri.iri_len - crclen; - ring->slot[nm_i].flags = 0; - bus_dmamap_sync(fl->ifl_buf_tag, - fl->ifl_sds.ifsd_map[nic_i], BUS_DMASYNC_POSTREAD); - nm_i = nm_next(nm_i, lim); - nic_i = nm_next(nic_i, lim); + error = ctx->isc_rxd_pkt_get(ctx->ifc_softc, &ri); + ring->slot[nm_i].len = error ? 0 : ri.iri_len - crclen; + ring->slot[nm_i].flags = 0; + bus_dmamap_sync(fl->ifl_buf_tag, + fl->ifl_sds.ifsd_map[nic_i], BUS_DMASYNC_POSTREAD); + nm_i = nm_next(nm_i, lim); + nic_i = nm_next(nic_i, lim); + } + if (n) { /* update the state variables */ + if (netmap_no_pendintr && !force_update) { + /* diagnostics */ + iflib_rx_miss ++; + iflib_rx_miss_bufs += n; } - if (n) { /* update the state variables */ - if (netmap_no_pendintr && !force_update) { - /* diagnostics */ - iflib_rx_miss ++; - iflib_rx_miss_bufs += n; - } - fl->ifl_cidx = nic_i; - kring->nr_hwtail = nm_i; - } - kring->nr_kflags &= ~NKR_PENDINTR; + fl->ifl_cidx = nic_i; + kring->nr_hwtail = nm_i; } + kring->nr_kflags &= ~NKR_PENDINTR; } /* * Second part: skip past packets that userspace has released. @@ -1165,7 +1162,6 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl * nic_i is the index in the NIC ring, and * nm_i == (nic_i + kring->nkr_hwofs) % ring_size */ - /* XXX not sure how this will work with multiple free lists */ nm_i = kring->nr_hwcur; return (netmap_fl_refill(rxq, kring, nm_i, false)); From owner-svn-src-all@freebsd.org Fri Aug 21 07:54:17 2020 Return-Path: Delivered-To: svn-src-all@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 483A63B6AAD; Fri, 21 Aug 2020 07:54:17 +0000 (UTC) (envelope-from vmaffione@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 4BXv151FqNz4Znw; Fri, 21 Aug 2020 07:54:17 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0F700220C1; Fri, 21 Aug 2020 07:54:17 +0000 (UTC) (envelope-from vmaffione@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L7sGA5051795; Fri, 21 Aug 2020 07:54:16 GMT (envelope-from vmaffione@FreeBSD.org) Received: (from vmaffione@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L7sGna051794; Fri, 21 Aug 2020 07:54:16 GMT (envelope-from vmaffione@FreeBSD.org) Message-Id: <202008210754.07L7sGna051794@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vmaffione set sender to vmaffione@FreeBSD.org using -f From: Vincenzo Maffione Date: Fri, 21 Aug 2020 07:54:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364452 - stable/12/sys/net X-SVN-Group: stable-12 X-SVN-Commit-Author: vmaffione X-SVN-Commit-Paths: stable/12/sys/net X-SVN-Commit-Revision: 364452 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 07:54:17 -0000 Author: vmaffione Date: Fri Aug 21 07:54:16 2020 New Revision: 364452 URL: https://svnweb.freebsd.org/changeset/base/364452 Log: MFC r363997 iflib: netmap: drop redundant check The validity of head is already checked by nm_rxsync_prologue(). Modified: stable/12/sys/net/iflib.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/net/iflib.c ============================================================================== --- stable/12/sys/net/iflib.c Fri Aug 21 07:52:56 2020 (r364451) +++ stable/12/sys/net/iflib.c Fri Aug 21 07:54:16 2020 (r364452) @@ -1085,16 +1085,12 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl uint32_t nic_i; /* index into the NIC ring */ u_int n; u_int const lim = kring->nkr_num_slots - 1; - u_int const head = kring->rhead; int force_update = (flags & NAF_FORCE_READ) || kring->nr_kflags & NKR_PENDINTR; if_ctx_t ctx = ifp->if_softc; iflib_rxq_t rxq = &ctx->ifc_rxqs[kring->ring_id]; iflib_fl_t fl = &rxq->ifr_fl[0]; struct if_rxd_info ri; - - if (head > lim) - return netmap_ring_reinit(kring); /* * netmap only uses free list 0, to avoid out of order consumption From owner-svn-src-all@freebsd.org Fri Aug 21 09:48:01 2020 Return-Path: Delivered-To: svn-src-all@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 B7C283B884F; Fri, 21 Aug 2020 09:48:01 +0000 (UTC) (envelope-from 0mp@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 4BXxXK3y5qz3RQB; Fri, 21 Aug 2020 09:48:01 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 680182352B; Fri, 21 Aug 2020 09:48:01 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L9m1nO020276; Fri, 21 Aug 2020 09:48:01 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L9m13u020275; Fri, 21 Aug 2020 09:48:01 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008210948.07L9m13u020275@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 21 Aug 2020 09:48:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364453 - head/usr.sbin/spi X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.sbin/spi X-SVN-Commit-Revision: 364453 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 09:48:01 -0000 Author: 0mp (doc,ports committer) Date: Fri Aug 21 09:48:00 2020 New Revision: 364453 URL: https://svnweb.freebsd.org/changeset/base/364453 Log: Clean up spi.8 - Remove trailing whitespace - Address igor and mandoc warnings - Sort options - Use macros consistently (e.g., Fl for flags, Dq for quoting, Bd for code blocks) - Add a history section - Fix incorrect use of macros in various places MFC after: 2 weeks Modified: head/usr.sbin/spi/spi.8 Modified: head/usr.sbin/spi/spi.8 ============================================================================== --- head/usr.sbin/spi/spi.8 Fri Aug 21 07:54:16 2020 (r364452) +++ head/usr.sbin/spi/spi.8 Fri Aug 21 09:48:00 2020 (r364453) @@ -1,5 +1,5 @@ .\" Copyright (c) 2018 by S.F.T. Inc. -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -23,28 +23,28 @@ .\" .\" $FreeBSD$ .\" -.Dd "15 April 2018" -.Dt spi 8 +.Dd August 21, 2020 +.Dt SPI 8 .Os .Sh NAME .Nm spi .Nd communicate on SPI bus with slave devices .Sh SYNOPSIS .Nm -.Op Fl f Ar device -.Op Fl d Ar r|w|rw -.Op Fl m Ar mode -.Op Fl s Ar max-speed -.Op Fl c Ar count -.Op Fl C Ar cmd_bytes .Op Fl A .Op Fl b .Op Fl L .Op Fl v +.Op Fl C Ar command-bytes +.Op Fl c Ar count +.Op Fl d Cm r Ns | Ns Cm w Ns | Ns Cm rw +.Op Fl f Ar device +.Op Fl m Ar mode +.Op Fl s Ar max-speed .Nm .Op Fl i -.Op Fl f Ar device .Op Fl v +.Op Fl f Ar device .Nm .Op Fl h .Sh DESCRIPTION @@ -59,26 +59,26 @@ device. Each .Xr spigen 4 device is associated with a specific -.Sq chip select +.Dq chip select .Pq cs pin on the spibus, and therefore needs to be specified. If no device name is specified on the command line, .Nm assumes -.Sq spigen0.0 . +.Dq spigen0.0 . .Pp For more information on the spigen device, see .Xr spigen 4 . .Pp The options are as follows: -.Bl -tag -width ".Fl f Ar device" +.Bl -tag -width "-f device" .It Fl A Specifies ASCII mode. Both read and write data is input and output as 2-character hexadecimal values, optionally separated by white space, such as 00 01 02 etc. When combined with the -.Sq -b +.Fl b flag, the data on stdin remains a sequence of ASCII hexadecimal byte values, but the output reverts to binary mode. .It Fl b @@ -86,24 +86,23 @@ Binary .Pq output mode. Only has an effect when -.Sq -A +.Fl A has been specified. Reverts the output back to binary .Pq rather than ASCII , while leaving the input format as-is. Use in combination with -.Sq -A +.Fl A to allow using something like -.Sq echo +.Dq echo to pass hexadecimal values to the SPI device, but output the received data on stdout as binary. -.It Fl C Ar command bytes -Sends one or more -.Sq command -bytes, skipping any bytes read-in during the transfer. +.It Fl C Ar command-bytes +Sends one or more command bytes, +skipping any bytes read-in during the transfer. The byte values should be specified as a quoted parameter, similar to the format for data on stdin for -.Sq -A , +.Fl A , that is, 2 character hexadecimal values, optionally separated by white space. An SPI device will typically require that a command be sent, followed by bytes of data. @@ -114,22 +113,23 @@ The total number of bytes to transfer as a decimal int If a write or a read/write transaction is being performed, and fewer than this number of bytes are read in from stdin, the remaining bytes will be sent with a value of -.Sq 0 . +.Dq 0 . If the length can be determined from the input file size, you can use a -.Sq count +.Ar count value of -.Sq -1 +.Dq -1 to base the transfer on the input file's size. -.It Fl d Ar r|w|rw +.It Fl d Cm r Ns | Ns Cm w Ns | Ns Cm rw Transfer direction: Use -.Sq r +.Cm r for read, -.Sq w for write, and -.Sq rw +.Cm w +for write, and +.Cm rw for simultaneous read and write. .It Fl f Ar device SPI device to use -.Pq default is /dev/spigen0 . +.Pq default is Pa /dev/spigen0 . .It Fl h Print help text to stderr, explaining the command line options. .It Fl i @@ -140,8 +140,10 @@ and clock speed are not changed. LSB bit order. The default is MSB, i.e., the highest order bit is transmitted first. -Specifying -L caused the LSB to be transmitted and read first. -.It Fl m Ar 0 - 3 +Specifying +.Fl L +caused the LSB to be transmitted and read first. +.It Fl m Cm 0 Ns | Ns Cm 1 Ns | Ns Cm 2 Ns | Ns Cm 3 SPI mode, 0 through 3. This defines the clock phase and timing with respect to reading and writing data, as per the SPI specification. @@ -153,7 +155,7 @@ exceed this maximum. Specifies Verbose mode. Diagnostics and information are written to stderr. You can specify -.Sq -v +.Fl v more than once to increase verbosity. .El .Sh EXAMPLES @@ -161,43 +163,54 @@ Here are a few examples of using the spi utility: .Bl -bullet .It Get information about the default SPI device -.Pp +.Bd -literal spi -i +.Ed .It Set the maximum clock speed to 200Khz and the mode to 3 on spigen0.1, but do not transmit nor receive any data -.Pp +.Bd -literal spi -f spigen0.1 -s 200000 -m 3 +.Ed .It Send a command sequence consisting of 2 bytes, and read 2 additional bytes from the SPI device, using the current mode and speed on the default device -.Pp +.Bd -literal spi -d r -C "00 01" -c 2 +.Ed .It Transmit a byte value of 5, and receive 2 bytes, displaying their values as 2-byte ASCII hexadecimal, with mode 2, and a maximum clock speed of 500khz. -.Pp +.Bd -literal echo "05" | spi -A -d rw -m 2 -s 500000 -c 2 +.Ed .It Send a binary file, and output the SPI result through -.Sq od +.Xr od 1 as hexadecimal bytes, using the current maximum clock speed and SPI mode. -.Pp +.Bd -literal spi -d rw -c -1 Delivered-To: svn-src-all@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 6725C3B88DB; Fri, 21 Aug 2020 09:50:04 +0000 (UTC) (envelope-from 0mp@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 4BXxZh25Q8z3SDw; Fri, 21 Aug 2020 09:50:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2B15A23806; Fri, 21 Aug 2020 09:50:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07L9o45e020445; Fri, 21 Aug 2020 09:50:04 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07L9o40Y020444; Fri, 21 Aug 2020 09:50:04 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202008210950.07L9o40Y020444@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 21 Aug 2020 09:50:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364454 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 364454 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 09:50:04 -0000 Author: 0mp (doc,ports committer) Date: Fri Aug 21 09:50:03 2020 New Revision: 364454 URL: https://svnweb.freebsd.org/changeset/base/364454 Log: Reference spi(8) from spigen.4 MFC after: 2 weeks Modified: head/share/man/man4/spigen.4 Modified: head/share/man/man4/spigen.4 ============================================================================== --- head/share/man/man4/spigen.4 Fri Aug 21 09:48:00 2020 (r364453) +++ head/share/man/man4/spigen.4 Fri Aug 21 09:50:03 2020 (r364454) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 7, 2018 +.Dd August 21, 2020 .Dt SPIGEN 4 .Os .Sh NAME @@ -195,7 +195,8 @@ Empty property indicating the slave device requires ch .El .Sh SEE ALSO .Xr fdt 4 , -.Xr device.hints 5 +.Xr device.hints 5 , +.Xr spi 8 .Sh HISTORY The .Nm From owner-svn-src-all@freebsd.org Fri Aug 21 10:06:02 2020 Return-Path: Delivered-To: svn-src-all@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 19F263B95A7; Fri, 21 Aug 2020 10:06:02 +0000 (UTC) (envelope-from dim@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 4BXxx572LZz3TK8; Fri, 21 Aug 2020 10:06:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D49F223B88; Fri, 21 Aug 2020 10:06:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LA61EU032981; Fri, 21 Aug 2020 10:06:01 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LA61rY032980; Fri, 21 Aug 2020 10:06:01 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008211006.07LA61rY032980@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 21 Aug 2020 10:06:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364455 - head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Commit-Revision: 364455 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 10:06:02 -0000 Author: dim Date: Fri Aug 21 10:06:01 2020 New Revision: 364455 URL: https://svnweb.freebsd.org/changeset/base/364455 Log: Merge commit 95e18b2d9d5f from llvm git (by Kang Zhang): [PowerPC] Fix a typo for InstAlias of mfsprg D77531 has a type for mfsprg, it should be mtsprg. This patch is to fix this typo. This should fix booting powerpc64 kernels, after LLVM 11 was imported. PR: 248763 Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td Fri Aug 21 09:50:03 2020 (r364454) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td Fri Aug 21 10:06:01 2020 (r364455) @@ -1026,8 +1026,8 @@ def : InstAlias<"mfamr $Rx", (MFSPR8 g8rc:$Rx, 29)>; foreach SPRG = 0-3 in { def : InstAlias<"mfsprg $RT, "#SPRG, (MFSPR8 g8rc:$RT, !add(SPRG, 272))>; def : InstAlias<"mfsprg"#SPRG#" $RT", (MFSPR8 g8rc:$RT, !add(SPRG, 272))>; - def : InstAlias<"mfsprg "#SPRG#", $RT", (MTSPR8 !add(SPRG, 272), g8rc:$RT)>; - def : InstAlias<"mfsprg"#SPRG#" $RT", (MTSPR8 !add(SPRG, 272), g8rc:$RT)>; + def : InstAlias<"mtsprg "#SPRG#", $RT", (MTSPR8 !add(SPRG, 272), g8rc:$RT)>; + def : InstAlias<"mtsprg"#SPRG#" $RT", (MTSPR8 !add(SPRG, 272), g8rc:$RT)>; } def : InstAlias<"mfasr $RT", (MFSPR8 g8rc:$RT, 280)>; From owner-svn-src-all@freebsd.org Fri Aug 21 13:11:34 2020 Return-Path: Delivered-To: svn-src-all@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 917193BD1ED; Fri, 21 Aug 2020 13:11:34 +0000 (UTC) (envelope-from kp@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 4BY23B3R4Dz3dyM; Fri, 21 Aug 2020 13:11:34 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5A48725A4F; Fri, 21 Aug 2020 13:11:34 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LDBY1r045108; Fri, 21 Aug 2020 13:11:34 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LDBYJF045107; Fri, 21 Aug 2020 13:11:34 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202008211311.07LDBYJF045107@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Fri, 21 Aug 2020 13:11:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364456 - stable/12/sys/netpfil/pf X-SVN-Group: stable-12 X-SVN-Commit-Author: kp X-SVN-Commit-Paths: stable/12/sys/netpfil/pf X-SVN-Commit-Revision: 364456 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 13:11:34 -0000 Author: kp Date: Fri Aug 21 13:11:33 2020 New Revision: 364456 URL: https://svnweb.freebsd.org/changeset/base/364456 Log: MFC r355744: pf: Make request_maxcount runtime adjustable There's no reason for this to be a tunable. It's perfectly safe to change this at runtime. Modified: stable/12/sys/netpfil/pf/pf.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netpfil/pf/pf.c ============================================================================== --- stable/12/sys/netpfil/pf/pf.c Fri Aug 21 10:06:01 2020 (r364455) +++ stable/12/sys/netpfil/pf/pf.c Fri Aug 21 13:11:33 2020 (r364456) @@ -382,7 +382,7 @@ SYSCTL_ULONG(_net_pf, OID_AUTO, states_hashsize, CTLFL &pf_hashsize, 0, "Size of pf(4) states hashtable"); SYSCTL_ULONG(_net_pf, OID_AUTO, source_nodes_hashsize, CTLFLAG_RDTUN, &pf_srchashsize, 0, "Size of pf(4) source nodes hashtable"); -SYSCTL_ULONG(_net_pf, OID_AUTO, request_maxcount, CTLFLAG_RDTUN, +SYSCTL_ULONG(_net_pf, OID_AUTO, request_maxcount, CTLFLAG_RW, &pf_ioctl_maxcount, 0, "Maximum number of tables, addresses, ... in a single ioctl() call"); VNET_DEFINE(void *, pf_swi_cookie); From owner-svn-src-all@freebsd.org Fri Aug 21 14:22:33 2020 Return-Path: Delivered-To: svn-src-all@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 446C33BEB90; Fri, 21 Aug 2020 14:22:33 +0000 (UTC) (envelope-from vangyzen@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 4BY3d515sVz40VW; Fri, 21 Aug 2020 14:22:33 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 08FD626C8A; Fri, 21 Aug 2020 14:22:33 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LEMWHs093745; Fri, 21 Aug 2020 14:22:32 GMT (envelope-from vangyzen@FreeBSD.org) Received: (from vangyzen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LEMWVL093744; Fri, 21 Aug 2020 14:22:32 GMT (envelope-from vangyzen@FreeBSD.org) Message-Id: <202008211422.07LEMWVL093744@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vangyzen set sender to vangyzen@FreeBSD.org using -f From: Eric van Gyzen Date: Fri, 21 Aug 2020 14:22:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364457 - head/sys/amd64/amd64 X-SVN-Group: head X-SVN-Commit-Author: vangyzen X-SVN-Commit-Paths: head/sys/amd64/amd64 X-SVN-Commit-Revision: 364457 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 14:22:33 -0000 Author: vangyzen Date: Fri Aug 21 14:22:32 2020 New Revision: 364457 URL: https://svnweb.freebsd.org/changeset/base/364457 Log: amd64 pmap: potential integer overflowing expression Coverity has identified the line in this change as "Potential integer overflowing expression" due to the variable i declared as an int and used in an expression with vm_paddr_t, a 64bit variable. This change has very little effect as when this line is execute nkpt is small and phys_addr is a the beginning of physical memory. But there is no explicit protection that the above is true. Submitted by: bret_ketchum@dell.com Reported by: Coverity Reviewed by: markj MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D26141 Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Fri Aug 21 13:11:33 2020 (r364456) +++ head/sys/amd64/amd64/pmap.c Fri Aug 21 14:22:32 2020 (r364457) @@ -2111,7 +2111,7 @@ pmap_init(void) * Collect the page table pages that were replaced by a 2MB * page in create_pagetables(). They are zero filled. */ - if (i << PDRSHIFT < KERNend && + if ((vm_paddr_t)i << PDRSHIFT < KERNend && pmap_insert_pt_page(kernel_pmap, mpte, false)) panic("pmap_init: pmap_insert_pt_page failed"); } From owner-svn-src-all@freebsd.org Fri Aug 21 15:53:40 2020 Return-Path: Delivered-To: svn-src-all@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 058203C11B1 for ; Fri, 21 Aug 2020 15:53:40 +0000 (UTC) (envelope-from Amanda.Carvell@worldleadsourcing.com) Received: from IND01-BO1-obe.outbound.protection.outlook.com (mail-bo1ind01on0712.outbound.protection.outlook.com [IPv6:2a01:111:f400:fea5::712]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BY5fB5T5Lz45vH for ; Fri, 21 Aug 2020 15:53:38 +0000 (UTC) (envelope-from Amanda.Carvell@worldleadsourcing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a0AejUdqFkDhP8GiETAtnvI+8URgSdYAA0xXaEFJTudDvbsNj5S1l6eWatEKi+ef6QUJY4yMs11Dn9bbs6qNpEl/Dk5FvUiMJASSmpjhXH8RNKbvokalXMWZW7kaFlSmO5FOxw50nHAstmpJffgdrGLOWdgP36uehdKz0YnJJd4vJdLmFVYbZShijJVhJqcJEzxP6fJmTJ1BEmqQAYd9w+a0+RABwUuF8Phxi94/NXg++PoVlk/eJfVDP/PXYkKuJTy+aFmYGtclHyzam0pPhs7u0euwBZRv8d7bKqR7YlEGVmEOig/euhGoOQkyJ6npZuR57AjpAu7902FNZY6a1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uS/KdCLZa4b6t3O5Ucrn5ZuTzTAw751nsfnGNlOP1OM=; b=ON2ERWw7oK0/5lhkmDJNfpuaebIE5pyg5HkxPwIDZKAzNhE26TXFDPQ14fFTC07NuyTXKwBrfxCB5yPEzHlGp1uEt7PtFL90BD1pDDTFkuU93rGa4pf9rOTP2v2iYOtj9zHt4Wvf8UFsxLT4GEsH96I+dvz3vn1MKDZEs1P/f709Xr+16Yu096aMTGcVwKTQ9O58lkZjEVKC/NY9j8zs1WLQ53vAUM4WF0roL9UnOxMcHf1ZFSirnhs/UvVaPe+b8FivsjLPz2eJu7ePp6j5pJauv2TenDfEmc8TRpoz382W9/6eUIBkMuQyFBx3HxCpmA+u7JIf5hO/Y4tmBkVu9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=worldleadsourcing.com; dmarc=pass action=none header.from=worldleadsourcing.com; dkim=pass header.d=worldleadsourcing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=worldsourcing.onmicrosoft.com; s=selector1-worldsourcing-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uS/KdCLZa4b6t3O5Ucrn5ZuTzTAw751nsfnGNlOP1OM=; b=p9GCOasRwoLCyPxW0QXXjgy6t8QFmp7lZC8lFRl2HFeMNw45RY50rhC5gbIbtob/k88cldD5FJamJAdLPLprwE62iUqvTBaMZbdyEbC54a7OjylwuqWHUW4Lfcvi0ETMWDSd2YfNrtgUqmK9geKLZQHxrd3eZGIi4LNar/U6WLc= Received: from MAXPR01MB3104.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:4c::16) by MAXPR01MB3757.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:62::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Fri, 21 Aug 2020 15:53:35 +0000 Received: from MAXPR01MB3104.INDPRD01.PROD.OUTLOOK.COM ([fe80::51dc:960c:bd93:4364]) by MAXPR01MB3104.INDPRD01.PROD.OUTLOOK.COM ([fe80::51dc:960c:bd93:4364%7]) with mapi id 15.20.3305.026; Fri, 21 Aug 2020 15:53:35 +0000 From: "Amanda Carvell" To: Subject: OPT-IN Clothing Manufacturing Industry List Date: Fri, 21 Aug 2020 08:53:37 -0700 Message-ID: <01a701d677d3$3b594800$b20bd800$@worldleadsourcing.com> X-Mailer: Microsoft Outlook 16.0 Content-Language: en-in Thread-Index: AdZ30zsKG4XVWxTQTZ25n7jnqpq8Gw== X-ClientProxiedBy: MAXPR01CA0076.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:49::18) To MAXPR01MB3104.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:4c::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from DESKTOPQETD2CO (115.99.157.235) by MAXPR01CA0076.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:49::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Fri, 21 Aug 2020 15:53:34 +0000 X-Mailer: Microsoft Outlook 16.0 X-Originating-IP: [115.99.157.235] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c4bd0422-f465-48cd-295e-08d845ea5c7c X-MS-TrafficTypeDiagnostic: MAXPR01MB3757: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PPZmcFwi9lyI5mhsdL+Dbwl5w1APqhCI3aQNlbqRIRtVQXm5AXzOnpKnWpiqb068fSNddU/PlZ8bZMwDq04dpGhwiybE2Y4BFwPaHcv+2Jx064j/VNcuCZHLuNWo34oLe+AlStWW3osE0dKGBBpX+ULwDaenm1G33CeB9HVHiDYz5OjTv/CR+X3yChbFP0QdEoncFYUByRJaYJ271KCZYpCQ4PeuOBbXATmCEyfCarnxoBMKaDTMHfmxcJCLZr0vKgaixdegcBhg4hQvxGEBZL8VL4mNS3n7LQbbb1k787N7QFZbtdoagxN8aIesN9vTakygY//kzl6a/LwRi3pcQw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MAXPR01MB3104.INDPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(396003)(376002)(346002)(366004)(39850400004)(136003)(956004)(16526019)(6916009)(6486002)(52116002)(86362001)(186003)(2616005)(316002)(6496006)(66556008)(26005)(66946007)(66476007)(8936002)(9326002)(5660300002)(1420700001)(44736005)(36756003)(2906002)(478600001)(8676002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: hH9YUBffPFLKH3S0xvDJim0YMhGyDEONbFd8pQ81My5DfFGOdLnftumEhowiWauECZFNsLzt+MrVMtBTHzKGByl6Ecx7yOYyAjp5E+6CLsYkVNu1qQZZY9CMjHVoMhwY0WKq5s0T+wy/olnUgxw9GpviWXlFNowzdys6/ccJV1x/vhTjY2DX55VMRn0RTNg8o5+1gvRB2PFBrtBQn6oCzw9iYiA93SmRZd0TyGbG4AMEwga3tEyEQqiEDxHResO96FuCKnkfqmSl6Ytpz1E1n1O3coMunNZJa9h1hua05cwdCOFLRG7Pe4BL5bRkoVzq09dtQQACYVIDkxWk/EcMJ33TMwTu7wQqtraJtNRlGyWqaqV32EE/2dRmxwzNVntGMaq8m/ZVrHHV7bA+V34l0A8Oyv77DqIZtNQMxP8niX2/rwK9ZGhA7//2b+52UlbayD5+T7mCArRSVchcmbOxxETrzsh5Ul4VnU5cvkKb+gYRilHUYuVkAF4Z/X6HmsuWDnpJQ/lx440yNQqc58wBMpZoaKrZBRz5gVbYdk0x2sl9/C2oBnwu6x4E9YiWXCUYfuVNyw8x+of4VERcGJvDA0NF0lI6zVJyL3h40ZXEn9ciyMwvV6inT6OGwJj21OmDN0kGIgcYR9rnfnDkn4l2fw== X-OriginatorOrg: worldleadsourcing.com X-MS-Exchange-CrossTenant-Network-Message-Id: c4bd0422-f465-48cd-295e-08d845ea5c7c X-MS-Exchange-CrossTenant-AuthSource: MAXPR01MB3104.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2020 15:53:35.1198 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d835f0bb-2e82-4414-ad22-6718e1280542 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xLX7xc/gZjeCSJehsHJGxcDpZCFx2uZ5pEZq0pDIkuj/jN0r/8CRVEwNMkKfokZnXIVWoh/mw1JkQSLEnzQvEFD8LwIMKT7V2fYwM/Di6m20sRKt6/srd98Cbip3fGdM X-MS-Exchange-Transport-CrossTenantHeadersStamped: MAXPR01MB3757 X-Rspamd-Queue-Id: 4BY5fB5T5Lz45vH X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=worldsourcing.onmicrosoft.com header.s=selector1-worldsourcing-onmicrosoft-com header.b=p9GCOasR; dmarc=none; spf=pass (mx1.freebsd.org: domain of Amanda.Carvell@worldleadsourcing.com designates 2a01:111:f400:fea5::712 as permitted sender) smtp.mailfrom=Amanda.Carvell@worldleadsourcing.com X-Spamd-Result: default: False [-2.73 / 15.00]; NEURAL_HAM_MEDIUM(-1.01)[-1.010]; R_DKIM_ALLOW(-0.20)[worldsourcing.onmicrosoft.com:s=selector1-worldsourcing-onmicrosoft-com]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[worldleadsourcing.com]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_THREE(0.00)[4]; DKIM_TRACE(0.00)[worldsourcing.onmicrosoft.com:+]; NEURAL_HAM_SHORT(-0.22)[-0.222]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; MID_RHS_MATCH_FROM(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 15:53:40 -0000 Hi, Hope all is well. Would you be interested in acquiring the Clothing Manufacturing Professionals Contact List? We also have database of PPE suit, Biomedical/Life Sciences, Hotels/Restaurant/Hospital, Military, Defense, Institutions, Distributors, Factories, Aircraft, and many more. Fields of Information: Organization Name, Contact Name, Title, Phone Number, Website Address, Mailing Address, Industry, SIC Code, Opt-In Email Address. Let me know your interest to send you the number of contacts and cost . Best Regards, Amanda Carvell Marketing Executive If you do not wish to receive future emails from us, please reply as 'No Requirements' . From owner-svn-src-all@freebsd.org Fri Aug 21 16:17:19 2020 Return-Path: Delivered-To: svn-src-all@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 3C6173C12DE; Fri, 21 Aug 2020 16:17:19 +0000 (UTC) (envelope-from mw@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 4BY69W0rdKz46ts; Fri, 21 Aug 2020 16:17:19 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 017BC27DC7; Fri, 21 Aug 2020 16:17:19 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LGHIaH062185; Fri, 21 Aug 2020 16:17:18 GMT (envelope-from mw@FreeBSD.org) Received: (from mw@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LGHIeC062184; Fri, 21 Aug 2020 16:17:18 GMT (envelope-from mw@FreeBSD.org) Message-Id: <202008211617.07LGHIeC062184@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mw set sender to mw@FreeBSD.org using -f From: Marcin Wojtas Date: Fri, 21 Aug 2020 16:17:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r364458 - stable/11/sys/conf X-SVN-Group: stable-11 X-SVN-Commit-Author: mw X-SVN-Commit-Paths: stable/11/sys/conf X-SVN-Commit-Revision: 364458 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 16:17:19 -0000 Author: mw Date: Fri Aug 21 16:17:18 2020 New Revision: 364458 URL: https://svnweb.freebsd.org/changeset/base/364458 Log: MFC: r363638 Fix ENA build when integrated into kernel Obtained from: Semihalf Sponsored by: Amazon, Inc. Modified: stable/11/sys/conf/files Modified: stable/11/sys/conf/files ============================================================================== --- stable/11/sys/conf/files Fri Aug 21 14:22:32 2020 (r364457) +++ stable/11/sys/conf/files Fri Aug 21 16:17:18 2020 (r364458) @@ -1661,6 +1661,10 @@ dev/e1000/e1000_osdep.c optional em | igb \ dev/et/if_et.c optional et dev/ena/ena.c optional ena \ compile-with "${NORMAL_C} -I$S/contrib" +dev/ena/ena_datapath.c optional ena \ + compile-with "${NORMAL_C} -I$S/contrib" +dev/ena/ena_netmap.c optional ena \ + compile-with "${NORMAL_C} -I$S/contrib" dev/ena/ena_sysctl.c optional ena \ compile-with "${NORMAL_C} -I$S/contrib" contrib/ena-com/ena_com.c optional ena From owner-svn-src-all@freebsd.org Fri Aug 21 17:45:18 2020 Return-Path: Delivered-To: svn-src-all@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 8EE993C4638; Fri, 21 Aug 2020 17:45:18 +0000 (UTC) (envelope-from fernape@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 4BY8722SKsz4HR3; Fri, 21 Aug 2020 17:45:18 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 225B69220; Fri, 21 Aug 2020 17:45:18 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LHjHn3017357; Fri, 21 Aug 2020 17:45:17 GMT (envelope-from fernape@FreeBSD.org) Received: (from fernape@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LHjHCj017356; Fri, 21 Aug 2020 17:45:17 GMT (envelope-from fernape@FreeBSD.org) Message-Id: <202008211745.07LHjHCj017356@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: fernape set sender to fernape@FreeBSD.org using -f From: =?UTF-8?Q?Fernando_Apestegu=c3=ada?= Date: Fri, 21 Aug 2020 17:45:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364459 - head/sbin/ipfw X-SVN-Group: head X-SVN-Commit-Author: fernape X-SVN-Commit-Paths: head/sbin/ipfw X-SVN-Commit-Revision: 364459 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 17:45:18 -0000 Author: fernape (ports committer) Date: Fri Aug 21 17:45:17 2020 New Revision: 364459 URL: https://svnweb.freebsd.org/changeset/base/364459 Log: ipfw(8): Fix typo in man page s/exmaple/example Approved by: manpages (gbe@) Differential Revision: https://reviews.freebsd.org/D26147 Modified: head/sbin/ipfw/ipfw.8 Modified: head/sbin/ipfw/ipfw.8 ============================================================================== --- head/sbin/ipfw/ipfw.8 Fri Aug 21 16:17:18 2020 (r364458) +++ head/sbin/ipfw/ipfw.8 Fri Aug 21 17:45:17 2020 (r364459) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 10, 2020 +.Dd August 21, 2020 .Dt IPFW 8 .Os .Sh NAME @@ -4566,7 +4566,7 @@ rule will be performed as soon as rule is matched. In rule packet need to be passed to NAT, not allowed as soon is possible. .Pp There is example of set of rules to achieve this. Bear in mind that this -is exmaple only and it is not very useful by itself. +is example only and it is not very useful by itself. .Pp On way out, after all checks place this rules: .Pp From owner-svn-src-all@freebsd.org Fri Aug 21 18:31:58 2020 Return-Path: Delivered-To: svn-src-all@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 824EB3C58F7; Fri, 21 Aug 2020 18:31:58 +0000 (UTC) (envelope-from gallatin@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 4BY98t2xZ7z4Kpr; Fri, 21 Aug 2020 18:31:58 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 486D298DA; Fri, 21 Aug 2020 18:31:58 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LIVwI5043571; Fri, 21 Aug 2020 18:31:58 GMT (envelope-from gallatin@FreeBSD.org) Received: (from gallatin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LIVw7Q043519; Fri, 21 Aug 2020 18:31:58 GMT (envelope-from gallatin@FreeBSD.org) Message-Id: <202008211831.07LIVw7Q043519@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gallatin set sender to gallatin@FreeBSD.org using -f From: Andrew Gallatin Date: Fri, 21 Aug 2020 18:31:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364460 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: gallatin X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 364460 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 18:31:58 -0000 Author: gallatin Date: Fri Aug 21 18:31:57 2020 New Revision: 364460 URL: https://svnweb.freebsd.org/changeset/base/364460 Log: uma: record allocation failures due to zone limits The zone limit mechanism was recently reworked, and allocation failures due to limits being exceeded were inadvertently no longer being recorded. This would lead to, for example, mbuf allocation failures not being indicated in netstat -m or vmstat -z Reviewed by: markj Sponsored by: Netflix Modified: head/sys/vm/uma_core.c Modified: head/sys/vm/uma_core.c ============================================================================== --- head/sys/vm/uma_core.c Fri Aug 21 17:45:17 2020 (r364459) +++ head/sys/vm/uma_core.c Fri Aug 21 18:31:57 2020 (r364460) @@ -3952,8 +3952,10 @@ zone_alloc_item(uma_zone_t zone, void *udata, int doma { void *item; - if (zone->uz_max_items > 0 && zone_alloc_limit(zone, 1, flags) == 0) + if (zone->uz_max_items > 0 && zone_alloc_limit(zone, 1, flags) == 0) { + counter_u64_add(zone->uz_fails, 1); return (NULL); + } /* Avoid allocs targeting empty domains. */ if (domain != UMA_ANYDOMAIN && VM_DOMAIN_EMPTY(domain)) From owner-svn-src-all@freebsd.org Fri Aug 21 19:28:27 2020 Return-Path: Delivered-To: svn-src-all@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 944763C72E0; Fri, 21 Aug 2020 19:28:27 +0000 (UTC) (envelope-from emaste@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 4BYBQ33RmVz4P5y; Fri, 21 Aug 2020 19:28:27 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 59BA5A341; Fri, 21 Aug 2020 19:28:27 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LJSR3k079387; Fri, 21 Aug 2020 19:28:27 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LJSR4O079386; Fri, 21 Aug 2020 19:28:27 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008211928.07LJSR4O079386@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 21 Aug 2020 19:28:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364461 - stable/12/sbin/ipfw X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/sbin/ipfw X-SVN-Commit-Revision: 364461 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 19:28:27 -0000 Author: emaste Date: Fri Aug 21 19:28:26 2020 New Revision: 364461 URL: https://svnweb.freebsd.org/changeset/base/364461 Log: MFC r364321: ipfw: line up `ipfw -t list` with and without timestamp From the PR: When I run `ipfw -t list` on release/12 or current, I get misaligned output between lines that do and do not have a last match timestamp, like so: 00100 Tue Aug 11 03:03:26 2020 allow ip from any to any via lo0 00200 deny ip from any to 127.0.0.0/8 (specifically, the "allow" and "deny" strings do not line up) PR: 248608 Submitted by: Taylor Stearns Modified: stable/12/sbin/ipfw/ipfw2.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/ipfw/ipfw2.c ============================================================================== --- stable/12/sbin/ipfw/ipfw2.c Fri Aug 21 18:31:57 2020 (r364460) +++ stable/12/sbin/ipfw/ipfw2.c Fri Aug 21 19:28:26 2020 (r364461) @@ -2188,7 +2188,7 @@ show_static_rule(struct cmdline_opts *co, struct forma *strchr(timestr, '\n') = '\0'; bprintf(bp, "%s ", timestr); } else { - bprintf(bp, "%*s", twidth, " "); + bprintf(bp, "%*s", twidth + 1, " "); } } From owner-svn-src-all@freebsd.org Fri Aug 21 19:34:41 2020 Return-Path: Delivered-To: svn-src-all@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 E5AB63C7703; Fri, 21 Aug 2020 19:34:41 +0000 (UTC) (envelope-from vangyzen@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 4BYBYF5ct2z4PRb; Fri, 21 Aug 2020 19:34:41 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A3ACDA6A4; Fri, 21 Aug 2020 19:34:41 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LJYf5j085359; Fri, 21 Aug 2020 19:34:41 GMT (envelope-from vangyzen@FreeBSD.org) Received: (from vangyzen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LJYfK3085358; Fri, 21 Aug 2020 19:34:41 GMT (envelope-from vangyzen@FreeBSD.org) Message-Id: <202008211934.07LJYfK3085358@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vangyzen set sender to vangyzen@FreeBSD.org using -f From: Eric van Gyzen Date: Fri, 21 Aug 2020 19:34:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364462 - head/sys/dev/ixgbe X-SVN-Group: head X-SVN-Commit-Author: vangyzen X-SVN-Commit-Paths: head/sys/dev/ixgbe X-SVN-Commit-Revision: 364462 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 19:34:42 -0000 Author: vangyzen Date: Fri Aug 21 19:34:41 2020 New Revision: 364462 URL: https://svnweb.freebsd.org/changeset/base/364462 Log: ixgbe: fix impossible condition Coverity flagged this condition: The condition offset == 0 && offset == 65535 can never be true because offset cannot be equal to two different values at the same time. Submitted by: bret_ketchum@dell.com Reported by: Coverity Reviewed by: tsoome, cem MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D26144 Modified: head/sys/dev/ixgbe/ixgbe_common.c Modified: head/sys/dev/ixgbe/ixgbe_common.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe_common.c Fri Aug 21 19:28:26 2020 (r364461) +++ head/sys/dev/ixgbe/ixgbe_common.c Fri Aug 21 19:34:41 2020 (r364462) @@ -5147,8 +5147,8 @@ void ixgbe_get_oem_prod_version(struct ixgbe_hw *hw, nvm_ver->oem_valid = FALSE; hw->eeprom.ops.read(hw, NVM_OEM_PROD_VER_PTR, &offset); - /* Return is offset to OEM Product Version block is invalid */ - if (offset == 0x0 && offset == NVM_INVALID_PTR) + /* Return if offset to OEM Product Version block is invalid */ + if (offset == 0x0 || offset == NVM_INVALID_PTR) return; /* Read product version block */ From owner-svn-src-all@freebsd.org Fri Aug 21 20:10:30 2020 Return-Path: Delivered-To: svn-src-all@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 74DD63C8019; Fri, 21 Aug 2020 20:10:30 +0000 (UTC) (envelope-from mav@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 4BYCLZ2VDpz4RCJ; Fri, 21 Aug 2020 20:10:30 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 39023A6EE; Fri, 21 Aug 2020 20:10:30 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LKAULj004088; Fri, 21 Aug 2020 20:10:30 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LKAU6D004087; Fri, 21 Aug 2020 20:10:30 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202008212010.07LKAU6D004087@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 21 Aug 2020 20:10:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364463 - head/sys/cam/ctl X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/cam/ctl X-SVN-Commit-Revision: 364463 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 20:10:30 -0000 Author: mav Date: Fri Aug 21 20:10:29 2020 New Revision: 364463 URL: https://svnweb.freebsd.org/changeset/base/364463 Log: Fix CTL ioctl port creation error handling. Submitted by: Bret Ketchum MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D26143 Modified: head/sys/cam/ctl/ctl_frontend_ioctl.c Modified: head/sys/cam/ctl/ctl_frontend_ioctl.c ============================================================================== --- head/sys/cam/ctl/ctl_frontend_ioctl.c Fri Aug 21 19:34:41 2020 (r364462) +++ head/sys/cam/ctl/ctl_frontend_ioctl.c Fri Aug 21 20:10:29 2020 (r364463) @@ -226,7 +226,7 @@ cfi_ioctl_port_create(struct ctl_req *req) req->status = CTL_LUN_ERROR; snprintf(req->error_str, sizeof(req->error_str), "ctl_port_register() failed with error %d", retval); - free(port, M_CTL); + free(cfi, M_CTL); return; } @@ -247,7 +247,9 @@ cfi_ioctl_port_create(struct ctl_req *req) req->status = CTL_LUN_ERROR; snprintf(req->error_str, sizeof(req->error_str), "make_dev_s() failed with error %d", retval); - free(port, M_CTL); + ctl_port_offline(port); + ctl_port_deregister(port); + free(cfi, M_CTL); return; } From owner-svn-src-all@freebsd.org Fri Aug 21 21:24:23 2020 Return-Path: Delivered-To: svn-src-all@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 0E2173C9C00; Fri, 21 Aug 2020 21:24:23 +0000 (UTC) (envelope-from mjg@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 4BYDzl3SlMz4WpJ; Fri, 21 Aug 2020 21:24:16 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C2565BD97; Fri, 21 Aug 2020 21:24:14 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LLOENj057733; Fri, 21 Aug 2020 21:24:14 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LLOEwF057732; Fri, 21 Aug 2020 21:24:14 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008212124.07LLOEwF057732@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Fri, 21 Aug 2020 21:24:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364464 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364464 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 21:24:23 -0000 Author: mjg Date: Fri Aug 21 21:24:14 2020 New Revision: 364464 URL: https://svnweb.freebsd.org/changeset/base/364464 Log: vfs: fix freevnode accounting Most notably add the missing decrement to vhold_smr. .-'---`-. ,' `. | \ | \ \ _ \ ,\ _ ,'-,/-)\ ( * \ \,' ,' ,'-) `._,) -',-') \/ ''/ ) / / / ,'-' Reported by: Dan Nelson Fixes: r362827 ("vfs: protect vnodes with smr") Modified: head/sys/kern/vfs_subr.c Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Fri Aug 21 20:10:29 2020 (r364463) +++ head/sys/kern/vfs_subr.c Fri Aug 21 21:24:14 2020 (r364464) @@ -1293,6 +1293,28 @@ static int vnlruproc_sig; */ #define VNLRU_FREEVNODES_SLOP 128 +static __inline void +vn_freevnodes_inc(void) +{ + struct vdbatch *vd; + + critical_enter(); + vd = DPCPU_PTR(vd); + vd->freevnodes++; + critical_exit(); +} + +static __inline void +vn_freevnodes_dec(void) +{ + struct vdbatch *vd; + + critical_enter(); + vd = DPCPU_PTR(vd); + vd->freevnodes--; + critical_exit(); +} + static u_long vnlru_read_freevnodes(void) { @@ -3195,19 +3217,14 @@ vunref(struct vnode *vp) void vhold(struct vnode *vp) { - struct vdbatch *vd; int old; CTR2(KTR_VFS, "%s: vp %p", __func__, vp); old = atomic_fetchadd_int(&vp->v_holdcnt, 1); VNASSERT(old >= 0 && (old & VHOLD_ALL_FLAGS) == 0, vp, ("%s: wrong hold count %d", __func__, old)); - if (old != 0) - return; - critical_enter(); - vd = DPCPU_PTR(vd); - vd->freevnodes--; - critical_exit(); + if (old == 0) + vn_freevnodes_dec(); } void @@ -3268,8 +3285,11 @@ vhold_smr(struct vnode *vp) } VNASSERT(count >= 0, vp, ("invalid hold count %d\n", count)); - if (atomic_fcmpset_int(&vp->v_holdcnt, &count, count + 1)) + if (atomic_fcmpset_int(&vp->v_holdcnt, &count, count + 1)) { + if (count == 0) + vn_freevnodes_dec(); return (true); + } } } @@ -3309,17 +3329,13 @@ vdbatch_enqueue(struct vnode *vp) VNASSERT(!VN_IS_DOOMED(vp), vp, ("%s: deferring requeue of a doomed vnode", __func__)); - critical_enter(); - vd = DPCPU_PTR(vd); - vd->freevnodes++; if (vp->v_dbatchcpu != NOCPU) { VI_UNLOCK(vp); - critical_exit(); return; } sched_pin(); - critical_exit(); + vd = DPCPU_PTR(vd); mtx_lock(&vd->lock); MPASS(vd->index < VDBATCH_SIZE); MPASS(vd->tab[vd->index] == NULL); @@ -3444,6 +3460,7 @@ vdropl(struct vnode *vp) return; } if (!VN_IS_DOOMED(vp)) { + vn_freevnodes_inc(); vdrop_deactivate(vp); /* * Also unlocks the interlock. We can't assert on it as we @@ -3458,7 +3475,8 @@ vdropl(struct vnode *vp) * We may be racing against vhold_smr. If they win we can just pretend * we never got this far, they will vdrop later. */ - if (!atomic_cmpset_int(&vp->v_holdcnt, 0, VHOLD_NO_SMR)) { + if (__predict_false(!atomic_cmpset_int(&vp->v_holdcnt, 0, VHOLD_NO_SMR))) { + vn_freevnodes_inc(); VI_UNLOCK(vp); /* * We lost the aforementioned race. Any subsequent access is @@ -3466,6 +3484,9 @@ vdropl(struct vnode *vp) */ return; } + /* + * Don't bump freevnodes as this one is going away. + */ freevnode(vp); } From owner-svn-src-all@freebsd.org Fri Aug 21 21:34:58 2020 Return-Path: Delivered-To: svn-src-all@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 04B263CA812; Fri, 21 Aug 2020 21:34:58 +0000 (UTC) (envelope-from melifaro@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 4BYFD03lPSz4d7p; Fri, 21 Aug 2020 21:34:55 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5EB17BF1F; Fri, 21 Aug 2020 21:34:53 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LLYrrS071537; Fri, 21 Aug 2020 21:34:53 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LLYq3K071532; Fri, 21 Aug 2020 21:34:52 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202008212134.07LLYq3K071532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Fri, 21 Aug 2020 21:34:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364465 - in head/sys: conf net net/route X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head/sys: conf net net/route X-SVN-Commit-Revision: 364465 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 21:34:58 -0000 Author: melifaro Date: Fri Aug 21 21:34:52 2020 New Revision: 364465 URL: https://svnweb.freebsd.org/changeset/base/364465 Log: Make net.fibs growable. Allow to dynamically grow the amount of fibs in each vnet. This change alters current behavior. Currently, if one defines ROUTETABLES > 1 in the kernel config, each vnet will be created with the number of fibs defined in the kernel config. After this commit vnets will be created with fibs=1. Dynamic net.fibs is not compatible with net.add_addr_allfibs. The plan is to deprecate the latter and make net.add_addr_allfibs=0 default behaviour. Reviewed by: glebius Relnotes: yes Differential Revision: https://reviews.freebsd.org/D26062 Added: head/sys/net/route/route_tables.c (contents, props changed) Modified: head/sys/conf/files head/sys/net/route.c head/sys/net/route.h head/sys/net/route/route_var.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Fri Aug 21 21:24:14 2020 (r364464) +++ head/sys/conf/files Fri Aug 21 21:34:52 2020 (r364465) @@ -4102,6 +4102,7 @@ net/route/nhop_utils.c standard net/route/route_ctl.c standard net/route/route_ddb.c optional ddb net/route/route_helpers.c standard +net/route/route_tables.c standard net/route/route_temporal.c standard net/rss_config.c optional inet rss | inet6 rss net/rtsock.c standard Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Fri Aug 21 21:24:14 2020 (r364464) +++ head/sys/net/route.c Fri Aug 21 21:34:52 2020 (r364465) @@ -74,29 +74,6 @@ #include #include -#include - -#define RT_MAXFIBS UINT16_MAX - -/* Kernel config default option. */ -#ifdef ROUTETABLES -#if ROUTETABLES <= 0 -#error "ROUTETABLES defined too low" -#endif -#if ROUTETABLES > RT_MAXFIBS -#error "ROUTETABLES defined too big" -#endif -#define RT_NUMFIBS ROUTETABLES -#endif /* ROUTETABLES */ -/* Initialize to default if not otherwise set. */ -#ifndef RT_NUMFIBS -#define RT_NUMFIBS 1 -#endif - -/* This is read-only.. */ -u_int rt_numfibs = RT_NUMFIBS; -SYSCTL_UINT(_net, OID_AUTO, fibs, CTLFLAG_RDTUN, &rt_numfibs, 0, ""); - /* * By default add routes to all fibs for new interfaces. * Once this is set to 0 then only allocate routes on interface @@ -118,10 +95,6 @@ VNET_PCPUSTAT_SYSINIT(rtstat); VNET_PCPUSTAT_SYSUNINIT(rtstat); #endif -VNET_DEFINE(struct rib_head *, rt_tables); -#define V_rt_tables VNET(rt_tables) - - EVENTHANDLER_LIST_DEFINE(rt_addrmsg); static int rt_ifdelroute(const struct rtentry *rt, const struct nhop_object *, @@ -130,63 +103,6 @@ static int rt_exportinfo(struct rtentry *rt, struct rt int flags); /* - * handler for net.my_fibnum - */ -static int -sysctl_my_fibnum(SYSCTL_HANDLER_ARGS) -{ - int fibnum; - int error; - - fibnum = curthread->td_proc->p_fibnum; - error = sysctl_handle_int(oidp, &fibnum, 0, req); - return (error); -} - -SYSCTL_PROC(_net, OID_AUTO, my_fibnum, - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0, - &sysctl_my_fibnum, "I", - "default FIB of caller"); - -static __inline struct rib_head ** -rt_tables_get_rnh_ptr(int table, int fam) -{ - struct rib_head **rnh; - - KASSERT(table >= 0 && table < rt_numfibs, - ("%s: table out of bounds (0 <= %d < %d)", __func__, table, - rt_numfibs)); - KASSERT(fam >= 0 && fam < (AF_MAX + 1), - ("%s: fam out of bounds (0 <= %d < %d)", __func__, fam, AF_MAX+1)); - - /* rnh is [fib=0][af=0]. */ - rnh = (struct rib_head **)V_rt_tables; - /* Get the offset to the requested table and fam. */ - rnh += table * (AF_MAX+1) + fam; - - return (rnh); -} - -struct rib_head * -rt_tables_get_rnh(int table, int fam) -{ - - return (*rt_tables_get_rnh_ptr(table, fam)); -} - -u_int -rt_tables_get_gen(int table, int fam) -{ - struct rib_head *rnh; - - rnh = *rt_tables_get_rnh_ptr(table, fam); - KASSERT(rnh != NULL, ("%s: NULL rib_head pointer table %d fam %d", - __func__, table, fam)); - return (rnh->rnh_gen); -} - - -/* * route initialization must occur before ip6_init2(), which happenas at * SI_ORDER_MIDDLE. */ @@ -194,89 +110,10 @@ static void route_init(void) { - /* whack the tunable ints into line. */ - if (rt_numfibs > RT_MAXFIBS) - rt_numfibs = RT_MAXFIBS; - if (rt_numfibs == 0) - rt_numfibs = 1; nhops_init(); } SYSINIT(route_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, route_init, NULL); -static void -vnet_route_init(const void *unused __unused) -{ - struct domain *dom; - struct rib_head **rnh; - int table; - int fam; - - V_rt_tables = malloc(rt_numfibs * (AF_MAX+1) * - sizeof(struct rib_head *), M_RTABLE, M_WAITOK|M_ZERO); - - vnet_rtzone_init(); - for (dom = domains; dom; dom = dom->dom_next) { - if (dom->dom_rtattach == NULL) - continue; - - for (table = 0; table < rt_numfibs; table++) { - fam = dom->dom_family; - if (table != 0 && fam != AF_INET6 && fam != AF_INET) - break; - - rnh = rt_tables_get_rnh_ptr(table, fam); - if (rnh == NULL) - panic("%s: rnh NULL", __func__); - *rnh = dom->dom_rtattach(table); - } - } -} -VNET_SYSINIT(vnet_route_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_FOURTH, - vnet_route_init, 0); - -#ifdef VIMAGE -static void -vnet_route_uninit(const void *unused __unused) -{ - int table; - int fam; - struct domain *dom; - struct rib_head **rnh; - - for (dom = domains; dom; dom = dom->dom_next) { - if (dom->dom_rtdetach == NULL) - continue; - - for (table = 0; table < rt_numfibs; table++) { - fam = dom->dom_family; - - if (table != 0 && fam != AF_INET6 && fam != AF_INET) - break; - - rnh = rt_tables_get_rnh_ptr(table, fam); - if (rnh == NULL) - panic("%s: rnh NULL", __func__); - dom->dom_rtdetach(*rnh); - } - } - - /* - * dom_rtdetach calls rt_table_destroy(), which - * schedules deletion for all rtentries, nexthops and control - * structures. Wait for the destruction callbacks to fire. - * Note that this should result in freeing all rtentries, but - * nexthops deletions will be scheduled for the next epoch run - * and will be completed after vnet teardown. - */ - epoch_drain_callbacks(net_epoch_preempt); - - free(V_rt_tables, M_RTABLE); - vnet_rtzone_destroy(); -} -VNET_SYSUNINIT(vnet_route_uninit, SI_SUB_PROTO_DOMAIN, SI_ORDER_FIRST, - vnet_route_uninit, 0); -#endif - struct rib_head * rt_table_init(int offset, int family, u_int fibnum) { @@ -345,21 +182,6 @@ rt_table_destroy(struct rib_head *rh) /* Assume table is already empty */ RIB_LOCK_DESTROY(rh); free(rh, M_RTABLE); -} - - -#ifndef _SYS_SYSPROTO_H_ -struct setfib_args { - int fibnum; -}; -#endif -int -sys_setfib(struct thread *td, struct setfib_args *uap) -{ - if (uap->fibnum < 0 || uap->fibnum >= rt_numfibs) - return EINVAL; - td->td_proc->p_fibnum = uap->fibnum; - return (0); } /* Modified: head/sys/net/route.h ============================================================================== --- head/sys/net/route.h Fri Aug 21 21:24:14 2020 (r364464) +++ head/sys/net/route.h Fri Aug 21 21:34:52 2020 (r364465) @@ -115,7 +115,10 @@ typedef volatile u_int rt_gen_t; /* tree generation (f #define RT_DEFAULT_FIB 0 /* Explicitly mark fib=0 restricted cases */ #define RT_ALL_FIBS -1 /* Announce event for every fib */ #ifdef _KERNEL -extern u_int rt_numfibs; /* number of usable routing tables */ +VNET_DECLARE(uint32_t, _rt_numfibs); /* number of existing route tables */ +#define V_rt_numfibs VNET(_rt_numfibs) +/* temporary compat arg */ +#define rt_numfibs V_rt_numfibs VNET_DECLARE(u_int, rt_add_addr_allfibs); /* Announce interfaces to all fibs */ #define V_rt_add_addr_allfibs VNET(rt_add_addr_allfibs) #endif @@ -379,7 +382,7 @@ void rt_newmaddrmsg(int, struct ifmultiaddr *); void rt_maskedcopy(struct sockaddr *, struct sockaddr *, struct sockaddr *); struct rib_head *rt_table_init(int, int, u_int); void rt_table_destroy(struct rib_head *); -u_int rt_tables_get_gen(int table, int fam); +u_int rt_tables_get_gen(uint32_t table, sa_family_t family); int rtsock_addrmsg(int, struct ifaddr *, int); int rtsock_routemsg(int, struct rtentry *, struct ifnet *ifp, int, int); Added: head/sys/net/route/route_tables.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/net/route/route_tables.c Fri Aug 21 21:34:52 2020 (r364465) @@ -0,0 +1,326 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 1980, 1986, 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +/************************************************************************ + * Note: In this file a 'fib' is a "forwarding information base" * + * Which is the new name for an in kernel routing (next hop) table. * + ***********************************************************************/ + +#include +__FBSDID("$FreeBSD$"); +#include "opt_route.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +/* Kernel config default option. */ +#ifdef ROUTETABLES +#if ROUTETABLES <= 0 +#error "ROUTETABLES defined too low" +#endif +#if ROUTETABLES > RT_MAXFIBS +#error "ROUTETABLES defined too big" +#endif +#define RT_NUMFIBS ROUTETABLES +#endif /* ROUTETABLES */ +/* Initialize to default if not otherwise set. */ +#ifndef RT_NUMFIBS +#define RT_NUMFIBS 1 +#endif + +static void grow_rtables(uint32_t num_fibs); + +VNET_DEFINE_STATIC(struct sx, rtables_lock); +#define V_rtables_lock VNET(rtables_lock) +#define RTABLES_LOCK() sx_xlock(&V_rtables_lock) +#define RTABLES_UNLOCK() sx_xunlock(&V_rtables_lock) +#define RTABLES_LOCK_INIT() sx_init(&V_rtables_lock, "rtables lock") +#define RTABLES_LOCK_ASSERT() sx_assert(&V_rtables_lock, SA_LOCKED) + +VNET_DEFINE_STATIC(struct rib_head **, rt_tables); +#define V_rt_tables VNET(rt_tables) + +VNET_DEFINE(uint32_t, _rt_numfibs) = RT_NUMFIBS; + +/* + * Handler for net.my_fibnum. + * Returns current fib of the process. + */ +static int +sysctl_my_fibnum(SYSCTL_HANDLER_ARGS) +{ + int fibnum; + int error; + + fibnum = curthread->td_proc->p_fibnum; + error = sysctl_handle_int(oidp, &fibnum, 0, req); + return (error); +} +SYSCTL_PROC(_net, OID_AUTO, my_fibnum, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0, + &sysctl_my_fibnum, "I", + "default FIB of caller"); + +static uint32_t +normalize_num_rtables(uint32_t num_rtables) +{ + + if (num_rtables > RT_MAXFIBS) + num_rtables = RT_MAXFIBS; + else if (num_rtables == 0) + num_rtables = 1; + return (num_rtables); +} + +/* + * Sets the number of fibs in the current vnet. + * Function does not allow shrinking number of rtables. + */ +static int +sysctl_fibs(SYSCTL_HANDLER_ARGS) +{ + uint32_t new_fibs; + int error; + + RTABLES_LOCK(); + new_fibs = V_rt_numfibs; + error = sysctl_handle_32(oidp, &new_fibs, 0, req); + if (error == 0) { + new_fibs = normalize_num_rtables(new_fibs); + + if (new_fibs < V_rt_numfibs) + error = ENOTCAPABLE; + if (new_fibs > V_rt_numfibs) + grow_rtables(new_fibs); + } + RTABLES_UNLOCK(); + + return (error); +} +SYSCTL_PROC(_net, OID_AUTO, fibs, + CTLFLAG_VNET | CTLTYPE_U32 | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, NULL, 0, + &sysctl_fibs, "IU", + "set number of fibs"); + +/* + * Sets fib of a current process. + */ +int +sys_setfib(struct thread *td, struct setfib_args *uap) +{ + int error = 0; + + CURVNET_SET(TD_TO_VNET(td)); + if (uap->fibnum >= 0 && uap->fibnum < V_rt_numfibs) + td->td_proc->p_fibnum = uap->fibnum; + else + error = EINVAL; + CURVNET_RESTORE(); + + return (error); +} + +/* + * Grows up the number of routing tables in the current fib. + * Function creates new index array for all rtables and allocates + * remaining routing tables. + */ +static void +grow_rtables(uint32_t num_tables) +{ + struct domain *dom; + struct rib_head **prnh; + struct rib_head **new_rt_tables, **old_rt_tables; + int family; + + RTABLES_LOCK_ASSERT(); + + KASSERT(num_tables >= V_rt_numfibs, ("num_tables(%u) < rt_numfibs(%u)\n", + num_tables, V_rt_numfibs)); + + new_rt_tables = mallocarray(num_tables * (AF_MAX + 1), sizeof(void *), + M_RTABLE, M_WAITOK | M_ZERO); + + /* + * Current rt_tables layout: + * fib0[af0, af1, af2, .., AF_MAX]fib1[af0, af1, af2, .., Af_MAX].. + * this allows to copy existing tables data by using memcpy() + */ + if (V_rt_tables != NULL) + memcpy(new_rt_tables, V_rt_tables, + V_rt_numfibs * (AF_MAX + 1) * sizeof(void *)); + + /* Populate the remainders */ + for (dom = domains; dom; dom = dom->dom_next) { + if (dom->dom_rtattach == NULL) + continue; + family = dom->dom_family; + for (int i = 0; i < num_tables; i++) { + prnh = &new_rt_tables[i * (AF_MAX + 1) + family]; + if (*prnh != NULL) + continue; + *prnh = dom->dom_rtattach(i); + if (*prnh == NULL) + log(LOG_ERR, "unable to create routing tables for domain %d\n", + dom->dom_family); + } + } + + /* + * Update rtables pointer. + * Ensure all writes to new_rt_tables has been completed before + * switching pointer. + */ + atomic_thread_fence_rel(); + old_rt_tables = V_rt_tables; + V_rt_tables = new_rt_tables; + + /* Wait till all cpus see new pointers */ + atomic_thread_fence_rel(); + epoch_wait_preempt(net_epoch_preempt); + + /* Finally, set number of fibs to a new value */ + V_rt_numfibs = num_tables; + + if (old_rt_tables != NULL) + free(old_rt_tables, M_RTABLE); +} + +static void +vnet_rtables_init(const void *unused __unused) +{ + int num_rtables_base; + + if (IS_DEFAULT_VNET(curvnet)) { + num_rtables_base = RT_NUMFIBS; + TUNABLE_INT_FETCH("net.fibs", &num_rtables_base); + V_rt_numfibs = normalize_num_rtables(num_rtables_base); + } else + V_rt_numfibs = 1; + + vnet_rtzone_init(); + + RTABLES_LOCK_INIT(); + + RTABLES_LOCK(); + grow_rtables(V_rt_numfibs); + RTABLES_UNLOCK(); +} +VNET_SYSINIT(vnet_rtables_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_FOURTH, + vnet_rtables_init, 0); + +#ifdef VIMAGE +static void +rtables_destroy(const void *unused __unused) +{ + struct rib_head *rnh; + struct domain *dom; + int family; + + RTABLES_LOCK(); + for (dom = domains; dom; dom = dom->dom_next) { + if (dom->dom_rtdetach == NULL) + continue; + family = dom->dom_family; + for (int i = 0; i < V_rt_numfibs; i++) { + rnh = rt_tables_get_rnh(i, family); + dom->dom_rtdetach(rnh); + } + } + RTABLES_UNLOCK(); + + /* + * dom_rtdetach calls rt_table_destroy(), which + * schedules deletion for all rtentries, nexthops and control + * structures. Wait for the destruction callbacks to fire. + * Note that this should result in freeing all rtentries, but + * nexthops deletions will be scheduled for the next epoch run + * and will be completed after vnet teardown. + */ + epoch_drain_callbacks(net_epoch_preempt); + + free(V_rt_tables, M_RTABLE); + vnet_rtzone_destroy(); +} +VNET_SYSUNINIT(rtables_destroy, SI_SUB_PROTO_DOMAIN, SI_ORDER_FIRST, + rtables_destroy, 0); +#endif + +static inline struct rib_head * +rt_tables_get_rnh_ptr(uint32_t table, sa_family_t family) +{ + struct rib_head **prnh; + + KASSERT(table < V_rt_numfibs, + ("%s: table out of bounds (%d < %d)", __func__, table, + V_rt_numfibs)); + KASSERT(family < (AF_MAX + 1), + ("%s: fam out of bounds (%d < %d)", __func__, family, AF_MAX + 1)); + + /* rnh is [fib=0][af=0]. */ + prnh = V_rt_tables; + /* Get the offset to the requested table and fam. */ + prnh += table * (AF_MAX + 1) + family; + + return (*prnh); +} + +struct rib_head * +rt_tables_get_rnh(uint32_t table, sa_family_t family) +{ + + return (rt_tables_get_rnh_ptr(table, family)); +} + +u_int +rt_tables_get_gen(uint32_t table, sa_family_t family) +{ + struct rib_head *rnh; + + rnh = rt_tables_get_rnh_ptr(table, family); + KASSERT(rnh != NULL, ("%s: NULL rib_head pointer table %d family %d", + __func__, table, family)); + return (rnh->rnh_gen); +} + Modified: head/sys/net/route/route_var.h ============================================================================== --- head/sys/net/route/route_var.h Fri Aug 21 21:24:14 2020 (r364464) +++ head/sys/net/route/route_var.h Fri Aug 21 21:34:52 2020 (r364465) @@ -79,6 +79,7 @@ struct rib_head { /* Constants */ #define RIB_MAX_RETRIES 3 +#define RT_MAXFIBS UINT16_MAX /* Macro for verifying fields in af-specific 'struct route' structures */ #define CHK_STRUCT_FIELD_GENERIC(_s1, _f1, _s2, _f2) \ @@ -104,7 +105,7 @@ CHK_STRUCT_ROUTE_FIELDS(_ro_new); \ _Static_assert(__offsetof(struct route, ro_dst) == __offsetof(_ro_new, _dst_new),\ "ro_dst and " #_dst_new " are at different offset") -struct rib_head *rt_tables_get_rnh(int fib, int family); +struct rib_head *rt_tables_get_rnh(uint32_t table, sa_family_t family); void rt_mpath_init_rnh(struct rib_head *rnh); int rt_getifa_fib(struct rt_addrinfo *info, u_int fibnum); void rt_setmetrics(const struct rt_addrinfo *info, struct rtentry *rt); From owner-svn-src-all@freebsd.org Fri Aug 21 22:21:32 2020 Return-Path: Delivered-To: svn-src-all@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 965E23CB9D4; Fri, 21 Aug 2020 22:21:32 +0000 (UTC) (envelope-from julian@elischer.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BYGFm1wKDz3V0R; Fri, 21 Aug 2020 22:21:31 +0000 (UTC) (envelope-from julian@elischer.org) Received: from Julian-MBP3.local (c-73-92-37-32.hsd1.ca.comcast.net [73.92.37.32]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id 07LMLOMY031261 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Fri, 21 Aug 2020 15:21:25 -0700 (PDT) (envelope-from julian@elischer.org) Subject: Re: svn commit: r364465 - in head/sys: conf net net/route To: "Alexander V. Chernikov" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008212134.07LLYq3K071532@repo.freebsd.org> From: Julian Elischer Message-ID: Date: Fri, 21 Aug 2020 15:21:19 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <202008212134.07LLYq3K071532@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 4BYGFm1wKDz3V0R X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:36236, ipnet:204.109.60.0/22, country:US]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 22:21:32 -0000 On 8/21/20 2:34 PM, Alexander V. Chernikov wrote: > Author: melifaro > Date: Fri Aug 21 21:34:52 2020 > New Revision: 364465 > URL: https://svnweb.freebsd.org/changeset/base/364465 > > Log: > Make net.fibs growable. > > Allow to dynamically grow the amount of fibs in each vnet. > > This change alters current behavior. Currently, if one defines > ROUTETABLES > 1 in the kernel config, each vnet will be created > with the number of fibs defined in the kernel config. > After this commit vnets will be created with fibs=1. > > Dynamic net.fibs is not compatible with net.add_addr_allfibs. > The plan is to deprecate the latter and make > net.add_addr_allfibs=0 default behaviour. > For a while, setting it to 1 should be very noisy. > From owner-svn-src-all@freebsd.org Fri Aug 21 22:31:46 2020 Return-Path: Delivered-To: svn-src-all@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 6D4053CBAEB; Fri, 21 Aug 2020 22:31:46 +0000 (UTC) (envelope-from bz@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 4BYGTZ2KwGz3VPb; Fri, 21 Aug 2020 22:31:46 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 33949C7BF; Fri, 21 Aug 2020 22:31:46 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LMVkM7004272; Fri, 21 Aug 2020 22:31:46 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LMVkQp004271; Fri, 21 Aug 2020 22:31:46 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202008212231.07LMVkQp004271@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Fri, 21 Aug 2020 22:31:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364466 - head X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 364466 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 22:31:46 -0000 Author: bz Date: Fri Aug 21 22:31:45 2020 New Revision: 364466 URL: https://svnweb.freebsd.org/changeset/base/364466 Log: After the clang/llvm version 11 import LLD_VERSION is no longer used upstream so Version.inc now only defines LLD_VERSION_STRING. This breaks the WANT_LINKER_VERSION magic and might lead to us building more than needed (e.g., for croos-tools). Change the awk script to parse LLD_VERSION_STRING instead of LLD_VERSION, which not only unbreaks the current situation but should also be backwards compatible as dim points out. PR: 248818 Reviewed by: emaste, dim (seems right and the way to go) MFC after: 4 weeks X-MFC before: 364284 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Aug 21 21:34:52 2020 (r364465) +++ head/Makefile.inc1 Fri Aug 21 22:31:45 2020 (r364466) @@ -264,7 +264,7 @@ _WANT_LINKER_FREEBSD_VERSION!= \ WANT_LINKER_FREEBSD_VERSION=${_WANT_LINKER_FREEBSD_VERSION:C/.*-(.*)/\1/} WANT_LINKER_VERSION_FILE= lib/clang/include/lld/Common/Version.inc WANT_LINKER_VERSION!= \ - awk '$$2 == "LLD_VERSION" {split($$3, a, "."); print a[1] * 10000 + a[2] * 100 + a[3]}' \ + awk '$$2 == "LLD_VERSION_STRING" { gsub("\"", "", $$3); split($$3, a, "."); print a[1] * 10000 + a[2] * 100 + a[3]}' \ ${SRCDIR}/${WANT_LINKER_VERSION_FILE} || echo unknown .else WANT_LINKER_FREEBSD_VERSION_FILE= From owner-svn-src-all@freebsd.org Fri Aug 21 22:32:39 2020 Return-Path: Delivered-To: svn-src-all@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 29FF33CBEBF; Fri, 21 Aug 2020 22:32:39 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward501j.mail.yandex.net (forward501j.mail.yandex.net [5.45.198.251]) (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 4BYGVY3Xp1z3VRx; Fri, 21 Aug 2020 22:32:36 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from mxback27g.mail.yandex.net (mxback27g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:327]) by forward501j.mail.yandex.net (Yandex) with ESMTP id A52A63380109; Sat, 22 Aug 2020 01:32:33 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback27g.mail.yandex.net (mxback/Yandex) with ESMTP id etlA6fn9qw-WWY4mpdk; Sat, 22 Aug 2020 01:32:33 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1598049153; bh=6n5abgHaL/grnWD9jlellf+viB0ZXmyHGgVgYtp0QXk=; h=Message-Id:Subject:In-Reply-To:Date:References:To:From; b=oi9c2JXeUDwo4rTkh+j5z9ntNP4v2fSrOeOCtg7L+xRnT2tFDCBWBLclmexTY/2iF ivhGBWg9zQiIU4YK2ukDuY/uVZQm7S/H2D13xVb7a4NN7LC0eom+m8zlDT8cJWwJTH O3jXxb2WHPNY7SAeHw74vypfbSu668Keks8x17SE= Received: by sas1-55829ddbd171.qloud-c.yandex.net with HTTP; Sat, 22 Aug 2020 01:32:32 +0300 From: Alexander V. Chernikov Envelope-From: melifaro@ipfw.ru To: Julian Elischer , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" In-Reply-To: References: <202008212134.07LLYq3K071532@repo.freebsd.org> Subject: Re: svn commit: r364465 - in head/sys: conf net net/route MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Fri, 21 Aug 2020 23:32:32 +0100 Message-Id: <51571598049078@mail.yandex.ru> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 X-Rspamd-Queue-Id: 4BYGVY3Xp1z3VRx X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ipfw.ru header.s=mail header.b=oi9c2JXe; dmarc=none; spf=pass (mx1.freebsd.org: domain of melifaro@ipfw.ru designates 5.45.198.251 as permitted sender) smtp.mailfrom=melifaro@ipfw.ru X-Spamd-Result: default: False [-0.30 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[ipfw.ru:s=mail]; FREEFALL_USER(0.00)[melifaro]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:5.45.192.0/19]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; RWL_MAILSPIKE_GOOD(0.00)[5.45.198.251:from]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[ipfw.ru:+]; FORGED_SENDER(0.30)[melifaro@freebsd.org,melifaro@ipfw.ru]; RCVD_IN_DNSWL_LOW(-0.10)[5.45.198.251:from]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:13238, ipnet:5.45.192.0/18, country:RU]; FROM_NEQ_ENVFROM(0.00)[melifaro@freebsd.org,melifaro@ipfw.ru]; MAILMAN_DEST(0.00)[svn-src-all,svn-src-head] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 22:32:39 -0000 21.08.2020, 23:21, "Julian Elischer" : > On 8/21/20 2:34 PM, Alexander V. Chernikov wrote: >>  Author: melifaro >>  Date: Fri Aug 21 21:34:52 2020 >>  New Revision: 364465 >>  URL: https://svnweb.freebsd.org/changeset/base/364465 >> >>  Log: >>     Make net.fibs growable. >> >>     Allow to dynamically grow the amount of fibs in each vnet. >> >>     This change alters current behavior. Currently, if one defines >>      ROUTETABLES > 1 in the kernel config, each vnet will be created >>      with the number of fibs defined in the kernel config. >>      After this commit vnets will be created with fibs=1. >> >>     Dynamic net.fibs is not compatible with net.add_addr_allfibs. >>      The plan is to deprecate the latter and make >>      net.add_addr_allfibs=0 default behaviour. > > For a while, setting it to 1 should be very noisy. You mean that kernel should print warning when creating VNET && original net.fibs value is > 1 ? > >> From owner-svn-src-all@freebsd.org Fri Aug 21 22:54:40 2020 Return-Path: Delivered-To: svn-src-all@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 265F33CC737; Fri, 21 Aug 2020 22:54:40 +0000 (UTC) (envelope-from cy@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 4BYH000T6Zz3WjV; Fri, 21 Aug 2020 22:54:40 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CE734CCDE; Fri, 21 Aug 2020 22:54:39 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LMsdo5020739; Fri, 21 Aug 2020 22:54:39 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LMscgw020733; Fri, 21 Aug 2020 22:54:38 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202008212254.07LMscgw020733@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Fri, 21 Aug 2020 22:54:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r364467 - in vendor/sqlite3/dist: . tea X-SVN-Group: vendor X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in vendor/sqlite3/dist: . tea X-SVN-Commit-Revision: 364467 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 22:54:40 -0000 Author: cy Date: Fri Aug 21 22:54:38 2020 New Revision: 364467 URL: https://svnweb.freebsd.org/changeset/base/364467 Log: Import sqlite 3.32.3 (3330000). Added: vendor/sqlite3/dist/sqlite3rc.h (contents, props changed) Modified: vendor/sqlite3/dist/Makefile.am vendor/sqlite3/dist/Makefile.in vendor/sqlite3/dist/configure vendor/sqlite3/dist/configure.ac vendor/sqlite3/dist/shell.c vendor/sqlite3/dist/sqlite3.c vendor/sqlite3/dist/sqlite3.h vendor/sqlite3/dist/tea/configure vendor/sqlite3/dist/tea/configure.ac Modified: vendor/sqlite3/dist/Makefile.am ============================================================================== --- vendor/sqlite3/dist/Makefile.am Fri Aug 21 22:31:45 2020 (r364466) +++ vendor/sqlite3/dist/Makefile.am Fri Aug 21 22:54:38 2020 (r364467) @@ -13,7 +13,7 @@ sqlite3_CFLAGS = $(AM_CFLAGS) -DSQLITE_ENABLE_EXPLAIN_ include_HEADERS = sqlite3.h sqlite3ext.h -EXTRA_DIST = sqlite3.1 tea Makefile.msc sqlite3.rc README.txt Replace.cs Makefile.fallback +EXTRA_DIST = sqlite3.1 tea Makefile.msc sqlite3.rc sqlite3rc.h README.txt Replace.cs Makefile.fallback pkgconfigdir = ${libdir}/pkgconfig pkgconfig_DATA = sqlite3.pc Modified: vendor/sqlite3/dist/Makefile.in ============================================================================== --- vendor/sqlite3/dist/Makefile.in Fri Aug 21 22:31:45 2020 (r364466) +++ vendor/sqlite3/dist/Makefile.in Fri Aug 21 22:54:38 2020 (r364467) @@ -370,7 +370,7 @@ sqlite3_LDADD = @EXTRA_SHELL_OBJ@ @READLINE_LIBS@ sqlite3_DEPENDENCIES = @EXTRA_SHELL_OBJ@ sqlite3_CFLAGS = $(AM_CFLAGS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_DBSTAT_VTAB $(SHELL_CFLAGS) include_HEADERS = sqlite3.h sqlite3ext.h -EXTRA_DIST = sqlite3.1 tea Makefile.msc sqlite3.rc README.txt Replace.cs Makefile.fallback +EXTRA_DIST = sqlite3.1 tea Makefile.msc sqlite3.rc sqlite3rc.h README.txt Replace.cs Makefile.fallback pkgconfigdir = ${libdir}/pkgconfig pkgconfig_DATA = sqlite3.pc man_MANS = sqlite3.1 Modified: vendor/sqlite3/dist/configure ============================================================================== --- vendor/sqlite3/dist/configure Fri Aug 21 22:31:45 2020 (r364466) +++ vendor/sqlite3/dist/configure Fri Aug 21 22:54:38 2020 (r364467) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.32.3. +# Generated by GNU Autoconf 2.69 for sqlite 3.33.0. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.32.3' -PACKAGE_STRING='sqlite 3.32.3' +PACKAGE_VERSION='3.33.0' +PACKAGE_STRING='sqlite 3.33.0' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1341,7 +1341,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.32.3 to adapt to many kinds of systems. +\`configure' configures sqlite 3.33.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1412,7 +1412,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.32.3:";; + short | recursive ) echo "Configuration of sqlite 3.33.0:";; esac cat <<\_ACEOF @@ -1537,7 +1537,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.32.3 +sqlite configure 3.33.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1952,7 +1952,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.32.3, which was +It was created by sqlite $as_me 3.33.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2818,7 +2818,7 @@ fi # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.32.3' + VERSION='3.33.0' cat >>confdefs.h <<_ACEOF @@ -14438,7 +14438,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.32.3, which was +This file was extended by sqlite $as_me 3.33.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14495,7 +14495,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sqlite config.status 3.32.3 +sqlite config.status 3.33.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Modified: vendor/sqlite3/dist/configure.ac ============================================================================== --- vendor/sqlite3/dist/configure.ac Fri Aug 21 22:31:45 2020 (r364466) +++ vendor/sqlite3/dist/configure.ac Fri Aug 21 22:54:38 2020 (r364467) @@ -10,7 +10,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.32.3, http://www.sqlite.org) +AC_INIT(sqlite, 3.33.0, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) AC_CONFIG_AUX_DIR([.]) Modified: vendor/sqlite3/dist/shell.c ============================================================================== --- vendor/sqlite3/dist/shell.c Fri Aug 21 22:31:45 2020 (r364466) +++ vendor/sqlite3/dist/shell.c Fri Aug 21 22:54:38 2020 (r364467) @@ -642,6 +642,21 @@ static int strlenChar(const char *z){ } /* +** Return true if zFile does not exist or if it is not an ordinary file. +*/ +#ifdef _WIN32 +# define notNormalFile(X) 0 +#else +static int notNormalFile(const char *zFile){ + struct stat x; + int rc; + memset(&x, 0, sizeof(x)); + rc = stat(zFile, &x); + return rc || !S_ISREG(x.st_mode); +} +#endif + +/* ** This routine reads a line of text from FILE in, stores ** the text in memory obtained from malloc() and returns a pointer ** to the text. NULL is returned at end of file, or if malloc() @@ -953,7 +968,7 @@ static void shellModuleSchema( ** CREATE VIRTUAL TABLE ** ** This UDF is used by the .schema command to insert the schema name of -** attached databases into the middle of the sqlite_master.sql field. +** attached databases into the middle of the sqlite_schema.sql field. */ static void shellAddSchemaName( sqlite3_context *pCtx, @@ -3330,7 +3345,7 @@ static int completionNext(sqlite3_vtab_cursor *cur){ const char *zDb = (const char*)sqlite3_column_text(pS2, 1); zSql = sqlite3_mprintf( "%z%s" - "SELECT name FROM \"%w\".sqlite_master", + "SELECT name FROM \"%w\".sqlite_schema", zSql, zSep, zDb ); if( zSql==0 ) return SQLITE_NOMEM; @@ -3354,7 +3369,7 @@ static int completionNext(sqlite3_vtab_cursor *cur){ const char *zDb = (const char*)sqlite3_column_text(pS2, 1); zSql = sqlite3_mprintf( "%z%s" - "SELECT pti.name FROM \"%w\".sqlite_master AS sm" + "SELECT pti.name FROM \"%w\".sqlite_schema AS sm" " JOIN pragma_table_info(sm.name,%Q) AS pti" " WHERE sm.type='table'", zSql, zSep, zDb, zDb @@ -4047,7 +4062,7 @@ static int apndOpen( p = (ApndFile*)pFile; memset(p, 0, sizeof(*p)); pSubFile = ORIGFILE(pFile); - p->base.pMethods = &apnd_io_methods; + pFile->pMethods = &apnd_io_methods; rc = pSubVfs->xOpen(pSubVfs, zName, pSubFile, flags, pOutFlags); if( rc ) goto apnd_open_done; rc = pSubFile->pMethods->xFileSize(pSubFile, &sz); @@ -4379,6 +4394,927 @@ int sqlite3_uint_init( } /************************* End ../ext/misc/uint.c ********************/ +/************************* Begin ../ext/misc/decimal.c ******************/ +/* +** 2020-06-22 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +****************************************************************************** +** +** Routines to implement arbitrary-precision decimal math. +** +** The focus here is on simplicity and correctness, not performance. +*/ +/* #include "sqlite3ext.h" */ +SQLITE_EXTENSION_INIT1 +#include +#include +#include +#include + +/* Mark a function parameter as unused, to suppress nuisance compiler +** warnings. */ +#ifndef UNUSED_PARAMETER +# define UNUSED_PARAMETER(X) (void)(X) +#endif + + +/* A decimal object */ +typedef struct Decimal Decimal; +struct Decimal { + char sign; /* 0 for positive, 1 for negative */ + char oom; /* True if an OOM is encountered */ + char isNull; /* True if holds a NULL rather than a number */ + char isInit; /* True upon initialization */ + int nDigit; /* Total number of digits */ + int nFrac; /* Number of digits to the right of the decimal point */ + signed char *a; /* Array of digits. Most significant first. */ +}; + +/* +** Release memory held by a Decimal, but do not free the object itself. +*/ +static void decimal_clear(Decimal *p){ + sqlite3_free(p->a); +} + +/* +** Destroy a Decimal object +*/ +static void decimal_free(Decimal *p){ + if( p ){ + decimal_clear(p); + sqlite3_free(p); + } +} + +/* +** Allocate a new Decimal object. Initialize it to the number given +** by the input string. +*/ +static Decimal *decimal_new( + sqlite3_context *pCtx, + sqlite3_value *pIn, + int nAlt, + const unsigned char *zAlt +){ + Decimal *p; + int n, i; + const unsigned char *zIn; + int iExp = 0; + p = sqlite3_malloc( sizeof(*p) ); + if( p==0 ) goto new_no_mem; + p->sign = 0; + p->oom = 0; + p->isInit = 1; + p->isNull = 0; + p->nDigit = 0; + p->nFrac = 0; + if( zAlt ){ + n = nAlt, + zIn = zAlt; + }else{ + if( sqlite3_value_type(pIn)==SQLITE_NULL ){ + p->a = 0; + p->isNull = 1; + return p; + } + n = sqlite3_value_bytes(pIn); + zIn = sqlite3_value_text(pIn); + } + p->a = sqlite3_malloc64( n+1 ); + if( p->a==0 ) goto new_no_mem; + for(i=0; isspace(zIn[i]); i++){} + if( zIn[i]=='-' ){ + p->sign = 1; + i++; + }else if( zIn[i]=='+' ){ + i++; + } + while( i='0' && c<='9' ){ + p->a[p->nDigit++] = c - '0'; + }else if( c=='.' ){ + p->nFrac = p->nDigit + 1; + }else if( c=='e' || c=='E' ){ + int j = i+1; + int neg = 0; + if( j>=n ) break; + if( zIn[j]=='-' ){ + neg = 1; + j++; + }else if( zIn[j]=='+' ){ + j++; + } + while( j='0' && zIn[j]<='9' ){ + iExp = iExp*10 + zIn[j] - '0'; + } + j++; + } + if( neg ) iExp = -iExp; + break; + } + i++; + } + if( p->nFrac ){ + p->nFrac = p->nDigit - (p->nFrac - 1); + } + if( iExp>0 ){ + if( p->nFrac>0 ){ + if( iExp<=p->nFrac ){ + p->nFrac -= iExp; + iExp = 0; + }else{ + iExp -= p->nFrac; + p->nFrac = 0; + } + } + if( iExp>0 ){ + p->a = sqlite3_realloc64(p->a, p->nDigit + iExp + 1 ); + if( p->a==0 ) goto new_no_mem; + memset(p->a+p->nDigit, 0, iExp); + p->nDigit += iExp; + } + }else if( iExp<0 ){ + int nExtra; + iExp = -iExp; + nExtra = p->nDigit - p->nFrac - 1; + if( nExtra ){ + if( nExtra>=iExp ){ + p->nFrac += iExp; + iExp = 0; + }else{ + iExp -= nExtra; + p->nFrac = p->nDigit - 1; + } + } + if( iExp>0 ){ + p->a = sqlite3_realloc64(p->a, p->nDigit + iExp + 1 ); + if( p->a==0 ) goto new_no_mem; + memmove(p->a+iExp, p->a, p->nDigit); + memset(p->a, 0, iExp); + p->nDigit += iExp; + p->nFrac += iExp; + } + } + return p; + +new_no_mem: + if( pCtx ) sqlite3_result_error_nomem(pCtx); + sqlite3_free(p); + return 0; +} + +/* +** Make the given Decimal the result. +*/ +static void decimal_result(sqlite3_context *pCtx, Decimal *p){ + char *z; + int i, j; + int n; + if( p==0 || p->oom ){ + sqlite3_result_error_nomem(pCtx); + return; + } + if( p->isNull ){ + sqlite3_result_null(pCtx); + return; + } + z = sqlite3_malloc( p->nDigit+4 ); + if( z==0 ){ + sqlite3_result_error_nomem(pCtx); + return; + } + i = 0; + if( p->nDigit==0 || (p->nDigit==1 && p->a[0]==0) ){ + p->sign = 0; + } + if( p->sign ){ + z[0] = '-'; + i = 1; + } + n = p->nDigit - p->nFrac; + if( n<=0 ){ + z[i++] = '0'; + } + j = 0; + while( n>1 && p->a[j]==0 ){ + j++; + n--; + } + while( n>0 ){ + z[i++] = p->a[j] + '0'; + j++; + n--; + } + if( p->nFrac ){ + z[i++] = '.'; + do{ + z[i++] = p->a[j] + '0'; + j++; + }while( jnDigit ); + } + z[i] = 0; + sqlite3_result_text(pCtx, z, i, sqlite3_free); +} + +/* +** SQL Function: decimal(X) +** +** Convert input X into decimal and then back into text +*/ +static void decimalFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + Decimal *p = decimal_new(context, argv[0], 0, 0); + UNUSED_PARAMETER(argc); + decimal_result(context, p); + decimal_free(p); +} + +/* +** Compare to Decimal objects. Return negative, 0, or positive if the +** first object is less than, equal to, or greater than the second. +** +** Preconditions for this routine: +** +** pA!=0 +** pA->isNull==0 +** pB!=0 +** pB->isNull==0 +*/ +static int decimal_cmp(const Decimal *pA, const Decimal *pB){ + int nASig, nBSig, rc, n; + if( pA->sign!=pB->sign ){ + return pA->sign ? -1 : +1; + } + if( pA->sign ){ + const Decimal *pTemp = pA; + pA = pB; + pB = pTemp; + } + nASig = pA->nDigit - pA->nFrac; + nBSig = pB->nDigit - pB->nFrac; + if( nASig!=nBSig ){ + return nASig - nBSig; + } + n = pA->nDigit; + if( n>pB->nDigit ) n = pB->nDigit; + rc = memcmp(pA->a, pB->a, n); + if( rc==0 ){ + rc = pA->nDigit - pB->nDigit; + } + return rc; +} + +/* +** SQL Function: decimal_cmp(X, Y) +** +** Return negative, zero, or positive if X is less then, equal to, or +** greater than Y. +*/ +static void decimalCmpFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + Decimal *pA = 0, *pB = 0; + int rc; + + UNUSED_PARAMETER(argc); + pA = decimal_new(context, argv[0], 0, 0); + if( pA==0 || pA->isNull ) goto cmp_done; + pB = decimal_new(context, argv[1], 0, 0); + if( pB==0 || pB->isNull ) goto cmp_done; + rc = decimal_cmp(pA, pB); + if( rc<0 ) rc = -1; + else if( rc>0 ) rc = +1; + sqlite3_result_int(context, rc); +cmp_done: + decimal_free(pA); + decimal_free(pB); +} + +/* +** Expand the Decimal so that it has a least nDigit digits and nFrac +** digits to the right of the decimal point. +*/ +static void decimal_expand(Decimal *p, int nDigit, int nFrac){ + int nAddSig; + int nAddFrac; + if( p==0 ) return; + nAddFrac = nFrac - p->nFrac; + nAddSig = (nDigit - p->nDigit) - nAddFrac; + if( nAddFrac==0 && nAddSig==0 ) return; + p->a = sqlite3_realloc64(p->a, nDigit+1); + if( p->a==0 ){ + p->oom = 1; + return; + } + if( nAddSig ){ + memmove(p->a+nAddSig, p->a, p->nDigit); + memset(p->a, 0, nAddSig); + p->nDigit += nAddSig; + } + if( nAddFrac ){ + memset(p->a+p->nDigit, 0, nAddFrac); + p->nDigit += nAddFrac; + p->nFrac += nAddFrac; + } +} + +/* +** Add the value pB into pA. +** +** Both pA and pB might become denormalized by this routine. +*/ +static void decimal_add(Decimal *pA, Decimal *pB){ + int nSig, nFrac, nDigit; + int i, rc; + if( pA==0 ){ + return; + } + if( pA->oom || pB==0 || pB->oom ){ + pA->oom = 1; + return; + } + if( pA->isNull || pB->isNull ){ + pA->isNull = 1; + return; + } + nSig = pA->nDigit - pA->nFrac; + if( nSig && pA->a[0]==0 ) nSig--; + if( nSignDigit-pB->nFrac ){ + nSig = pB->nDigit - pB->nFrac; + } + nFrac = pA->nFrac; + if( nFracnFrac ) nFrac = pB->nFrac; + nDigit = nSig + nFrac + 1; + decimal_expand(pA, nDigit, nFrac); + decimal_expand(pB, nDigit, nFrac); + if( pA->oom || pB->oom ){ + pA->oom = 1; + }else{ + if( pA->sign==pB->sign ){ + int carry = 0; + for(i=nDigit-1; i>=0; i--){ + int x = pA->a[i] + pB->a[i] + carry; + if( x>=10 ){ + carry = 1; + pA->a[i] = x - 10; + }else{ + carry = 0; + pA->a[i] = x; + } + } + }else{ + signed char *aA, *aB; + int borrow = 0; + rc = memcmp(pA->a, pB->a, nDigit); + if( rc<0 ){ + aA = pB->a; + aB = pA->a; + pA->sign = !pA->sign; + }else{ + aA = pA->a; + aB = pB->a; + } + for(i=nDigit-1; i>=0; i--){ + int x = aA[i] - aB[i] - borrow; + if( x<0 ){ + pA->a[i] = x+10; + borrow = 1; + }else{ + pA->a[i] = x; + borrow = 0; + } + } + } + } +} + +/* +** Compare text in decimal order. +*/ +static int decimalCollFunc( + void *notUsed, + int nKey1, const void *pKey1, + int nKey2, const void *pKey2 +){ + const unsigned char *zA = (const unsigned char*)pKey1; + const unsigned char *zB = (const unsigned char*)pKey2; + Decimal *pA = decimal_new(0, 0, nKey1, zA); + Decimal *pB = decimal_new(0, 0, nKey2, zB); + int rc; + UNUSED_PARAMETER(notUsed); + if( pA==0 || pB==0 ){ + rc = 0; + }else{ + rc = decimal_cmp(pA, pB); + } + decimal_free(pA); + decimal_free(pB); + return rc; +} + + +/* +** SQL Function: decimal_add(X, Y) +** decimal_sub(X, Y) +** +** Return the sum or difference of X and Y. +*/ +static void decimalAddFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + Decimal *pA = decimal_new(context, argv[0], 0, 0); + Decimal *pB = decimal_new(context, argv[1], 0, 0); + UNUSED_PARAMETER(argc); + decimal_add(pA, pB); + decimal_result(context, pA); + decimal_free(pA); + decimal_free(pB); +} +static void decimalSubFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + Decimal *pA = decimal_new(context, argv[0], 0, 0); + Decimal *pB = decimal_new(context, argv[1], 0, 0); + UNUSED_PARAMETER(argc); + if( pB==0 ) return; + pB->sign = !pB->sign; + decimal_add(pA, pB); + decimal_result(context, pA); + decimal_free(pA); + decimal_free(pB); +} + +/* Aggregate funcion: decimal_sum(X) +** +** Works like sum() except that it uses decimal arithmetic for unlimited +** precision. +*/ +static void decimalSumStep( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + Decimal *p; + Decimal *pArg; + UNUSED_PARAMETER(argc); + p = sqlite3_aggregate_context(context, sizeof(*p)); + if( p==0 ) return; + if( !p->isInit ){ + p->isInit = 1; + p->a = sqlite3_malloc(2); + if( p->a==0 ){ + p->oom = 1; + }else{ + p->a[0] = 0; + } + p->nDigit = 1; + p->nFrac = 0; + } + if( sqlite3_value_type(argv[0])==SQLITE_NULL ) return; + pArg = decimal_new(context, argv[0], 0, 0); + decimal_add(p, pArg); + decimal_free(pArg); +} +static void decimalSumInverse( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + Decimal *p; + Decimal *pArg; + UNUSED_PARAMETER(argc); + p = sqlite3_aggregate_context(context, sizeof(*p)); + if( p==0 ) return; + if( sqlite3_value_type(argv[0])==SQLITE_NULL ) return; + pArg = decimal_new(context, argv[0], 0, 0); + if( pArg ) pArg->sign = !pArg->sign; + decimal_add(p, pArg); + decimal_free(pArg); +} +static void decimalSumValue(sqlite3_context *context){ + Decimal *p = sqlite3_aggregate_context(context, 0); + if( p==0 ) return; + decimal_result(context, p); +} +static void decimalSumFinalize(sqlite3_context *context){ + Decimal *p = sqlite3_aggregate_context(context, 0); + if( p==0 ) return; + decimal_result(context, p); + decimal_clear(p); +} + +/* +** SQL Function: decimal_mul(X, Y) +** +** Return the product of X and Y. +** +** All significant digits after the decimal point are retained. +** Trailing zeros after the decimal point are omitted as long as +** the number of digits after the decimal point is no less than +** either the number of digits in either input. +*/ +static void decimalMulFunc( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + Decimal *pA = decimal_new(context, argv[0], 0, 0); + Decimal *pB = decimal_new(context, argv[1], 0, 0); + signed char *acc = 0; + int i, j, k; + int minFrac; + UNUSED_PARAMETER(argc); + if( pA==0 || pA->oom || pA->isNull + || pB==0 || pB->oom || pB->isNull + ){ + goto mul_end; + } + acc = sqlite3_malloc64( pA->nDigit + pB->nDigit + 2 ); + if( acc==0 ){ + sqlite3_result_error_nomem(context); + goto mul_end; + } + memset(acc, 0, pA->nDigit + pB->nDigit + 2); + minFrac = pA->nFrac; + if( pB->nFracnFrac; + for(i=pA->nDigit-1; i>=0; i--){ + signed char f = pA->a[i]; + int carry = 0, x; + for(j=pB->nDigit-1, k=i+j+3; j>=0; j--, k--){ + x = acc[k] + f*pB->a[j] + carry; + acc[k] = x%10; + carry = x/10; + } + x = acc[k] + carry; + acc[k] = x%10; + acc[k-1] += x/10; + } + sqlite3_free(pA->a); + pA->a = acc; + acc = 0; + pA->nDigit += pB->nDigit + 2; + pA->nFrac += pB->nFrac; + pA->sign ^= pB->sign; + while( pA->nFrac>minFrac && pA->a[pA->nDigit-1]==0 ){ + pA->nFrac--; + pA->nDigit--; + } + decimal_result(context, pA); + +mul_end: + sqlite3_free(acc); + decimal_free(pA); + decimal_free(pB); +} + +#ifdef _WIN32 + +#endif +int sqlite3_decimal_init( + sqlite3 *db, + char **pzErrMsg, + const sqlite3_api_routines *pApi +){ + int rc = SQLITE_OK; + static const struct { + const char *zFuncName; + int nArg; + void (*xFunc)(sqlite3_context*,int,sqlite3_value**); + } aFunc[] = { + { "decimal", 1, decimalFunc }, + { "decimal_cmp", 2, decimalCmpFunc }, + { "decimal_add", 2, decimalAddFunc }, + { "decimal_sub", 2, decimalSubFunc }, + { "decimal_mul", 2, decimalMulFunc }, + }; + unsigned int i; + (void)pzErrMsg; /* Unused parameter */ + + SQLITE_EXTENSION_INIT2(pApi); + + for(i=0; i 'ieee754(2,0)' +** ieee754(45.25) -> 'ieee754(181,-2)' +** ieee754(2, 0) -> 2.0 +** ieee754(181, -2) -> 45.25 +** +** Two additional functions break apart the one-argument ieee754() +** result into separate integer values: +** +** ieee754_mantissa(45.25) -> 181 +** ieee754_exponent(45.25) -> -2 +** +** These functions convert binary64 numbers into blobs and back again. +** +** ieee754_from_blob(x'3ff0000000000000') -> 1.0 +** ieee754_to_blob(1.0) -> x'3ff0000000000000' +** +** In all single-argument functions, if the argument is an 8-byte blob +** then that blob is interpreted as a big-endian binary64 value. +** +** +** EXACT DECIMAL REPRESENTATION OF BINARY64 VALUES +** ----------------------------------------------- +** +** This extension in combination with the separate 'decimal' extension +** can be used to compute the exact decimal representation of binary64 +** values. To begin, first compute a table of exponent values: +** +** CREATE TABLE pow2(x INTEGER PRIMARY KEY, v TEXT); +** WITH RECURSIVE c(x,v) AS ( +** VALUES(0,'1') +** UNION ALL +** SELECT x+1, decimal_mul(v,'2') FROM c WHERE x+1<=971 +** ) INSERT INTO pow2(x,v) SELECT x, v FROM c; +** WITH RECURSIVE c(x,v) AS ( +** VALUES(-1,'0.5') +** UNION ALL +** SELECT x-1, decimal_mul(v,'0.5') FROM c WHERE x-1>=-1075 +** ) INSERT INTO pow2(x,v) SELECT x, v FROM c; +** +** Then, to compute the exact decimal representation of a floating +** point value (the value 47.49 is used in the example) do: +** +** WITH c(n) AS (VALUES(47.49)) +** ---------------^^^^^---- Replace with whatever you want +** SELECT decimal_mul(ieee754_mantissa(c.n),pow2.v) +** FROM pow2, c WHERE pow2.x=ieee754_exponent(c.n); +** +** Here is a query to show various boundry values for the binary64 +** number format: +** +** WITH c(name,bin) AS (VALUES +** ('minimum positive value', x'0000000000000001'), +** ('maximum subnormal value', x'000fffffffffffff'), +** ('mininum positive nornal value', x'0010000000000000'), +** ('maximum value', x'7fefffffffffffff')) +** SELECT c.name, decimal_mul(ieee754_mantissa(c.bin),pow2.v) +** FROM pow2, c WHERE pow2.x=ieee754_exponent(c.bin); +** +*/ +/* #include "sqlite3ext.h" */ +SQLITE_EXTENSION_INIT1 +#include +#include + +/* Mark a function parameter as unused, to suppress nuisance compiler +** warnings. */ +#ifndef UNUSED_PARAMETER +# define UNUSED_PARAMETER(X) (void)(X) +#endif + +/* +** Implementation of the ieee754() function +*/ +static void ieee754func( + sqlite3_context *context, + int argc, + sqlite3_value **argv +){ + if( argc==1 ){ + sqlite3_int64 m, a; + double r; + int e; + int isNeg; + char zResult[100]; + assert( sizeof(m)==sizeof(r) ); + if( sqlite3_value_type(argv[0])==SQLITE_BLOB + && sqlite3_value_bytes(argv[0])==sizeof(r) + ){ + const unsigned char *x = sqlite3_value_blob(argv[0]); + unsigned int i; + sqlite3_uint64 v = 0; + for(i=0; i>52; + m = a & ((((sqlite3_int64)1)<<52)-1); + if( e==0 ){ + m <<= 1; + }else{ + m |= ((sqlite3_int64)1)<<52; + } + while( e<1075 && m>0 && (m&1)==0 ){ + m >>= 1; + e++; + } + if( isNeg ) m = -m; + } + switch( *(int*)sqlite3_user_data(context) ){ + case 0: + sqlite3_snprintf(sizeof(zResult), zResult, "ieee754(%lld,%d)", + m, e-1075); + sqlite3_result_text(context, zResult, -1, SQLITE_TRANSIENT); + break; + case 1: + sqlite3_result_int64(context, m); + break; + case 2: + sqlite3_result_int(context, e-1075); + break; + } + }else{ + sqlite3_int64 m, e, a; + double r; + int isNeg = 0; + m = sqlite3_value_int64(argv[0]); + e = sqlite3_value_int64(argv[1]); + if( m<0 ){ + isNeg = 1; + m = -m; + if( m<0 ) return; + }else if( m==0 && e>-1000 && e<1000 ){ + sqlite3_result_double(context, 0.0); + return; + } + while( (m>>32)&0xffe00000 ){ + m >>= 1; + e++; + } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Fri Aug 21 22:56:08 2020 Return-Path: Delivered-To: svn-src-all@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 9E0EE3CC901; Fri, 21 Aug 2020 22:56:08 +0000 (UTC) (envelope-from cy@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 4BYH1h3F2Tz3Wwr; Fri, 21 Aug 2020 22:56:08 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 393E1CB54; Fri, 21 Aug 2020 22:56:08 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LMu8nt020919; Fri, 21 Aug 2020 22:56:08 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LMu6oD020909; Fri, 21 Aug 2020 22:56:06 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202008212256.07LMu6oD020909@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Fri, 21 Aug 2020 22:56:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r364468 - in vendor/unbound/dist: . .github cachedb contrib contrib/android contrib/ios daemon dns64 dnstap doc dynlibmod dynlibmod/examples edns-subnet iterator libunbound respip servi... X-SVN-Group: vendor X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in vendor/unbound/dist: . .github cachedb contrib contrib/android contrib/ios daemon dns64 dnstap doc dynlibmod dynlibmod/examples edns-subnet iterator libunbound respip services sldns smallapp testco... X-SVN-Commit-Revision: 364468 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 22:56:08 -0000 Author: cy Date: Fri Aug 21 22:56:05 2020 New Revision: 364468 URL: https://svnweb.freebsd.org/changeset/base/364468 Log: Vendor import of Unbound 1.11.0. Added: vendor/unbound/dist/README-Travis.md vendor/unbound/dist/contrib/android/ vendor/unbound/dist/contrib/android/15-android.conf (contents, props changed) vendor/unbound/dist/contrib/android/install_expat.sh (contents, props changed) vendor/unbound/dist/contrib/android/install_ndk.sh (contents, props changed) vendor/unbound/dist/contrib/android/install_openssl.sh (contents, props changed) vendor/unbound/dist/contrib/android/install_tools.sh (contents, props changed) vendor/unbound/dist/contrib/android/setenv_android.sh (contents, props changed) vendor/unbound/dist/contrib/ios/ vendor/unbound/dist/contrib/ios/15-ios.conf (contents, props changed) vendor/unbound/dist/contrib/ios/install_expat.sh (contents, props changed) vendor/unbound/dist/contrib/ios/install_openssl.sh (contents, props changed) vendor/unbound/dist/contrib/ios/install_tools.sh (contents, props changed) vendor/unbound/dist/contrib/ios/openssl.patch vendor/unbound/dist/contrib/ios/setenv_ios.sh (contents, props changed) vendor/unbound/dist/dnstap/dnstap_fstrm.c (contents, props changed) vendor/unbound/dist/dnstap/dnstap_fstrm.h (contents, props changed) vendor/unbound/dist/dnstap/dtstream.c (contents, props changed) vendor/unbound/dist/dnstap/dtstream.h (contents, props changed) vendor/unbound/dist/dnstap/unbound-dnstap-socket.c (contents, props changed) vendor/unbound/dist/dynlibmod/ vendor/unbound/dist/dynlibmod/dynlibmod.c (contents, props changed) vendor/unbound/dist/dynlibmod/dynlibmod.h (contents, props changed) vendor/unbound/dist/dynlibmod/examples/ vendor/unbound/dist/dynlibmod/examples/helloworld.c (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/bad.dscp vendor/unbound/dist/testdata/04-checkconf.tdir/bad.include-toplevel.1 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/bad.include-toplevel.2 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/bad.include-toplevel.3 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/bad.include-toplevel.4 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/bad.include-toplevel.5 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/bad.include-toplevel.6 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/bad.include-toplevel.7 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/good.include-toplevel vendor/unbound/dist/testdata/04-checkconf.tdir/good.min vendor/unbound/dist/testdata/04-checkconf.tdir/include.include.withclauses.1 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.include.withclauses.2 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.include.withclauses.3 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.include.withoutclauses.1 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.include.withoutclauses.2 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.include.withoutclauses.3 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.includetop.withclauses.1 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.includetop.withclauses.2 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.includetop.withclauses.3 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.includetop.withoutclauses.1 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.includetop.withoutclauses.2 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.includetop.withoutclauses.3 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withclauses.1 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withclauses.2 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withclauses.3 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withoutclauses.1 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withoutclauses.2 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withoutclauses.3 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withsomeclauses.1 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withsomeclauses.2 (contents, props changed) vendor/unbound/dist/testdata/04-checkconf.tdir/include.withsomeclauses.3 (contents, props changed) vendor/unbound/dist/testdata/dnstap.tdir/ vendor/unbound/dist/testdata/dnstap.tdir/dnstap.conf (contents, props changed) vendor/unbound/dist/testdata/dnstap.tdir/dnstap.dsc vendor/unbound/dist/testdata/dnstap.tdir/dnstap.post vendor/unbound/dist/testdata/dnstap.tdir/dnstap.pre vendor/unbound/dist/testdata/dnstap.tdir/dnstap.test vendor/unbound/dist/testdata/dnstap.tdir/dnstap.testns vendor/unbound/dist/testdata/dnstap.tdir/unbound_control.key vendor/unbound/dist/testdata/dnstap.tdir/unbound_control.pem vendor/unbound/dist/testdata/dnstap.tdir/unbound_server.key vendor/unbound/dist/testdata/dnstap.tdir/unbound_server.pem vendor/unbound/dist/testdata/dnstap_reconnect.tdir/ vendor/unbound/dist/testdata/dnstap_reconnect.tdir/dnstap_reconnect.conf (contents, props changed) vendor/unbound/dist/testdata/dnstap_reconnect.tdir/dnstap_reconnect.dsc vendor/unbound/dist/testdata/dnstap_reconnect.tdir/dnstap_reconnect.post vendor/unbound/dist/testdata/dnstap_reconnect.tdir/dnstap_reconnect.pre vendor/unbound/dist/testdata/dnstap_reconnect.tdir/dnstap_reconnect.test vendor/unbound/dist/testdata/dnstap_reconnect.tdir/dnstap_reconnect.testns vendor/unbound/dist/testdata/dnstap_reconnect.tdir/unbound_control.key vendor/unbound/dist/testdata/dnstap_reconnect.tdir/unbound_control.pem vendor/unbound/dist/testdata/dnstap_reconnect.tdir/unbound_server.key vendor/unbound/dist/testdata/dnstap_reconnect.tdir/unbound_server.pem vendor/unbound/dist/testdata/dnstap_tcp.tdir/ vendor/unbound/dist/testdata/dnstap_tcp.tdir/dnstap_tcp.conf (contents, props changed) vendor/unbound/dist/testdata/dnstap_tcp.tdir/dnstap_tcp.dsc vendor/unbound/dist/testdata/dnstap_tcp.tdir/dnstap_tcp.post vendor/unbound/dist/testdata/dnstap_tcp.tdir/dnstap_tcp.pre vendor/unbound/dist/testdata/dnstap_tcp.tdir/dnstap_tcp.test vendor/unbound/dist/testdata/dnstap_tcp.tdir/dnstap_tcp.testns vendor/unbound/dist/testdata/dnstap_tcp.tdir/unbound_control.key vendor/unbound/dist/testdata/dnstap_tcp.tdir/unbound_control.pem vendor/unbound/dist/testdata/dnstap_tcp.tdir/unbound_server.key vendor/unbound/dist/testdata/dnstap_tcp.tdir/unbound_server.pem vendor/unbound/dist/testdata/dnstap_tls.tdir/ vendor/unbound/dist/testdata/dnstap_tls.tdir/dnstap_tls.conf (contents, props changed) vendor/unbound/dist/testdata/dnstap_tls.tdir/dnstap_tls.dsc vendor/unbound/dist/testdata/dnstap_tls.tdir/dnstap_tls.post vendor/unbound/dist/testdata/dnstap_tls.tdir/dnstap_tls.pre vendor/unbound/dist/testdata/dnstap_tls.tdir/dnstap_tls.test vendor/unbound/dist/testdata/dnstap_tls.tdir/dnstap_tls.testns vendor/unbound/dist/testdata/dnstap_tls.tdir/unbound_control.key vendor/unbound/dist/testdata/dnstap_tls.tdir/unbound_control.pem vendor/unbound/dist/testdata/dnstap_tls.tdir/unbound_server.key vendor/unbound/dist/testdata/dnstap_tls.tdir/unbound_server.pem vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/ vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/dnstap_tls_badcert.conf (contents, props changed) vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/dnstap_tls_badcert.dsc vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/dnstap_tls_badcert.post vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/dnstap_tls_badcert.pre vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/dnstap_tls_badcert.test vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/dnstap_tls_badcert.testns vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/unbound_control.key vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/unbound_control.pem vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/unbound_server.key vendor/unbound/dist/testdata/dnstap_tls_badcert.tdir/unbound_server.pem vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/ vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/dnstap_tls_badname.conf (contents, props changed) vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/dnstap_tls_badname.dsc vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/dnstap_tls_badname.post vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/dnstap_tls_badname.pre vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/dnstap_tls_badname.test vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/dnstap_tls_badname.testns vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/unbound_control.key vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/unbound_control.pem vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/unbound_server.key vendor/unbound/dist/testdata/dnstap_tls_badname.tdir/unbound_server.pem vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/ vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/dnstap_tls_clientauth.conf (contents, props changed) vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/dnstap_tls_clientauth.dsc vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/dnstap_tls_clientauth.post vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/dnstap_tls_clientauth.pre vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/dnstap_tls_clientauth.test vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/dnstap_tls_clientauth.testns vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/unbound_control.key vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/unbound_control.pem vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/unbound_server.key vendor/unbound/dist/testdata/dnstap_tls_clientauth.tdir/unbound_server.pem vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/ vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/dnstap_tls_peername.conf (contents, props changed) vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/dnstap_tls_peername.dsc vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/dnstap_tls_peername.post vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/dnstap_tls_peername.pre vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/dnstap_tls_peername.test vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/dnstap_tls_peername.testns vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/unbound_control.key vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/unbound_control.pem vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/unbound_server.key vendor/unbound/dist/testdata/dnstap_tls_peername.tdir/unbound_server.pem vendor/unbound/dist/testdata/dynlibmod.tdir/ vendor/unbound/dist/testdata/dynlibmod.tdir/dynlibmod.conf (contents, props changed) vendor/unbound/dist/testdata/dynlibmod.tdir/dynlibmod.dsc vendor/unbound/dist/testdata/dynlibmod.tdir/dynlibmod.post vendor/unbound/dist/testdata/dynlibmod.tdir/dynlibmod.pre vendor/unbound/dist/testdata/dynlibmod.tdir/dynlibmod.test vendor/unbound/dist/testdata/dynlibmod.tdir/dynlibmod.testns vendor/unbound/dist/testdata/dynlibmod.tdir/unbound_control.key vendor/unbound/dist/testdata/dynlibmod.tdir/unbound_control.pem vendor/unbound/dist/testdata/dynlibmod.tdir/unbound_server.key vendor/unbound/dist/testdata/dynlibmod.tdir/unbound_server.pem Modified: vendor/unbound/dist/.github/FUNDING.yml vendor/unbound/dist/.gitignore vendor/unbound/dist/.travis.yml vendor/unbound/dist/Makefile.in vendor/unbound/dist/acx_python.m4 vendor/unbound/dist/cachedb/cachedb.c vendor/unbound/dist/cachedb/cachedb.h vendor/unbound/dist/cachedb/redis.c vendor/unbound/dist/config.guess vendor/unbound/dist/config.h.in vendor/unbound/dist/config.sub vendor/unbound/dist/configure vendor/unbound/dist/configure.ac vendor/unbound/dist/contrib/aaaa-filter-iterator.patch vendor/unbound/dist/contrib/fastrpz.patch vendor/unbound/dist/contrib/libunbound.pc.in vendor/unbound/dist/contrib/unbound.service.in vendor/unbound/dist/daemon/acl_list.c vendor/unbound/dist/daemon/daemon.c vendor/unbound/dist/daemon/remote.c vendor/unbound/dist/daemon/unbound.c vendor/unbound/dist/daemon/worker.c vendor/unbound/dist/dns64/dns64.c vendor/unbound/dist/dnstap/dnstap.c vendor/unbound/dist/dnstap/dnstap.h vendor/unbound/dist/dnstap/dnstap.m4 vendor/unbound/dist/doc/Changelog vendor/unbound/dist/doc/README vendor/unbound/dist/doc/example.conf.in vendor/unbound/dist/doc/libunbound.3.in vendor/unbound/dist/doc/unbound-anchor.8.in vendor/unbound/dist/doc/unbound-checkconf.8.in vendor/unbound/dist/doc/unbound-control.8.in vendor/unbound/dist/doc/unbound-host.1.in vendor/unbound/dist/doc/unbound.8.in vendor/unbound/dist/doc/unbound.conf.5.in vendor/unbound/dist/edns-subnet/subnetmod.c vendor/unbound/dist/edns-subnet/subnetmod.h vendor/unbound/dist/iterator/iter_utils.c vendor/unbound/dist/iterator/iterator.c vendor/unbound/dist/iterator/iterator.h vendor/unbound/dist/libunbound/libworker.c vendor/unbound/dist/libunbound/unbound.h vendor/unbound/dist/respip/respip.c vendor/unbound/dist/services/authzone.c vendor/unbound/dist/services/authzone.h vendor/unbound/dist/services/listen_dnsport.c vendor/unbound/dist/services/listen_dnsport.h vendor/unbound/dist/services/localzone.c vendor/unbound/dist/services/mesh.c vendor/unbound/dist/services/modstack.c vendor/unbound/dist/services/outside_network.c vendor/unbound/dist/services/outside_network.h vendor/unbound/dist/services/rpz.c vendor/unbound/dist/services/rpz.h vendor/unbound/dist/sldns/parseutil.c vendor/unbound/dist/smallapp/unbound-anchor.c vendor/unbound/dist/smallapp/unbound-checkconf.c vendor/unbound/dist/smallapp/unbound-control-setup.sh.in vendor/unbound/dist/smallapp/unbound-control.c vendor/unbound/dist/smallapp/worker_cb.c vendor/unbound/dist/testcode/fake_event.c vendor/unbound/dist/testcode/run_vm.sh vendor/unbound/dist/testcode/streamtcp.c vendor/unbound/dist/testcode/testbound.c vendor/unbound/dist/testcode/unitmain.c vendor/unbound/dist/testdata/04-checkconf.tdir/bad.badfwd vendor/unbound/dist/testdata/04-checkconf.tdir/bad.user vendor/unbound/dist/testdata/04-checkconf.tdir/good.all vendor/unbound/dist/testdata/09-unbound-control.tdir/bad_control.key vendor/unbound/dist/testdata/09-unbound-control.tdir/bad_control.pem vendor/unbound/dist/testdata/09-unbound-control.tdir/bad_server.key vendor/unbound/dist/testdata/09-unbound-control.tdir/bad_server.pem vendor/unbound/dist/testdata/09-unbound-control.tdir/unbound_control.key vendor/unbound/dist/testdata/09-unbound-control.tdir/unbound_control.pem vendor/unbound/dist/testdata/09-unbound-control.tdir/unbound_server.key vendor/unbound/dist/testdata/09-unbound-control.tdir/unbound_server.pem vendor/unbound/dist/testdata/10-unbound-anchor.tdir/keys/test_cert.pem vendor/unbound/dist/testdata/10-unbound-anchor.tdir/keys/unbound-control-setup vendor/unbound/dist/testdata/10-unbound-anchor.tdir/keys/unbound_control.key vendor/unbound/dist/testdata/10-unbound-anchor.tdir/keys/unbound_control.pem vendor/unbound/dist/testdata/10-unbound-anchor.tdir/keys/unbound_server.key vendor/unbound/dist/testdata/10-unbound-anchor.tdir/keys/unbound_server.pem vendor/unbound/dist/testdata/autotrust_10key.rpl vendor/unbound/dist/testdata/autotrust_revtp.rpl vendor/unbound/dist/testdata/autotrust_revtp_read.rpl vendor/unbound/dist/testdata/black_data.rpl vendor/unbound/dist/testdata/black_prime.rpl vendor/unbound/dist/testdata/ctrl_itr.tdir/unbound_control.key vendor/unbound/dist/testdata/ctrl_itr.tdir/unbound_control.pem vendor/unbound/dist/testdata/ctrl_itr.tdir/unbound_server.key vendor/unbound/dist/testdata/ctrl_itr.tdir/unbound_server.pem vendor/unbound/dist/testdata/ctrl_pipe.tdir/unbound_control.key vendor/unbound/dist/testdata/ctrl_pipe.tdir/unbound_control.pem vendor/unbound/dist/testdata/ctrl_pipe.tdir/unbound_server.key vendor/unbound/dist/testdata/ctrl_pipe.tdir/unbound_server.pem vendor/unbound/dist/testdata/fwd_bogus.tdir/unbound_control.key vendor/unbound/dist/testdata/fwd_bogus.tdir/unbound_control.pem vendor/unbound/dist/testdata/fwd_bogus.tdir/unbound_server.key vendor/unbound/dist/testdata/fwd_bogus.tdir/unbound_server.pem vendor/unbound/dist/testdata/fwd_compress_c00c.tdir/fwd_compress_c00c.conf vendor/unbound/dist/testdata/iter_lame_noaa.rpl vendor/unbound/dist/testdata/iter_lame_nosoa.rpl vendor/unbound/dist/testdata/iter_ns_badip.rpl vendor/unbound/dist/testdata/iter_pcnamech.rpl vendor/unbound/dist/testdata/iter_pcnamechrec.rpl vendor/unbound/dist/testdata/iter_ranoaa_lame.rpl vendor/unbound/dist/testdata/iter_reclame_one.rpl vendor/unbound/dist/testdata/iter_reclame_two.rpl vendor/unbound/dist/testdata/localdata.rpl vendor/unbound/dist/testdata/remote-threaded.tdir/unbound_control.key vendor/unbound/dist/testdata/remote-threaded.tdir/unbound_control.pem vendor/unbound/dist/testdata/remote-threaded.tdir/unbound_server.key vendor/unbound/dist/testdata/remote-threaded.tdir/unbound_server.pem vendor/unbound/dist/testdata/rpz_axfr.rpl vendor/unbound/dist/testdata/rpz_ixfr.rpl vendor/unbound/dist/testdata/rrset_updated.rpl vendor/unbound/dist/testdata/ssl_req_order.tdir/unbound_server.key vendor/unbound/dist/testdata/ssl_req_order.tdir/unbound_server.pem vendor/unbound/dist/testdata/ssl_req_timeout.tdir/unbound_server.key vendor/unbound/dist/testdata/ssl_req_timeout.tdir/unbound_server.pem vendor/unbound/dist/testdata/stream_ssl.tdir/unbound_control.key vendor/unbound/dist/testdata/stream_ssl.tdir/unbound_control.pem vendor/unbound/dist/testdata/stream_ssl.tdir/unbound_server.key vendor/unbound/dist/testdata/stream_ssl.tdir/unbound_server.pem vendor/unbound/dist/testdata/val_any.rpl vendor/unbound/dist/testdata/val_any_dname.rpl vendor/unbound/dist/testdata/val_nsec3_b3_optout.rpl vendor/unbound/dist/testdata/val_nsec3_b3_optout_negcache.rpl vendor/unbound/dist/testdata/val_nsec3_b3_optout_noce.rpl vendor/unbound/dist/testdata/val_nsec3_b3_optout_nonc.rpl vendor/unbound/dist/testdata/val_nsec3_b4_wild.rpl vendor/unbound/dist/testdata/val_nsec3_b5_wcnodata.rpl vendor/unbound/dist/testdata/val_nsec3_b5_wcnodata_noce.rpl vendor/unbound/dist/testdata/val_nsec3_b5_wcnodata_nonc.rpl vendor/unbound/dist/testdata/val_nsec3_b5_wcnodata_nowc.rpl vendor/unbound/dist/testdata/val_nsec3_wcany.rpl vendor/unbound/dist/testdata/val_nx_nsec3_collision.rpl vendor/unbound/dist/testdata/val_refer_unsignadd.rpl vendor/unbound/dist/testdata/val_referglue.rpl vendor/unbound/dist/testdata/val_twocname.rpl vendor/unbound/dist/util/config_file.c vendor/unbound/dist/util/config_file.h vendor/unbound/dist/util/configlexer.c vendor/unbound/dist/util/configlexer.lex vendor/unbound/dist/util/configparser.c vendor/unbound/dist/util/configparser.h vendor/unbound/dist/util/configparser.y vendor/unbound/dist/util/fptr_wlist.c vendor/unbound/dist/util/iana_ports.inc vendor/unbound/dist/util/log.h vendor/unbound/dist/util/mini_event.h vendor/unbound/dist/util/net_help.c vendor/unbound/dist/util/net_help.h vendor/unbound/dist/util/netevent.c vendor/unbound/dist/util/netevent.h vendor/unbound/dist/util/shm_side/shm_main.c vendor/unbound/dist/util/ub_event.c vendor/unbound/dist/validator/val_secalgo.c vendor/unbound/dist/validator/val_sigcrypt.c Modified: vendor/unbound/dist/.github/FUNDING.yml ============================================================================== --- vendor/unbound/dist/.github/FUNDING.yml Fri Aug 21 22:54:38 2020 (r364467) +++ vendor/unbound/dist/.github/FUNDING.yml Fri Aug 21 22:56:05 2020 (r364468) @@ -1,12 +1,2 @@ -# These are supported funding model platforms - -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username +github: [NLnetLabs] custom: ['https://nlnetlabs.nl/funding/'] Modified: vendor/unbound/dist/.gitignore ============================================================================== --- vendor/unbound/dist/.gitignore Fri Aug 21 22:54:38 2020 (r364467) +++ vendor/unbound/dist/.gitignore Fri Aug 21 22:56:05 2020 (r364468) @@ -37,6 +37,7 @@ /petal /pktview /streamtcp +/unbound-dnstap-socket /testbound /unittest /contrib/libunbound.pc Modified: vendor/unbound/dist/.travis.yml ============================================================================== --- vendor/unbound/dist/.travis.yml Fri Aug 21 22:54:38 2020 (r364467) +++ vendor/unbound/dist/.travis.yml Fri Aug 21 22:56:05 2020 (r364468) @@ -1,7 +1,8 @@ -sudo: false language: c -compiler: - - gcc + +git: + depth: 5 + addons: apt: packages: @@ -9,8 +10,335 @@ addons: - libevent-dev - libexpat-dev - clang + homebrew: + packages: + - openssl + - libevent + - expat + update: true + +jobs: + include: + - os: linux + name: GCC on Linux, Amd64 + compiler: gcc + arch: amd64 + env: + - CONFIG_OPTS="--enable-debug --disable-flto" + - os: linux + name: Clang on Linux, Amd64 + compiler: clang + arch: amd64 + env: + - CONFIG_OPTS="--enable-debug --disable-flto" + - os: osx + name: Clang on OS X, Amd64 + compiler: clang + arch: amd64 + env: + - TEST_OSX=yes + - CONFIG_OPTS="--enable-debug --disable-flto --with-ssl=/usr/local/opt/openssl/" + - os: linux + name: Libevent, GCC on Linux, Amd64 + compiler: gcc + arch: amd64 + env: + - TEST_LIBEVENT=yes + - CONFIG_OPTS="--with-libevent" + - os: linux + name: Libevent, Clang on Linux, Amd64 + compiler: clang + arch: amd64 + env: + - TEST_LIBEVENT=yes + - CONFIG_OPTS="--with-libevent" + - os: osx + name: Libevent, Clang on OS X, Amd64 + compiler: clang + arch: amd64 + env: + - TEST_OSX=yes + - TEST_LIBEVENT=yes + - CONFIG_OPTS="--with-ssl=/usr/local/opt/openssl/ --with-libevent=/usr/local/opt/libevent/" + - os: linux + name: UBsan, GCC on Linux, Amd64 + compiler: gcc + arch: amd64 + dist: bionic + env: + - TEST_UBSAN=yes + - os: linux + name: UBsan, Clang on Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: + - TEST_UBSAN=yes + - os: linux + name: Asan, GCC on Linux, Amd64 + compiler: gcc + arch: amd64 + dist: bionic + env: + - TEST_ASAN=yes + - os: linux + name: Asan, Clang on Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: + - TEST_ASAN=yes + - os: linux + name: GCC on Linux, Aarch64 + compiler: gcc + arch: arm64 + dist: bionic + env: + - CONFIG_OPTS="--enable-debug --disable-flto" + - os: linux + name: Clang on Linux, Aarch64 + compiler: clang + arch: arm64 + dist: bionic + env: + - CONFIG_OPTS="--enable-debug --disable-flto" + - os: linux + name: GCC on Linux, PowerPC64 + compiler: gcc + arch: ppc64le + dist: bionic + env: + - CONFIG_OPTS="--enable-debug --disable-flto" + - os: linux + name: Clang on Linux, PowerPC64 + compiler: clang + arch: ppc64le + dist: bionic + env: + - CONFIG_OPTS="--enable-debug --disable-flto" + - os: linux + name: GCC on Linux, s390x + compiler: gcc + arch: s390x + dist: bionic + env: + - CONFIG_OPTS="--enable-debug --disable-flto" + - os: linux + name: Clang on Linux, s390x + compiler: clang + arch: s390x + dist: bionic + env: + - CONFIG_OPTS="--enable-debug --disable-flto" + - os: osx + osx_image: xcode10 + name: Apple iPhone on iOS, armv7 + compiler: clang + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=armv7-apple-ios + - OPENSSL_HOST=ios-cross + - IOS_SDK=iPhoneOS + - IOS_CPU=armv7s + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" + - os: osx + osx_image: xcode10 + name: Apple iPhone on iOS, arm64 + compiler: clang + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=aarch64-apple-ios + - OPENSSL_HOST=ios64-cross + - IOS_SDK=iPhoneOS + - IOS_CPU=arm64 + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" + - os: osx + osx_image: xcode10 + name: Apple TV on iOS, arm64 + compiler: clang + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=aarch64-apple-ios + - OPENSSL_HOST=ios64-cross + - IOS_SDK=AppleTVOS + - IOS_CPU=arm64 + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" + - os: osx + osx_image: xcode10 + name: Apple Watch on iOS, armv7 + compiler: clang + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=armv7-apple-ios + - OPENSSL_HOST=ios-cross + - IOS_SDK=WatchOS + - IOS_CPU=armv7k + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" + - os: osx + osx_image: xcode10 + name: iPhoneSimulator on OS X, i386 + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=i386-apple-ios + - OPENSSL_HOST=iphoneos-cross + - IOS_CPU=i386 + - IOS_SDK=iPhoneSimulator + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" + - os: osx + osx_image: xcode10 + name: iPhoneSimulator on OS X, x86_64 + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=x86_64-apple-ios + - OPENSSL_HOST=iphoneos-cross + - IOS_CPU=x86_64 + - IOS_SDK=iPhoneSimulator + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" + - os: osx + osx_image: xcode10 + name: AppleTVSimulator on OS X, x86_64 + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=x86_64-apple-ios + - OPENSSL_HOST=iphoneos-cross + - IOS_CPU=x86_64 + - IOS_SDK=AppleTVSimulator + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" + - os: osx + osx_image: xcode10 + name: WatchSimulator on OS X, i386 + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=i386-apple-ios + - OPENSSL_HOST=iphoneos-cross + - IOS_CPU=i386 + - IOS_SDK=WatchSimulator + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" + - os: linux + name: Android armv7a, Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: + - TEST_ANDROID=yes + - AUTOTOOLS_HOST=armv7a-linux-androideabi + - OPENSSL_HOST=android-arm + - ANDROID_CPU=armv7a + - ANDROID_API=23 + - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU" + - ANDROID_SDK_ROOT="$HOME/android-sdk" + - ANDROID_NDK_ROOT="$HOME/android-ndk" + - os: linux + name: Android aarch64, Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: + - TEST_ANDROID=yes + - AUTOTOOLS_HOST=aarch64-linux-android + - OPENSSL_HOST=android-arm64 + - ANDROID_CPU=aarch64 + - ANDROID_API=23 + - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU" + - ANDROID_SDK_ROOT="$HOME/android-sdk" + - ANDROID_NDK_ROOT="$HOME/android-ndk" + - os: linux + name: Android x86, Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: + - TEST_ANDROID=yes + - AUTOTOOLS_HOST=i686-linux-android + - OPENSSL_HOST=android-x86 + - ANDROID_CPU=x86 + - ANDROID_API=23 + - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU" + - ANDROID_SDK_ROOT="$HOME/android-sdk" + - ANDROID_NDK_ROOT="$HOME/android-ndk" + - os: linux + name: Android x86_64, Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: + - TEST_ANDROID=yes + - AUTOTOOLS_HOST=x86_64-linux-android + - OPENSSL_HOST=android-x86_64 + - ANDROID_CPU=x86_64 + - ANDROID_API=23 + - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU" + - ANDROID_SDK_ROOT="$HOME/android-sdk" + - ANDROID_NDK_ROOT="$HOME/android-ndk" + + allow_failures: + - os: linux + name: Android armv7a, Linux, Amd64 + - os: linux + name: Android aarch64, Linux, Amd64 + - os: linux + name: Android x86, Linux, Amd64 + - os: linux + name: Android x86_64, Linux, Amd64 + +before_script: + - | + if [ "$TEST_ANDROID" = "yes" ]; then + ./contrib/android/install_tools.sh + elif [ "$TEST_IOS" = "yes" ]; then + ./contrib/ios/install_tools.sh + fi + +# The Travis docs say to avoid calling exit in the script. It leads to +# some code duplication to avoid failures in cross-compiles. Also see +# https://docs.travis-ci.com/user/job-lifecycle/ in the Travis docs. script: - - ./configure --enable-debug --disable-flto - - make - - make test - - (cd testdata/clang-analysis.tdir; bash clang-analysis.test) + - | + if [ "$TEST_UBSAN" = "yes" ]; then + export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover" + ./configure + make -j 2 + make test + elif [ "$TEST_ASAN" = "yes" ]; then + export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address" + ./configure + make -j 2 + make test + elif [ "$TEST_IOS" = "yes" ]; then + export AUTOTOOLS_BUILD="$(./config.guess)" + export PKG_CONFIG_PATH="$IOS_PREFIX/lib/pkgconfig" + source ./contrib/ios/setenv_ios.sh + ./contrib/ios/install_openssl.sh + ./contrib/ios/install_expat.sh + ./configure \ + --build="$AUTOTOOLS_BUILD" --host="$AUTOTOOLS_HOST" \ + --prefix="$IOS_PREFIX" \ + --with-ssl="$IOS_PREFIX" --disable-gost \ + --with-libexpat="$IOS_PREFIX"; + make -j 2 + make install + elif [ "$TEST_ANDROID" = "yes" ]; then + export AUTOTOOLS_BUILD="$(./config.guess)" + export PKG_CONFIG_PATH="$ANDROID_PREFIX/lib/pkgconfig" + ./contrib/android/install_ndk.sh + source ./contrib/android/setenv_android.sh + ./contrib/android/install_openssl.sh + ./contrib/android/install_expat.sh + ./configure \ + --build="$AUTOTOOLS_BUILD" --host="$AUTOTOOLS_HOST" \ + --prefix="$ANDROID_PREFIX" \ + --with-ssl="$ANDROID_PREFIX" --disable-gost \ + --with-libexpat="$ANDROID_PREFIX"; + make -j 2 + make install + elif [ "$TEST_OSX" = "yes" ]; then + ./configure --enable-debug --disable-flto --with-ssl=/usr/local/opt/openssl/ + make -j 2 + make test + (cd testdata/clang-analysis.tdir; bash clang-analysis.test) + else + ./configure ${CONFIG_OPTS} + make -j 2 + make test + (cd testdata/clang-analysis.tdir; bash clang-analysis.test) + fi Modified: vendor/unbound/dist/Makefile.in ============================================================================== --- vendor/unbound/dist/Makefile.in Fri Aug 21 22:54:38 2020 (r364467) +++ vendor/unbound/dist/Makefile.in Fri Aug 21 22:56:05 2020 (r364468) @@ -25,6 +25,7 @@ DNSTAP_SRC=@DNSTAP_SRC@ DNSTAP_OBJ=@DNSTAP_OBJ@ DNSCRYPT_SRC=@DNSCRYPT_SRC@ DNSCRYPT_OBJ=@DNSCRYPT_OBJ@ +WITH_DYNLIBMODULE=@WITH_DYNLIBMODULE@ WITH_PYTHONMODULE=@WITH_PYTHONMODULE@ WITH_PYUNBOUND=@WITH_PYUNBOUND@ PY_MAJOR_VERSION=@PY_MAJOR_VERSION@ @@ -77,7 +78,7 @@ LINT=splint LINTFLAGS=+quiet -weak -warnposix -unrecog -Din_addr_t=uint32_t -Du_int=unsigned -Du_char=uint8_t -preproc -Drlimit=rlimit64 -D__gnuc_va_list=va_list -formatcode #-Dglob64=glob -Dglobfree64=globfree # compat with openssl linux edition. -LINTFLAGS+="-DBN_ULONG=unsigned long" -Dkrb5_int32=int "-Dkrb5_ui_4=unsigned int" -DPQ_64BIT=uint64_t -DRC4_INT=unsigned -fixedformalarray -D"ENGINE=unsigned" -D"RSA=unsigned" -D"DSA=unsigned" -D"EVP_PKEY=unsigned" -D"EVP_MD=unsigned" -D"SSL=unsigned" -D"SSL_CTX=unsigned" -D"X509=unsigned" -D"RC4_KEY=unsigned" -D"EVP_MD_CTX=unsigned" -D"ECDSA_SIG=DSA_SIG" -Dfstrm_res=int +LINTFLAGS+="-DBN_ULONG=unsigned long" -Dkrb5_int32=int "-Dkrb5_ui_4=unsigned int" -DPQ_64BIT=uint64_t -DRC4_INT=unsigned -fixedformalarray -D"ENGINE=unsigned" -D"RSA=unsigned" -D"DSA=unsigned" -D"EVP_PKEY=unsigned" -D"EVP_MD=unsigned" -D"SSL=unsigned" -D"SSL_CTX=unsigned" -D"X509=unsigned" -D"RC4_KEY=unsigned" -D"EVP_MD_CTX=unsigned" -D"ECDSA_SIG=DSA_SIG" # compat with NetBSD LINTFLAGS+=@NETBSD_LINTFLAGS@ # compat with OpenBSD @@ -87,6 +88,12 @@ LINTFLAGS+="-D__uint16_t=uint16_t" "-DEVP_PKEY_ASN1_ME INSTALL=$(SHELL) $(srcdir)/install-sh +DYNLIBMOD_SRC=dynlibmod/dynlibmod.c +DYNLIBMOD_OBJ=@DYNLIBMOD_OBJ@ +DYNLIBMOD_HEADER=@DYNLIBMOD_HEADER@ +DYNLIBMOD_EXTRALIBS=@DYNLIBMOD_EXTRALIBS@ + + #pythonmod.c is not here, it is mentioned by itself in its own rules, #makedepend fails on missing interface.h otherwise. PYTHONMOD_SRC=pythonmod/pythonmod_utils.c @@ -140,7 +147,7 @@ autotrust.lo val_anchor.lo rpz.lo \ validator.lo val_kcache.lo val_kentry.lo val_neg.lo val_nsec3.lo val_nsec.lo \ val_secalgo.lo val_sigcrypt.lo val_utils.lo dns64.lo cachedb.lo redis.lo authzone.lo \ $(SUBNET_OBJ) $(PYTHONMOD_OBJ) $(CHECKLOCK_OBJ) $(DNSTAP_OBJ) $(DNSCRYPT_OBJ) \ -$(IPSECMOD_OBJ) $(IPSET_OBJ) respip.lo +$(IPSECMOD_OBJ) $(IPSET_OBJ) $(DYNLIBMOD_OBJ) respip.lo COMMON_OBJ_WITHOUT_UB_EVENT=$(COMMON_OBJ_WITHOUT_NETCALL) netevent.lo listen_dnsport.lo \ outside_network.lo COMMON_OBJ=$(COMMON_OBJ_WITHOUT_UB_EVENT) ub_event.lo @@ -219,7 +226,7 @@ MEMSTATS_OBJ_LINK=$(MEMSTATS_OBJ) worker_cb.lo $(COMMO $(SLDNS_OBJ) ASYNCLOOK_SRC=testcode/asynclook.c ASYNCLOOK_OBJ=asynclook.lo -ASYNCLOOK_OBJ_LINK=$(ASYNCLOOK_OBJ) log.lo locks.lo $(COMPAT_OBJ) @ASYNCLOOK_ALLOCCHECK_EXTRA_OBJ@ +ASYNCLOOK_OBJ_LINK=$(ASYNCLOOK_OBJ) log.lo locks.lo $(CHECKLOCK_OBJ) $(COMPAT_OBJ) @ASYNCLOOK_ALLOCCHECK_EXTRA_OBJ@ STREAMTCP_SRC=testcode/streamtcp.c STREAMTCP_OBJ=streamtcp.lo STREAMTCP_OBJ_LINK=$(STREAMTCP_OBJ) worker_cb.lo $(COMMON_OBJ) $(COMPAT_OBJ) \ @@ -233,6 +240,10 @@ DELAYER_OBJ_LINK=$(DELAYER_OBJ) worker_cb.lo $(COMMON_ $(SLDNS_OBJ) IPSET_SRC=@IPSET_SRC@ IPSET_OBJ=@IPSET_OBJ@ +DNSTAP_SOCKET_SRC=dnstap/unbound-dnstap-socket.c +DNSTAP_SOCKET_OBJ=unbound-dnstap-socket.lo +DNSTAP_SOCKET_OBJ_LINK=$(DNSTAP_SOCKET_OBJ) $(COMMON_OBJ) \ +$(COMPAT_OBJ) $(SLDNS_OBJ) LIBUNBOUND_SRC=libunbound/context.c libunbound/libunbound.c \ libunbound/libworker.c LIBUNBOUND_OBJ=context.lo libunbound.lo libworker.lo ub_event_pluggable.lo @@ -259,7 +270,7 @@ ALL_SRC=$(COMMON_SRC) $(UNITTEST_SRC) $(DAEMON_SRC) \ $(TESTBOUND_SRC) $(LOCKVERIFY_SRC) $(PKTVIEW_SRC) \ $(MEMSTATS_SRC) $(CHECKCONF_SRC) $(LIBUNBOUND_SRC) $(HOST_SRC) \ $(ASYNCLOOK_SRC) $(STREAMTCP_SRC) $(PERF_SRC) $(DELAYER_SRC) \ - $(CONTROL_SRC) $(UBANCHOR_SRC) $(PETAL_SRC) \ + $(CONTROL_SRC) $(UBANCHOR_SRC) $(PETAL_SRC) $(DNSTAP_SOCKET_SRC)\ $(PYTHONMOD_SRC) $(PYUNBOUND_SRC) $(WIN_DAEMON_THE_SRC) \ $(SVCINST_SRC) $(SVCUNINST_SRC) $(ANCHORUPD_SRC) $(SLDNS_SRC) @@ -267,7 +278,7 @@ ALL_OBJ=$(COMMON_OBJ) $(UNITTEST_OBJ) $(DAEMON_OBJ) \ $(TESTBOUND_OBJ) $(LOCKVERIFY_OBJ) $(PKTVIEW_OBJ) \ $(MEMSTATS_OBJ) $(CHECKCONF_OBJ) $(LIBUNBOUND_OBJ) $(HOST_OBJ) \ $(ASYNCLOOK_OBJ) $(STREAMTCP_OBJ) $(PERF_OBJ) $(DELAYER_OBJ) \ - $(CONTROL_OBJ) $(UBANCHOR_OBJ) $(PETAL_OBJ) \ + $(CONTROL_OBJ) $(UBANCHOR_OBJ) $(PETAL_OBJ) $(DNSTAP_SOCKET_OBJ)\ $(COMPAT_OBJ) $(PYUNBOUND_OBJ) \ $(SVCINST_OBJ) $(SVCUNINST_OBJ) $(ANCHORUPD_OBJ) $(SLDNS_OBJ) @@ -306,6 +317,7 @@ rsrc_unbound_checkconf.o: $(srcdir)/winrc/rsrc_unbound TEST_BIN=asynclook$(EXEEXT) delayer$(EXEEXT) \ lock-verify$(EXEEXT) memstats$(EXEEXT) perf$(EXEEXT) \ petal$(EXEEXT) pktview$(EXEEXT) streamtcp$(EXEEXT) \ + unbound-dnstap-socket$(EXEEXT) \ testbound$(EXEEXT) unittest$(EXEEXT) tests: all $(TEST_BIN) @@ -315,7 +327,7 @@ longcheck: longtest test: unittest$(EXEEXT) testbound$(EXEEXT) ./unittest$(EXEEXT) ./testbound$(EXEEXT) -s - for x in $(srcdir)/testdata/*.rpl; do echo -n "$$x "; if ./testbound$(EXEEXT) -p $$x >/dev/null 2>&1; then echo OK; else echo failed; exit 1; fi done + for x in $(srcdir)/testdata/*.rpl; do printf "%s" "$$x "; if ./testbound$(EXEEXT) -p $$x >/dev/null 2>&1; then echo OK; else echo failed; exit 1; fi done @echo test OK longtest: tests @@ -328,13 +340,13 @@ libunbound.la: $(LIBUNBOUND_OBJ_LINK) $(LINK_LIB) $(UBSYMS) -o $@ $(LIBUNBOUND_OBJ_LINK) -rpath $(libdir) $(SSLLIB) $(LIBS) unbound$(EXEEXT): $(DAEMON_OBJ_LINK) libunbound.la - $(LINK) -o $@ $(DAEMON_OBJ_LINK) $(EXTRALINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(DAEMON_OBJ_LINK) $(EXTRALINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) unbound-checkconf$(EXEEXT): $(CHECKCONF_OBJ_LINK) libunbound.la - $(LINK) -o $@ $(CHECKCONF_OBJ_LINK) $(EXTRALINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(CHECKCONF_OBJ_LINK) $(EXTRALINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) unbound-control$(EXEEXT): $(CONTROL_OBJ_LINK) libunbound.la - $(LINK) -o $@ $(CONTROL_OBJ_LINK) $(EXTRALINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(CONTROL_OBJ_LINK) $(EXTRALINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) unbound-host$(EXEEXT): $(HOST_OBJ_LINK) libunbound.la $(LINK) -o $@ $(HOST_OBJ_LINK) -L. -L.libs -lunbound $(SSLLIB) $(LIBS) @@ -352,34 +364,34 @@ anchor-update$(EXEEXT): $(ANCHORUPD_OBJ_LINK) libunbo $(LINK) -o $@ $(ANCHORUPD_OBJ_LINK) -L. -L.libs -lunbound $(LIBS) unittest$(EXEEXT): $(UNITTEST_OBJ_LINK) - $(LINK) -o $@ $(UNITTEST_OBJ_LINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(UNITTEST_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) testbound$(EXEEXT): $(TESTBOUND_OBJ_LINK) - $(LINK) -o $@ $(TESTBOUND_OBJ_LINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(TESTBOUND_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) lock-verify$(EXEEXT): $(LOCKVERIFY_OBJ_LINK) - $(LINK) -o $@ $(LOCKVERIFY_OBJ_LINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(LOCKVERIFY_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) petal$(EXEEXT): $(PETAL_OBJ_LINK) $(LINK) -o $@ $(PETAL_OBJ_LINK) $(SSLLIB) $(LIBS) pktview$(EXEEXT): $(PKTVIEW_OBJ_LINK) - $(LINK) -o $@ $(PKTVIEW_OBJ_LINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(PKTVIEW_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) memstats$(EXEEXT): $(MEMSTATS_OBJ_LINK) - $(LINK) -o $@ $(MEMSTATS_OBJ_LINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(MEMSTATS_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) asynclook$(EXEEXT): $(ASYNCLOOK_OBJ_LINK) libunbound.la $(LINK) -o $@ $(ASYNCLOOK_OBJ_LINK) -L. -L.libs -lunbound $(SSLLIB) $(LIBS) streamtcp$(EXEEXT): $(STREAMTCP_OBJ_LINK) - $(LINK) -o $@ $(STREAMTCP_OBJ_LINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(STREAMTCP_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) perf$(EXEEXT): $(PERF_OBJ_LINK) - $(LINK) -o $@ $(PERF_OBJ_LINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(PERF_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) delayer$(EXEEXT): $(DELAYER_OBJ_LINK) - $(LINK) -o $@ $(DELAYER_OBJ_LINK) $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(DELAYER_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) signit$(EXEEXT): testcode/signit.c $(CC) $(CPPFLAGS) $(CFLAGS) @PTHREAD_CFLAGS_ONLY@ -o $@ testcode/signit.c $(LDFLAGS) -lldns $(SSLLIB) $(LIBS) @@ -401,7 +413,13 @@ dnstap/dnstap.pb-c.c dnstap/dnstap.pb-c.h: $(srcdir)/d @-if test ! -d dnstap; then $(INSTALL) -d dnstap; fi $(PROTOC_C) --c_out=. --proto_path=$(srcdir) $(srcdir)/dnstap/dnstap.proto +unbound-dnstap-socket$(EXEEXT): $(DNSTAP_SOCKET_OBJ_LINK) + $(LINK) -o $@ $(DNSTAP_SOCKET_OBJ_LINK) $(SSLLIB) $(LIBS) $(DYNLIBMOD_EXTRALIBS) + dnstap.pb-c.lo dnstap.pb-c.o: dnstap/dnstap.pb-c.c dnstap/dnstap.pb-c.h +dtstream.lo dtstream.o: $(srcdir)/dnstap/dtstream.c config.h $(srcdir)/dnstap/dtstream.h +dnstap_fstrm.lo dnstap_fstrm.o: $(srcdir)/dnstap/dnstap_fstrm.c config.h $(srcdir)/dnstap/dnstap_fstrm.h +unbound-dnstap-socket.lo unbound-dnstap-socket.o: $(srcdir)/dnstap/unbound-dnstap-socket.c config.h $(srcdir)/dnstap/dtstream.h # dnscrypt dnscrypt.lo dnscrypt.o: $(srcdir)/dnscrypt/dnscrypt.c config.h \ @@ -455,6 +473,7 @@ clean: rm -f unbound$(EXEEXT) unbound-checkconf$(EXEEXT) unbound-host$(EXEEXT) unbound-control$(EXEEXT) unbound-anchor$(EXEEXT) unbound-control-setup libunbound.la unbound.h rm -f $(ALL_SRC:.c=.lint) rm -f _unbound.la libunbound/python/libunbound_wrap.c libunbound/python/unbound.py pythonmod/interface.h pythonmod/unboundmodule.py + rm -f libunbound.a rm -rf autom4te.cache .libs build doc/html doc/xml distclean: clean @@ -629,6 +648,7 @@ depend: -e 's?$$(srcdir)/pythonmod/pythonmod.h?$$(PYTHONMOD_HEADER)?g' \ -e 's?$$(srcdir)/edns-subnet/subnetmod.h $$(srcdir)/edns-subnet/subnet-whitelist.h $$(srcdir)/edns-subnet/edns-subnet.h $$(srcdir)/edns-subnet/addrtree.h?$$(SUBNET_HEADER)?g' \ -e 's?$$(srcdir)/ipsecmod/ipsecmod.h $$(srcdir)/ipsecmod/ipsecmod-whitelist.h?$$(IPSECMOD_HEADER)?g' \ + -e 's?$$(srcdir)/dynlibmod/dynlibmod.h?$$(DYNLIBMOD_HEADER)?g' \ -e 's!\(.*\)\.o[ :]*!\1.lo \1.o: !g' \ > $(DEPEND_TMP) cp $(DEPEND_TARGET) $(DEPEND_TMP2) @@ -796,12 +816,13 @@ modstack.lo modstack.o: $(srcdir)/services/modstack.c $(srcdir)/util/module.h $(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/util/log.h \ $(srcdir)/util/data/msgreply.h $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/data/msgparse.h \ $(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/rrdef.h $(srcdir)/util/fptr_wlist.h $(srcdir)/util/netevent.h \ - $(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/util/tube.h \ - $(srcdir)/services/mesh.h $(srcdir)/util/rbtree.h $(srcdir)/services/rpz.h $(srcdir)/services/localzone.h \ - $(srcdir)/util/storage/dnstree.h $(srcdir)/services/view.h $(srcdir)/sldns/sbuffer.h \ - $(srcdir)/util/config_file.h $(srcdir)/services/authzone.h $(srcdir)/daemon/stats.h $(srcdir)/util/timehist.h \ - $(srcdir)/libunbound/unbound.h $(srcdir)/respip/respip.h $(srcdir)/dns64/dns64.h $(srcdir)/iterator/iterator.h \ - $(srcdir)/services/outbound_list.h $(srcdir)/validator/validator.h $(srcdir)/validator/val_utils.h + $(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/dnscrypt/cert.h \ + $(srcdir)/util/tube.h $(srcdir)/services/mesh.h $(srcdir)/util/rbtree.h $(srcdir)/dns64/dns64.h \ + $(srcdir)/iterator/iterator.h $(srcdir)/services/outbound_list.h $(srcdir)/validator/validator.h \ + $(srcdir)/validator/val_utils.h $(srcdir)/respip/respip.h $(srcdir)/services/localzone.h \ + $(srcdir)/util/storage/dnstree.h $(srcdir)/services/view.h $(PYTHONMOD_HEADER) $(srcdir)/ipsecmod/ipsecmod.h \ + $(srcdir)/util/storage/slabhash.h $(srcdir)/edns-subnet/addrtree.h $(srcdir)/edns-subnet/edns-subnet.h \ + $(srcdir)/ipset/ipset.h $(srcdir)/dynlibmod/dynlibmod.h view.lo view.o: $(srcdir)/services/view.c config.h $(srcdir)/services/view.h $(srcdir)/util/rbtree.h \ $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/services/localzone.h $(srcdir)/util/storage/dnstree.h \ $(srcdir)/util/module.h $(srcdir)/util/storage/lruhash.h $(srcdir)/util/data/msgreply.h \ @@ -886,21 +907,23 @@ authzone.lo authzone.o: $(srcdir)/services/authzone.c $(srcdir)/validator/val_secalgo.h fptr_wlist.lo fptr_wlist.o: $(srcdir)/util/fptr_wlist.c config.h $(srcdir)/util/fptr_wlist.h \ $(srcdir)/util/netevent.h $(srcdir)/dnscrypt/dnscrypt.h \ - $(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/module.h \ - $(srcdir)/util/data/msgreply.h $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/data/msgparse.h \ - $(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/rrdef.h $(srcdir)/util/tube.h $(srcdir)/services/mesh.h $(srcdir)/util/rbtree.h \ - $(srcdir)/services/modstack.h $(srcdir)/services/rpz.h $(srcdir)/services/localzone.h \ - $(srcdir)/util/storage/dnstree.h $(srcdir)/services/view.h $(srcdir)/sldns/sbuffer.h \ - $(srcdir)/util/config_file.h $(srcdir)/services/authzone.h $(srcdir)/daemon/stats.h $(srcdir)/util/timehist.h \ - $(srcdir)/libunbound/unbound.h $(srcdir)/respip/respip.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \ - $(srcdir)/services/outside_network.h $(srcdir)/services/cache/infra.h \ - $(srcdir)/util/rtt.h $(srcdir)/services/cache/rrset.h $(srcdir)/util/storage/slabhash.h $(srcdir)/dns64/dns64.h \ - $(srcdir)/iterator/iterator.h $(srcdir)/services/outbound_list.h $(srcdir)/iterator/iter_fwd.h \ - $(srcdir)/validator/validator.h $(srcdir)/validator/val_utils.h $(srcdir)/validator/val_anchor.h \ - $(srcdir)/validator/val_nsec3.h $(srcdir)/validator/val_sigcrypt.h $(srcdir)/validator/val_kentry.h \ - $(srcdir)/validator/val_neg.h $(srcdir)/validator/autotrust.h $(srcdir)/libunbound/libworker.h \ - $(srcdir)/libunbound/context.h $(srcdir)/util/alloc.h $(srcdir)/libunbound/unbound-event.h \ - $(srcdir)/libunbound/worker.h + $(srcdir)/dnscrypt/cert.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/storage/lruhash.h \ + $(srcdir)/util/module.h $(srcdir)/util/data/msgreply.h $(srcdir)/util/data/packed_rrset.h \ + $(srcdir)/util/data/msgparse.h $(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/rrdef.h $(srcdir)/util/tube.h \ + $(srcdir)/services/mesh.h $(srcdir)/util/rbtree.h $(srcdir)/services/modstack.h $(srcdir)/util/mini_event.h \ + $(srcdir)/services/outside_network.h $(srcdir)/services/localzone.h \ + $(srcdir)/util/storage/dnstree.h $(srcdir)/services/view.h $(srcdir)/services/authzone.h \ + $(srcdir)/services/cache/infra.h $(srcdir)/util/rtt.h $(srcdir)/services/cache/rrset.h \ + $(srcdir)/util/storage/slabhash.h $(srcdir)/dns64/dns64.h $(srcdir)/iterator/iterator.h \ + $(srcdir)/services/outbound_list.h $(srcdir)/iterator/iter_fwd.h $(srcdir)/validator/validator.h \ + $(srcdir)/validator/val_utils.h $(srcdir)/validator/val_anchor.h $(srcdir)/validator/val_nsec3.h \ + $(srcdir)/validator/val_sigcrypt.h $(srcdir)/validator/val_kentry.h $(srcdir)/validator/val_neg.h \ + $(srcdir)/validator/autotrust.h $(srcdir)/libunbound/libworker.h $(srcdir)/libunbound/context.h \ + $(srcdir)/util/alloc.h $(srcdir)/libunbound/unbound.h $(srcdir)/libunbound/unbound-event.h \ + $(srcdir)/libunbound/worker.h $(srcdir)/sldns/sbuffer.h $(srcdir)/util/config_file.h $(srcdir)/respip/respip.h \ + $(PYTHONMOD_HEADER) $(srcdir)/ipsecmod/ipsecmod.h $(srcdir)/edns-subnet/subnetmod.h $(srcdir)/util/net_help.h \ + $(srcdir)/edns-subnet/addrtree.h $(srcdir)/edns-subnet/edns-subnet.h $(srcdir)/ipset/ipset.h \ + $(srcdir)/dynlibmod/dynlibmod.h locks.lo locks.o: $(srcdir)/util/locks.c config.h $(srcdir)/util/locks.h $(srcdir)/util/log.h log.lo log.o: $(srcdir)/util/log.c config.h $(srcdir)/util/log.h $(srcdir)/util/locks.h $(srcdir)/sldns/sbuffer.h mini_event.lo mini_event.o: $(srcdir)/util/mini_event.c config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \ @@ -1108,7 +1131,32 @@ respip.lo respip.o: $(srcdir)/respip/respip.c config.h $(srcdir)/util/regional.h checklocks.lo checklocks.o: $(srcdir)/testcode/checklocks.c config.h $(srcdir)/util/locks.h $(srcdir)/util/log.h \ $(srcdir)/testcode/checklocks.h +dnstap.lo dnstap.o: $(srcdir)/dnstap/dnstap.c config.h $(srcdir)/sldns/sbuffer.h \ + $(srcdir)/util/config_file.h $(srcdir)/util/net_help.h $(srcdir)/util/log.h $(srcdir)/util/netevent.h \ + $(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/dnscrypt/cert.h \ + $(srcdir)/util/locks.h $(srcdir)/dnstap/dnstap.h \ + dnstap/dnstap.pb-c.h +dnstap.pb-c.lo dnstap.pb-c.o: dnstap/dnstap.pb-c.c dnstap/dnstap.pb-c.h \ + +dynlibmod.lo dynlibmod.o: $(srcdir)/dynlibmod/dynlibmod.c config.h $(srcdir)/dynlibmod/dynlibmod.h \ + $(srcdir)/util/module.h $(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/util/log.h \ + $(srcdir)/util/data/msgreply.h $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/data/msgparse.h \ + $(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/rrdef.h $(srcdir)/util/rbtree.h\ + $(srcdir)/util/storage/dnstree.h $(srcdir)/util/fptr_wlist.h $(srcdir)/util/netevent.h \ + $(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/util/tube.h \ + $(srcdir)/services/mesh.h $(srcdir)/services/modstack.h $(srcdir)/util/regional.h $(srcdir)/util/net_help.h \ + $(srcdir)/util/config_file.h $(srcdir)/services/cache/dns.h $(srcdir)/sldns/wire2str.h +dnscrypt.lo dnscrypt.o: $(srcdir)/dnscrypt/dnscrypt.c config.h $(srcdir)/sldns/sbuffer.h \ + $(srcdir)/util/config_file.h $(srcdir)/util/net_help.h $(srcdir)/util/log.h $(srcdir)/util/netevent.h \ + $(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/dnscrypt/cert.h \ + $(srcdir)/util/locks.h $(srcdir)/util/storage/slabhash.h $(srcdir)/util/storage/lruhash.h \ + $(srcdir)/util/storage/lookup3.h ipsecmod.lo ipsecmod.o: $(srcdir)/ipsecmod/ipsecmod.c config.h +ipset.lo ipset.o: $(srcdir)/ipset/ipset.c config.h $(srcdir)/ipset/ipset.h $(srcdir)/util/module.h \ + $(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/data/msgreply.h \ + $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/data/msgparse.h $(srcdir)/sldns/pkthdr.h \ + $(srcdir)/sldns/rrdef.h $(srcdir)/util/regional.h $(srcdir)/util/config_file.h $(srcdir)/services/cache/dns.h \ + $(srcdir)/sldns/sbuffer.h $(srcdir)/sldns/wire2str.h $(srcdir)/sldns/parseutil.h ipsecmod-whitelist.lo ipsecmod-whitelist.o: $(srcdir)/ipsecmod/ipsecmod-whitelist.c config.h unitanchor.lo unitanchor.o: $(srcdir)/testcode/unitanchor.c config.h $(srcdir)/util/log.h $(srcdir)/util/data/dname.h \ $(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/testcode/unitmain.h \ Added: vendor/unbound/dist/README-Travis.md ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/unbound/dist/README-Travis.md Fri Aug 21 22:56:05 2020 (r364468) @@ -0,0 +1,278 @@ +# Travis Testing + +Unbound 1.10 and above leverage Travis CI to increase coverage of compilers and platforms. Compilers include Clang and GCC; while platforms include Android, iOS, Linux, and OS X on AMD64, Aarch64, PowerPC and s390x hardware. + +Android is tested on armv7a, aarch64, x86 and x86_64. The Android recipes build and install OpenSSL and Expat, and then builds Unbound. The testing is tailored for Android NDK-r19 and above, and includes NDK-r20 and NDK-r21. Mips and Mips64 are not tested because they are no longer supported under current NDKs. + +iOS is tested for iPhoneOS, WatchOS, AppleTVOS, iPhoneSimulator, AppleTVSimulator and WatchSimulator. The testing uses Xcode 10 on OS X 10.13. + +The Unbound Travis configuration file `.travis.yml` does not use top-level keys like `os:` and `compiler:` so there is no matrix expansion. Instead Unbound specifies the exact job to run under the `jobs:` and `include:` keys. + +## Typical recipe + +A typical recipe tests Clang and GCC on various hardware. The hardware includes AMD64, Aarch64, PowerPC and s390x. PowerPC is a little-endian platform, and s390x is a big-endian platform. There are pairs of recipes that are similar to the following. + +``` +- os: linux + name: GCC on Linux, Aarch64 + compiler: gcc + arch: arm64 + dist: bionic +- os: linux + name: Clang on Linux, Aarch64 + compiler: clang + arch: arm64 + dist: bionic +``` + +OS X provides a single recipe to test Clang. GCC is not tested because GCC is an alias for Clang. + +## Sanitizer builds + +Two sanitizer builds are tested using Clang and GCC, for a total of four builds. The first sanitizer is Undefined Behavior sanitizer (UBsan), and the second is Address sanitizer (Asan). The sanitizers are only run on AMD64 hardware. Note the environment includes `TEST_UBSAN=yes` or `TEST_ASAN=yes` for the sanitizer builds. + +The recipes are similar to the following. + +``` +- os: linux + name: UBsan, GCC on Linux, Amd64 + compiler: gcc + arch: amd64 + dist: bionic + env: TEST_UBSAN=yes +- os: linux + name: UBsan, Clang on Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: TEST_UBSAN=yes +``` + +When the Travis script encounters a sanitizer it uses different `CFLAGS` and configuration string. + +``` +if [ "$TEST_UBSAN" = "yes" ]; then + export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover" + ./configure + make -j 2 + make test +elif [ "$TEST_ASAN" = "yes" ]; then + export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address" + ./configure + make -j 2 + make test +... +``` + +## Android builds + +Travis tests Android builds for the armv7a, aarch64, x86 and x86_64 architectures. The builds are trickier than other builds for several reasons. The testing requires installation of the Android NDK and SDK, it requires a cross-compile, and requires OpenSSL and Expat prerequisites. The Android cross-compiles also require care to set the Autotools triplet, the OpenSSL triplet, the toolchain path, the tool variables, and the sysroot. The discussion below detail the steps of the Android recipes. + +### Android job + +The first step sets environmental variables for the cross-compile using the Travis job. A typical job with variables is shown below. + +``` +- os: linux + name: Android armv7a, Linux, Amd64 + compiler: clang + arch: amd64 + dist: bionic + env: + - TEST_ANDROID=yes + - AUTOTOOLS_HOST=armv7a-linux-androideabi + - OPENSSL_HOST=android-arm + - ANDROID_CPU=armv7a + - ANDROID_API=23 + - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU" + - ANDROID_SDK_ROOT="$HOME/android-sdk" + - ANDROID_NDK_ROOT="$HOME/android-ndk" +``` + +### ANDROID_NDK_ROOT + +The second step for Android is to set the environmental variables `ANDROID_NDK_ROOT` and `ANDROID_SDK_ROOT`. This is an important step because the NDK and SDK use the variables internally to locate their own tools. Also see [Recommended NDK Directory?](https://groups.google.com/forum/#!topic/android-ndk/qZjhOaynHXc) on the android-ndk mailing list. (Many folks miss this step, or use incorrect variables like `ANDROID_NDK_HOME` or `ANDROID_SDK_HOME`). + +If you are working from a developer machine you probably already have the necessary tools installed. You should ensure `ANDROID_NDK_ROOT` and `ANDROID_SDK_ROOT` are set properly. + +### Tool installation + +The second step installs tools needed for OpenSSL, Expat and Unbound. This step is handled in by the script `contrib/android/install_tools.sh`. The tools include curl, tar, zip, unzip and java. + +``` +before_script: + - | + if [ "$TEST_ANDROID" = "yes" ]; then + ./contrib/android/install_tools.sh + elif [ "$TEST_IOS" = "yes" ]; then + ./contrib/ios/install_tools.sh + fi +``` + +### NDK installation + +The third step installs the NDK and SDK. This step is handled in by the script `contrib/android/install_ndk.sh`. The script uses `ANDROID_NDK_ROOT` and `ANDROID_SDK_ROOT` to place the NDK and SDK in the `$HOME` directory. + +If you are working from a developer machine you probably already have a NDK and SDK installed. + +### Android environment + +The fourth step sets the Android cross-compile environment using the script `contrib/android/setenv_android.sh`. The script is `sourced` so the variables in the script are available to the calling shell. The script sets variables like `CC`, `CXX`, `AS` and `AR`; sets `CFLAGS` and `CXXFLAGS`; sets a `sysroot` so Android headers and libraries are found; and adds the path to the toolchain to `PATH`. + +`contrib/android/setenv_android.sh` knows which toolchain and architecture to select by inspecting environmental variables set by Travis for the job. In particular, the variables `ANDROID_CPU` and `ANDROID_API` tell `contrib/android/setenv_android.sh` which tools and libraries to select. + +The `contrib/android/setenv_android.sh` script specifies the tools in a `case` statement like the following. There is a case for each of the architectures armv7a, aarch64, x86 and x86_64. + +``` +armv8a|aarch64|arm64|arm64-v8a) + CC="aarch64-linux-android$ANDROID_API-clang" + CXX="aarch64-linux-android$ANDROID_API-clang++" + LD="aarch64-linux-android-ld" + AS="aarch64-linux-android-as" + AR="aarch64-linux-android-ar" + RANLIB="aarch64-linux-android-ranlib" + STRIP="aarch64-linux-android-strip" + + CFLAGS="-funwind-tables -fexceptions" + CXXFLAGS="-funwind-tables -fexceptions -frtti" +``` + +### OpenSSL and Expat + +The fifth step builds OpenSSL and Expat. OpenSSL and Expat are built for Android using the scripts `contrib/android/install_openssl.sh` and `contrib/android/install_expat.sh`. The scripts download, configure and install the latest release version of the libraries. The libraries are configured with `--prefix="$ANDROID_PREFIX"` so the headers are placed in `$ANDROID_PREFIX/include` directory, and the libraries are placed in the `$ANDROID_PREFIX/lib` directory. + +`ANDROID_PREFIX` is the value `$HOME/android$ANDROID_API-$ANDROID_CPU`. The libraries will be installed in `$HOME/android23-armv7a`, `$HOME/android23-aarch64`, etc. For Autotools projects, the appropriate `PKG_CONFIG_PATH` is exported. `PKG_CONFIG_PATH` is the userland equivalent to sysroot, and allows Autotools to find non-system headers and libraries for an architecture. Typical `PKG_CONFIG_PATH` are `$HOME/android23-armv7a/lib/pkgconfig` and `$HOME/android23-aarch64/lib/pkgconfig`. + +OpenSSL also uses a custom configuration file called `15-android.conf`. It is a copy of the OpenSSL's project file and located at `contrib/android/15-android.conf`. The Unbound version is copied to the OpenSSL source files after unpacking the OpenSSL distribution. The Unbound version has legacy NDK support removed and some other fixes, like `ANDROID_NDK_ROOT` awareness. The changes mean Unbound's `15-android.conf` will only work with Unbound, with NDK-r19 and above, and a properly set environment. + +OpenSSL is configured with `no-engine`. If you want to include OpenSSL engines then edit `contrib/android/install_openssl.sh` and remove the config option. + +### Android build + +Finally, once OpenSSL and Expat are built, then the Travis script configures and builds Unbound. The recipe looks as follows. + +``` +elif [ "$TEST_ANDROID" = "yes" ]; then + export AUTOTOOLS_BUILD="$(./config.guess)" + export PKG_CONFIG_PATH="$ANDROID_PREFIX/lib/pkgconfig" + ./contrib/android/install_ndk.sh + source ./contrib/android/setenv_android.sh + ./contrib/android/install_openssl.sh + ./contrib/android/install_expat.sh + ./configure \ + --build="$AUTOTOOLS_BUILD" \ + --host="$AUTOTOOLS_HOST" \ + --prefix="$ANDROID_PREFIX" \ + --with-ssl="$ANDROID_PREFIX" \ + --with-libexpat="$ANDROID_PREFIX" \ + --disable-gost; + make -j 2 + make install +``` + +Travis only smoke tests an Android build using a compile, link and install. The self tests are not run. TODO: figure out how to fire up an emulator, push the tests to the device and run them. + +### Android flags + +`contrib/android/setenv_android.sh` uses specific flags for `CFLAGS` and `CXXFLAGS`. They are taken from `ndk-build`, so we consider them the official flag set. It is important to use the same flags across projects to avoid subtle problems due to mixing and matching different flags. + +`CXXFLAGS` includes `-fexceptions` and `-frtti` because exceptions and runtime type info are disabled by default. `CFLAGS` include `-funwind-tables` and `-fexceptions` to ensure C++ exceptions pass through C code, if needed. Also see `docs/CPLUSPLUS-SUPPORT.html` in the NDK docs. + +To inspect the flags used by `ndk-build` for a platform clone ASOP's [ndk-samples](https://github.com/android/ndk-samples/tree/master/hello-jni) and build the `hello-jni` project. Use the `V=1` flag to see the full compiler output from `ndk-build`. + +## iOS builds + +Travis tests iOS builds for the armv7a, armv7s and aarch64 architectures for iPhoneOS, AppleTVOS and WatchOS. iPhoneOS is tested using both 32-bit builds (iPhones) and 64-bit builds (iPads). Travis also tests compiles against the simulators. The builds are trickier than other builds for several reasons. The testing requires a cross-compile, and requires OpenSSL and Expat prerequisites. The iOS cross-compiles also require care to set the Autotools triplet, the OpenSSL triplet, the toolchain path, the tool variables, and the sysroot. The discussion below detail the steps of the iOS recipes. + +### iOS job + +The first step sets environmental variables for the cross-compile using the Travis job. A typical job with variables is shown below. + +``` +- os: osx + osx_image: xcode10 + name: Apple iPhone on iOS, armv7 + compiler: clang + env: + - TEST_IOS=yes + - AUTOTOOLS_HOST=armv7-apple-ios + - OPENSSL_HOST=ios-cross + - IOS_SDK=iPhoneOS + - IOS_CPU=armv7s + - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU" +``` + +### Tool installation + +The second step installs tools needed for OpenSSL, Expat and Unbound. This step is handled in by the script `contrib/ios/install_tools.sh`. The tools include autotools, curl and perl. The installation happens at the `before_script:` stage of Travis. + +``` +before_script: + - | + if [ "$TEST_ANDROID" = "yes" ]; then + ./contrib/android/install_tools.sh + elif [ "$TEST_IOS" = "yes" ]; then + ./contrib/ios/install_tools.sh + fi +``` + +### iOS environment + +The third step sets the iOS cross-compile environment using the script `contrib/ios/setenv_ios.sh`. The script is `sourced` so the variables in the script are available to the calling shell. The script sets variables like `CC`, `CXX`, `AS` and `AR`; sets `CFLAGS` and `CXXFLAGS`; sets a `sysroot` so iOS headers and libraries are found; and adds the path to the toolchain to `PATH`. + +`contrib/ios/setenv_ios.sh` knows which toolchain and architecture to select by inspecting environmental variables set by Travis for the job. In particular, the variables `IOS_SDK` and `IOS_CPU` tell `contrib/ios/setenv_ios.sh` which tools and libraries to select. + +The `contrib/ios/setenv_ios.sh` script specifies the tools to use during the cross-compile. For Apple SDKs, the tool names are the same as a desktop. There are no special prefixes for the mobile tools. + +``` +CPP=cpp +CC=clang +CXX=clang++ +LD=ld +AS=as +AR=ar +RANLIB=ranlib +STRIP=strip +``` + +If you are working from a developer machine you probably already have the necessary tools installed. + +### OpenSSL and Expat + +The fourth step builds OpenSSL and Expat. OpenSSL and Expat are built for iOS using the scripts `contrib/ios/install_openssl.sh` and `contrib/ios/install_expat.sh`. The scripts download, configure and install the latest release version of the libraries. The libraries are configured with `--prefix="$IOS_PREFIX"` so the headers are placed in `$IOS_PREFIX/include` directory, and the libraries are placed in the `$IOS_PREFIX/lib` directory. + +`IOS_PREFIX` is the value `$HOME/$IOS_SDK-$IOS_CPU`. The scheme handles both iOS SDKs and cpu architectures so the pair recieves a unique installation directory. The libraries will be installed in `$HOME/iPhoneOS-armv7s`, `$HOME/iPhoneOS-arm64`, `$HOME/iPhoneSimulator-i386`, etc. For Autotools projects, the appropriate `PKG_CONFIG_PATH` is exported. + +`PKG_CONFIG_PATH` is an important variable. It is the userland equivalent to sysroot, and allows Autotools to find non-system headers and libraries for an architecture. Typical `PKG_CONFIG_PATH` are `$HOME/iPhoneOS-armv7s/lib/pkgconfig` and `$HOME/iPhoneOS-arm64/lib/pkgconfig`. + +OpenSSL also uses a custom configuration file called `15-ios.conf`. It is a copy of the OpenSSL's project file and located at `contrib/ios/15-ios.conf`. The Unbound version is copied to the OpenSSL source files after unpacking the OpenSSL distribution. The changes mean Unbound's `15-ios.conf` will only work with Unbound and a properly set environment. + +OpenSSL is configured with `no-engine`. Engines require dynamic loading so engines are disabled permanently in `15-ios.conf`. + +### iOS build + +Finally, once OpenSSL and Expat are built, then the Travis script configures and builds Unbound. The full recipe looks as follows. + +``` +elif [ "$TEST_IOS" = "yes" ]; then + export AUTOTOOLS_BUILD="$(./config.guess)" + export PKG_CONFIG_PATH="$IOS_PREFIX/lib/pkgconfig" + source ./contrib/ios/setenv_ios.sh + ./contrib/ios/install_openssl.sh + ./contrib/ios/install_expat.sh + ./configure \ + --build="$AUTOTOOLS_BUILD" \ + --host="$AUTOTOOLS_HOST" \ + --prefix="$IOS_PREFIX" \ + --with-ssl="$IOS_PREFIX" \ + --with-libexpat="$IOS_PREFIX" \ + --disable-gost; + make -j 2 + make install +``` + +Travis only smoke tests an iOS build using a compile, link and install. The self tests are not run. TODO: figure out how to fire up an simulator, push the tests to the device and run them. + +### iOS flags + +`contrib/ios/setenv_ios.sh` uses specific flags for `CFLAGS` and `CXXFLAGS`. They are taken from Xcode, so we consider them the official flag set. It is important to use the same flags across projects to avoid subtle problems due to mixing and matching different flags. Modified: vendor/unbound/dist/acx_python.m4 ============================================================================== --- vendor/unbound/dist/acx_python.m4 Fri Aug 21 22:54:38 2020 (r364467) +++ vendor/unbound/dist/acx_python.m4 Fri Aug 21 22:56:05 2020 (r364468) @@ -58,6 +58,11 @@ $ac_distutils_result]) AC_MSG_RESULT([$PYTHON_LDFLAGS]) AC_SUBST([PYTHON_LDFLAGS]) + if test -z "$PYTHON_LIBDIR"; then + PYTHON_LIBDIR=`$PYTHON -c "from distutils.sysconfig import *; \ + print(get_config_var('LIBDIR'));"` + fi + # # Check for site packages # Modified: vendor/unbound/dist/cachedb/cachedb.c ============================================================================== --- vendor/unbound/dist/cachedb/cachedb.c Fri Aug 21 22:54:38 2020 (r364467) +++ vendor/unbound/dist/cachedb/cachedb.c Fri Aug 21 22:56:05 2020 (r364468) @@ -160,7 +160,7 @@ testframe_lookup(struct module_env* env, struct cached static void testframe_store(struct module_env* env, struct cachedb_env* cachedb_env, - char* key, uint8_t* data, size_t data_len) + char* key, uint8_t* data, size_t data_len, time_t ATTR_UNUSED(ttl)) { struct testframe_moddata* d = (struct testframe_moddata*) cachedb_env->backend_data; @@ -606,7 +606,8 @@ cachedb_extcache_store(struct module_qstate* qstate, s /* call backend */ (*ie->backend->store)(qstate->env, ie, key, sldns_buffer_begin(qstate->env->scratch_buffer), - sldns_buffer_limit(qstate->env->scratch_buffer)); + sldns_buffer_limit(qstate->env->scratch_buffer), + qstate->return_msg->rep->ttl); } /** Modified: vendor/unbound/dist/cachedb/cachedb.h ============================================================================== --- vendor/unbound/dist/cachedb/cachedb.h Fri Aug 21 22:54:38 2020 (r364467) +++ vendor/unbound/dist/cachedb/cachedb.h Fri Aug 21 22:56:05 2020 (r364468) @@ -84,7 +84,7 @@ struct cachedb_backend { /** Store (env, cachedb_env, key, data, data_len) */ void (*store)(struct module_env*, struct cachedb_env*, char*, - uint8_t*, size_t); + uint8_t*, size_t, time_t); }; #define CACHEDB_HASHSIZE 256 /* bit hash */ Modified: vendor/unbound/dist/cachedb/redis.c ============================================================================== --- vendor/unbound/dist/cachedb/redis.c Fri Aug 21 22:54:38 2020 (r364467) +++ vendor/unbound/dist/cachedb/redis.c Fri Aug 21 22:56:05 2020 (r364468) @@ -59,6 +59,9 @@ struct redis_moddata { struct timeval timeout; /* timeout for connection setup and commands */ }; +static redisReply* redis_command(struct module_env*, struct cachedb_env*, + const char*, const uint8_t*, size_t); + static redisContext* redis_connect(const struct redis_moddata* moddata) { @@ -114,6 +117,33 @@ redis_init(struct module_env* env, struct cachedb_env* for(i = 0; i < moddata->numctxs; i++) moddata->ctxs[i] = redis_connect(moddata); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Fri Aug 21 22:58:38 2020 Return-Path: Delivered-To: svn-src-all@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 A23AE3CC8A2; Fri, 21 Aug 2020 22:58:38 +0000 (UTC) (envelope-from cy@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 4BYH4Z3nxGz3X7v; Fri, 21 Aug 2020 22:58:38 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 48736CCDF; Fri, 21 Aug 2020 22:58:38 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LMwcHD021059; Fri, 21 Aug 2020 22:58:38 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LMwcgl021058; Fri, 21 Aug 2020 22:58:38 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202008212258.07LMwcgl021058@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Fri, 21 Aug 2020 22:58:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r364469 - vendor/sqlite3/sqlite-3330000 X-SVN-Group: vendor X-SVN-Commit-Author: cy X-SVN-Commit-Paths: vendor/sqlite3/sqlite-3330000 X-SVN-Commit-Revision: 364469 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 22:58:38 -0000 Author: cy Date: Fri Aug 21 22:58:37 2020 New Revision: 364469 URL: https://svnweb.freebsd.org/changeset/base/364469 Log: Tag sqlite 3.33.0 (3330000). Added: vendor/sqlite3/sqlite-3330000/ - copied from r364468, vendor/sqlite3/dist/ From owner-svn-src-all@freebsd.org Fri Aug 21 23:00:16 2020 Return-Path: Delivered-To: svn-src-all@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 276033CC7B3; Fri, 21 Aug 2020 23:00:16 +0000 (UTC) (envelope-from cy@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 4BYH6S0Kyrz3WsR; Fri, 21 Aug 2020 23:00:16 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C8D78CCE1; Fri, 21 Aug 2020 23:00:15 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07LN0FJR021243; Fri, 21 Aug 2020 23:00:15 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07LN0Fb7021242; Fri, 21 Aug 2020 23:00:15 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202008212300.07LN0Fb7021242@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Fri, 21 Aug 2020 23:00:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r364470 - vendor/unbound/1.11.0 X-SVN-Group: vendor X-SVN-Commit-Author: cy X-SVN-Commit-Paths: vendor/unbound/1.11.0 X-SVN-Commit-Revision: 364470 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 23:00:16 -0000 Author: cy Date: Fri Aug 21 23:00:15 2020 New Revision: 364470 URL: https://svnweb.freebsd.org/changeset/base/364470 Log: Tag unbound 1.11.0. Added: vendor/unbound/1.11.0/ - copied from r364469, vendor/unbound/dist/ From owner-svn-src-all@freebsd.org Fri Aug 21 23:30:51 2020 Return-Path: Delivered-To: svn-src-all@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 EBDE23CD209; Fri, 21 Aug 2020 23:30:51 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BYHnl63rQz3YFV; Fri, 21 Aug 2020 23:30:51 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from freefall.freebsd.org (pool-100-8-53-238.nwrknj.fios.verizon.net [100.8.53.238]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jkim/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id A18922F3F0; Fri, 21 Aug 2020 23:30:51 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Subject: Re: svn commit: r364465 - in head/sys: conf net net/route To: "Alexander V. Chernikov" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202008212134.07LLYq3K071532@repo.freebsd.org> From: Jung-uk Kim Autocrypt: addr=jkim@FreeBSD.org; prefer-encrypt=mutual; keydata= mQENBFJBztUBCAChqNyGqmFuNo0U7MBzsD+q/G6Cv0l7LGVrOAsgh34M8wIWhD+tztDWMVfn AhxNDd0ceCj2bYOe67sTQxAScEcbt2FfvPOLp9MEXb9qohZj172Gwkk7dnhOhZZKhVGVZKM4 NcsuBDUzgf4f3Vdzj4wg6WlqplnTZo8lPE4hZWvZHoFIyunPTJWenybeV1xnxK7JkUdSvQR0 fA59RfTTECMwTrSEfYGUnxIDBraxJ7Ecs/0hGQ7sljIj8WBvlRDU5fU1xfF35aw56T8POQRq F4E6RVJW3YGuTpSwgtGZOTfygcLRhAiq3dFC3JNLaTVTpM8PjOinJyt9AU6RoITGOKwDABEB AAG0Hkp1bmctdWsgS2ltIDxqa2ltQEZyZWVCU0Qub3JnPokBPQQTAQoAJwUCUkHO1QIbAwUJ E0/POwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRB8n5Ym/NvxRqyzB/wL7QtsIpeGfGIA ZPMtgXMucM3NWzomyQMln2j2efUkDKthzh9jBxgF53TjOr7imwIt0PT2k1bqctPrq5IRqnu9 mGroqaCLE3LG2/E3jEaao4k9PO6efwlioyivUo5NrqIQOQ4k3EAXw7d2y0Dk1VpTgdMrnUAB hj7lGlLqS4ydcrf24DdbCRGdEQwqd9DBeBgbWynxAJMgbZBhYVEyIHuQKkJ8qY0ibIPXXuF0 KYDeH0qUHtWV2K3srNyPtymUkBQD84Pl1GWRYx05XdUHDmnX0JV3lg0BfYJZgZv0ehPQrMfY Fd9abTkf9FHQYz1JtsC8wUuRgqElRd6+YAGf8Tt9uQENBFJBztUBCADLtSrP44El2VoJmH14 OFrlOgxzZnbn+Y/Gf1k12mJBiR+A+pBeRLD50p7AiTrjHRxO3cHcl9Dh0uf1VSbXgp8Or0ye iP/86fZPd4k5HXNmDTLL0HecPE08SCqGZ0W8vllQrokB1QxxRUB+fFMPJyMCjDAZ7P9fFTOS dTw1bJSTtOD8Sx8MpZUa9ti06bXFlVYDlaqSdgk181SSx+ZbSKkQR8CIMARlHwiLsa3Z9q9O EJr20HPyxe0AlTvwvFndH61hg7ds63eRvglwRnNON28VXO/lvKXq7Br/CiiyhFdKfINIx2Z5 htYq22tgGTW7mBURbIKoECFBTX9Lv6BXz6w9ABEBAAGJASUEGAEKAA8FAlJBztUCGwwFCRNP zzsACgkQfJ+WJvzb8UZcJQf+IsTCxUEqY7W/pT84sMg5/QD3s6ufTRncvq14fEOxCNq1Rf4Q 9P+tOFa8GZfKDGB2BFGIrW7uT5mlmKdK1vO6ZIA930y5kUsnCmBUEBJkE2ciSQk01aB/1o62 Q3Gk/F6BwtNY9OXiqF7AcAo+K/BMIaqb26QKeh+IIgK1NN9dQiq3ByTbl4zpGZa6MmsnnRTu mzGKt2nkz7vBzH6+hZp1OzGZikgjjhYWVFoJo1dvf/rv4obs0ZJEqFPQs/1Qa1dbkKBv6odB XJpPH0ssOluTY24d1XxTiKTwmWvHeQkOKRAIfD7VTtF4TesoZYkf7hsh3e3VwXhptSLFnEOi WwYofg== Message-ID: <2eda6522-c79e-48c6-71b9-39f9762a3416@FreeBSD.org> Date: Fri, 21 Aug 2020 19:30:45 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <202008212134.07LLYq3K071532@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 23:30:52 -0000 On 20. 8. 21., Alexander V. Chernikov wrote: > Author: melifaro > Date: Fri Aug 21 21:34:52 2020 > New Revision: 364465 > URL: https://svnweb.freebsd.org/changeset/base/364465 > > Log: > Make net.fibs growable. > > Allow to dynamically grow the amount of fibs in each vnet. > > This change alters current behavior. Currently, if one defines > ROUTETABLES > 1 in the kernel config, each vnet will be created > with the number of fibs defined in the kernel config. > After this commit vnets will be created with fibs=1. > > Dynamic net.fibs is not compatible with net.add_addr_allfibs. > The plan is to deprecate the latter and make > net.add_addr_allfibs=0 default behaviour. > > Reviewed by: glebius > Relnotes: yes > Differential Revision: https://reviews.freebsd.org/D26062 > > Added: > head/sys/net/route/route_tables.c (contents, props changed) > Modified: > head/sys/conf/files > head/sys/net/route.c > head/sys/net/route.h > head/sys/net/route/route_var.h ... This commit broke the kernel build and the following patch fixed it for me. Index: sys/net/route/route_tables.c =================================================================== --- sys/net/route/route_tables.c (revision 364466) +++ sys/net/route/route_tables.c (working copy) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Jung-uk Kim From owner-svn-src-all@freebsd.org Fri Aug 21 23:45:24 2020 Return-Path: Delivered-To: svn-src-all@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 5A6AB3CD237; Fri, 21 Aug 2020 23:45:24 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward500j.mail.yandex.net (forward500j.mail.yandex.net [IPv6:2a02:6b8:0:801:2::110]) (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 4BYJ6W6RnSz3YyF; Fri, 21 Aug 2020 23:45:22 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from mxback4q.mail.yandex.net (mxback4q.mail.yandex.net [IPv6:2a02:6b8:c0e:6d:0:640:ed15:d2bd]) by forward500j.mail.yandex.net (Yandex) with ESMTP id 7444B11C1EBF; Sat, 22 Aug 2020 02:45:18 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback4q.mail.yandex.net (mxback/Yandex) with ESMTP id DKUlDRDcGa-jHvGJwnM; Sat, 22 Aug 2020 02:45:18 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1598053518; bh=FDXR6sWXKW7gUqF1tXtwKJ9z3N3SDnrT2SeynNr6k0s=; h=Message-Id:Subject:In-Reply-To:Date:References:To:From; b=eGl/ULJDWjUgNdlcaxVm1BTBi+qvths3pCDdxV2vsoyDd2gRVsPereKVlVHfCZIdL P4+PqQyhYY0w351HYQHKyxepNSfcpNeolFSPzC5z13S0ZLfEAAqllS7aIrgBUKAh6A 2n94PwZ0rN+IisK+MyAV1WymIYGzxOubp0untPAE= Received: by vla1-a4c6eab2e6c6.qloud-c.yandex.net with HTTP; Sat, 22 Aug 2020 02:45:17 +0300 From: Alexander V. Chernikov Envelope-From: melifaro@ipfw.ru To: Jung-uk Kim , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" In-Reply-To: <2eda6522-c79e-48c6-71b9-39f9762a3416@FreeBSD.org> References: <202008212134.07LLYq3K071532@repo.freebsd.org> <2eda6522-c79e-48c6-71b9-39f9762a3416@FreeBSD.org> Subject: Re: svn commit: r364465 - in head/sys: conf net net/route MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Sat, 22 Aug 2020 00:45:17 +0100 Message-Id: <6010191598053355@mail.yandex.ru> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 X-Rspamd-Queue-Id: 4BYJ6W6RnSz3YyF X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:13238, ipnet:2a02:6b8::/32, country:RU]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2020 23:45:24 -0000 22.08.2020, 00:31, "Jung-uk Kim" : > On 20. 8. 21., Alexander V. Chernikov wrote: >>  Author: melifaro >>  Date: Fri Aug 21 21:34:52 2020 >>  New Revision: 364465 >>  URL: https://svnweb.freebsd.org/changeset/base/364465 >> >>  Log: >>    Make net.fibs growable. >> >>    Allow to dynamically grow the amount of fibs in each vnet. >> >>    This change alters current behavior. Currently, if one defines >>     ROUTETABLES > 1 in the kernel config, each vnet will be created >>     with the number of fibs defined in the kernel config. >>     After this commit vnets will be created with fibs=1. >> >>    Dynamic net.fibs is not compatible with net.add_addr_allfibs. >>     The plan is to deprecate the latter and make >>     net.add_addr_allfibs=0 default behaviour. >> >>    Reviewed by: glebius >>    Relnotes: yes >>    Differential Revision: https://reviews.freebsd.org/D26062 >> >>  Added: >>    head/sys/net/route/route_tables.c (contents, props changed) >>  Modified: >>    head/sys/conf/files >>    head/sys/net/route.c >>    head/sys/net/route.h >>    head/sys/net/route/route_var.h > > ... > > This commit broke the kernel build and the following patch fixed it for me. Could you please name the architecture? ci.freebsd.org looks pretty green so far. > > Index: sys/net/route/route_tables.c > =================================================================== > --- sys/net/route/route_tables.c (revision 364466) > +++ sys/net/route/route_tables.c (working copy) > @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); >  #include >  #include >  #include > +#include >  #include >  #include >  #include > > Jung-uk Kim From owner-svn-src-all@freebsd.org Sat Aug 22 00:42:34 2020 Return-Path: Delivered-To: svn-src-all@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 8A8883CDC72; Sat, 22 Aug 2020 00:42:34 +0000 (UTC) (envelope-from mav@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 4BYKNV3847z3bfj; Sat, 22 Aug 2020 00:42:34 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4FE0DE035; Sat, 22 Aug 2020 00:42:34 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07M0gYfm087665; Sat, 22 Aug 2020 00:42:34 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07M0gYcC087664; Sat, 22 Aug 2020 00:42:34 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202008220042.07M0gYcC087664@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sat, 22 Aug 2020 00:42:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r364471 - stable/12/sys/dev/acpica X-SVN-Group: stable-12 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/12/sys/dev/acpica X-SVN-Commit-Revision: 364471 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 00:42:34 -0000 Author: mav Date: Sat Aug 22 00:42:33 2020 New Revision: 364471 URL: https://svnweb.freebsd.org/changeset/base/364471 Log: MFC r364407: Unify AcpiGetTable() KPI use in identify, probe and attach. While there, change probe order to not call AcpiGetTable() for every probed ACPI device. PR: 248746 Modified: stable/12/sys/dev/acpica/acpi_apei.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/acpica/acpi_apei.c ============================================================================== --- stable/12/sys/dev/acpica/acpi_apei.c Fri Aug 21 23:00:15 2020 (r364470) +++ stable/12/sys/dev/acpica/acpi_apei.c Sat Aug 22 00:42:33 2020 (r364471) @@ -550,20 +550,29 @@ apei_identify(driver_t *driver, device_t parent) { device_t child; int found; + ACPI_TABLE_HEADER *hest; + ACPI_STATUS status; if (acpi_disabled("apei")) return; - if (acpi_find_table(ACPI_SIG_HEST) == 0) + + /* Without HEST table we have nothing to do. */ + status = AcpiGetTable(ACPI_SIG_HEST, 0, &hest); + if (ACPI_FAILURE(status)) return; + AcpiPutTable(hest); + /* Only one APEI device can exist. */ if (devclass_get_device(apei_devclass, 0)) return; + /* Search for ACPI error device to be used. */ found = 0; AcpiWalkNamespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, 100, apei_find, NULL, NULL, (void *)&found); if (found) return; + /* If not found - create a fake one. */ child = BUS_ADD_CHILD(parent, 2, "apei", 0); if (child == NULL) @@ -573,18 +582,27 @@ apei_identify(driver_t *driver, device_t parent) static int apei_probe(device_t dev) { + ACPI_TABLE_HEADER *hest; + ACPI_STATUS status; int rv; if (acpi_disabled("apei")) return (ENXIO); - if (acpi_find_table(ACPI_SIG_HEST) == 0) - return (ENXIO); - if (acpi_get_handle(dev) != NULL) + + if (acpi_get_handle(dev) != NULL) { rv = (ACPI_ID_PROBE(device_get_parent(dev), dev, apei_ids) == NULL); - else + if (rv > 0) + return (rv); + } else rv = 0; - if (rv <= 0) - device_set_desc(dev, "Platform Error Interface"); + + /* Without HEST table we have nothing to do. */ + status = AcpiGetTable(ACPI_SIG_HEST, 0, &hest); + if (ACPI_FAILURE(status)) + return (ENXIO); + AcpiPutTable(hest); + + device_set_desc(dev, "ACPI Platform Error Interface"); return (rv); } From owner-svn-src-all@freebsd.org Sat Aug 22 03:57:58 2020 Return-Path: Delivered-To: svn-src-all@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 4619B3AB097; Sat, 22 Aug 2020 03:57:58 +0000 (UTC) (envelope-from rmacklem@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 4BYPjy1ShPz43Ll; Sat, 22 Aug 2020 03:57:58 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 151E0105BA; Sat, 22 Aug 2020 03:57:58 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07M3vv0V006156; Sat, 22 Aug 2020 03:57:57 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07M3vt8a006143; Sat, 22 Aug 2020 03:57:55 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202008220357.07M3vt8a006143@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sat, 22 Aug 2020 03:57:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364475 - in head/sys: conf modules/krpc rpc rpc/rpcsec_tls X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys: conf modules/krpc rpc rpc/rpcsec_tls X-SVN-Commit-Revision: 364475 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 03:57:58 -0000 Author: rmacklem Date: Sat Aug 22 03:57:55 2020 New Revision: 364475 URL: https://svnweb.freebsd.org/changeset/base/364475 Log: Add TLS support to the kernel RPC. An internet draft titled "Towards Remote Procedure Call Encryption By Default" describes how TLS is to be used for Sun RPC, with NFS as an intended use case. This patch adds client and server support for this to the kernel RPC, using KERN_TLS and upcalls to daemons for the handshake, peer reset and other non-application data record cases. The upcalls to the daemons use three fields to uniquely identify the TCP connection. They are the time.tv_sec, time.tv_usec of the connection establshment, plus a 64bit sequence number. The time fields avoid problems with re-use of the sequence number after a daemon restart. For the server side, once a Null RPC with AUTH_TLS is received, kernel reception on the socket is blocked and an upcall to the rpctlssd(8) daemon is done to perform the TLS handshake. Upon completion, the completion status of the handshake is stored in xp_tls as flag bits and the reply to the Null RPC is sent. For the client, if CLSET_TLS has been set, a new TCP connection will send the Null RPC with AUTH_TLS to initiate the handshake. The client kernel RPC code will then block kernel I/O on the socket and do an upcall to the rpctlscd(8) daemon to perform the handshake. If the upcall is successful, ct_rcvstate will be maintained to indicate if/when an upcall is being done. If non-application data records are received, the code does an upcall to the appropriate daemon, which will do a SSL_read() of 0 length to handle the record(s). When the socket is being shut down, upcalls are done to the daemons, so that they can perform SSL_shutdown() calls to perform the "peer reset". The rpctlssd(8) and rpctlscd(8) daemons require a patched version of the openssl library and, as such, will not be committed to head at this time. Although the changes done by this patch are fairly numerous, there should be no semantics change to the kernel RPC at this time. A future commit to the NFS code will optionally enable use of TLS for NFS. Added: head/sys/rpc/rpcsec_tls/ head/sys/rpc/rpcsec_tls/auth_tls.c (contents, props changed) head/sys/rpc/rpcsec_tls/rpctls_impl.c (contents, props changed) head/sys/rpc/rpcsec_tls/rpctlscd.x (contents, props changed) head/sys/rpc/rpcsec_tls/rpctlssd.x (contents, props changed) Modified: head/sys/conf/files head/sys/modules/krpc/Makefile head/sys/rpc/auth.h head/sys/rpc/clnt_bck.c head/sys/rpc/clnt_rc.c head/sys/rpc/clnt_vc.c head/sys/rpc/krpc.h head/sys/rpc/rpc_generic.c head/sys/rpc/rpcsec_tls.h head/sys/rpc/svc.h head/sys/rpc/svc_auth.c head/sys/rpc/svc_vc.c Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/conf/files Sat Aug 22 03:57:55 2020 (r364475) @@ -4868,6 +4868,41 @@ rpc/svc_auth_unix.c optional krpc | nfslockd | nfscl rpc/svc_dg.c optional krpc | nfslockd | nfscl | nfsd rpc/svc_generic.c optional krpc | nfslockd | nfscl | nfsd rpc/svc_vc.c optional krpc | nfslockd | nfscl | nfsd +# +# Kernel RPC-over-TLS +# +rpctlscd.h optional krpc | nfslockd | nfscl | nfsd \ + dependency "$S/rpc/rpcsec_tls/rpctlscd.x" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -hM $S/rpc/rpcsec_tls/rpctlscd.x | grep -v pthread.h > rpctlscd.h" \ + no-obj no-implicit-rule before-depend local \ + clean "rpctlscd.h" +rpctlscd_xdr.c optional krpc | nfslockd | nfscl | nfsd \ + dependency "$S/rpc/rpcsec_tls/rpctlscd.x rpctlscd.h" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -c $S/rpc/rpcsec_tls/rpctlscd.x -o rpctlscd_xdr.c" no-ctfconvert \ + no-implicit-rule before-depend local \ + clean "rpctlscd_xdr.c" +rpctlscd_clnt.c optional krpc | nfslockd | nfscl | nfsd \ + dependency "$S/rpc/rpcsec_tls/rpctlscd.x rpctlscd.h" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -lM $S/rpc/rpcsec_tls/rpctlscd.x | grep -v string.h > rpctlscd_clnt.c" no-ctfconvert \ + no-implicit-rule before-depend local \ + clean "rpctlscd_clnt.c" +rpctlssd.h optional krpc | nfslockd | nfscl | nfsd \ + dependency "$S/rpc/rpcsec_tls/rpctlssd.x" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -hM $S/rpc/rpcsec_tls/rpctlssd.x | grep -v pthread.h > rpctlssd.h" \ + no-obj no-implicit-rule before-depend local \ + clean "rpctlssd.h" +rpctlssd_xdr.c optional krpc | nfslockd | nfscl | nfsd \ + dependency "$S/rpc/rpcsec_tls/rpctlssd.x rpctlssd.h" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -c $S/rpc/rpcsec_tls/rpctlssd.x -o rpctlssd_xdr.c" no-ctfconvert \ + no-implicit-rule before-depend local \ + clean "rpctlssd_xdr.c" +rpctlssd_clnt.c optional krpc | nfslockd | nfscl | nfsd \ + dependency "$S/rpc/rpcsec_tls/rpctlssd.x rpctlssd.h" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -lM $S/rpc/rpcsec_tls/rpctlssd.x | grep -v string.h > rpctlssd_clnt.c" no-ctfconvert \ + no-implicit-rule before-depend local \ + clean "rpctlssd_clnt.c" +rpc/rpcsec_tls/rpctls_impl.c optional krpc | nfslockd | nfscl | nfsd +rpc/rpcsec_tls/auth_tls.c optional krpc | nfslockd | nfscl | nfsd rpc/rpcsec_gss/rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi rpc/rpcsec_gss/rpcsec_gss_conf.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi rpc/rpcsec_gss/rpcsec_gss_misc.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi Modified: head/sys/modules/krpc/Makefile ============================================================================== --- head/sys/modules/krpc/Makefile Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/modules/krpc/Makefile Sat Aug 22 03:57:55 2020 (r364475) @@ -1,6 +1,6 @@ # $FreeBSD$ -.PATH: ${SRCTOP}/sys/rpc +.PATH: ${SRCTOP}/sys/rpc ${SRCTOP}/sys/rpc/rpcsec_tls KMOD= krpc SRCS= auth_none.c \ auth_unix.c \ @@ -21,8 +21,38 @@ SRCS= auth_none.c \ svc_auth_unix.c \ svc_dg.c \ svc_generic.c \ - svc_vc.c \ + svc_vc.c -SRCS+= opt_inet6.h +SRCS+= rpctls_impl.c auth_tls.c + +SRCS+= opt_inet6.h opt_kern_tls.h + +SRCS+= rpctlscd.h rpctlscd_xdr.c rpctlscd_clnt.c +CLEANFILES= rpctlscd.h rpctlscd_xdr.c rpctlscd_clnt.c + +S= ${SRCTOP}/sys + +rpctlscd.h: $S/rpc/rpcsec_tls/rpctlscd.x + RPCGEN_CPP=${CPP:Q} rpcgen -hM $S/rpc/rpcsec_tls/rpctlscd.x | grep -v pthread.h > rpctlscd.h + +rpctlscd_xdr.c: $S/rpc/rpcsec_tls/rpctlscd.x + RPCGEN_CPP=${CPP:Q} rpcgen -c $S/rpc/rpcsec_tls/rpctlscd.x -o rpctlscd_xdr.c + +rpctlscd_clnt.c: $S/rpc/rpcsec_tls/rpctlscd.x + RPCGEN_CPP=${CPP:Q} rpcgen -lM $S/rpc/rpcsec_tls/rpctlscd.x | grep -v string.h > rpctlscd_clnt.c + +SRCS+= rpctlssd.h rpctlssd_xdr.c rpctlssd_clnt.c +CLEANFILES= rpctlssd.h rpctlssd_xdr.c rpctlssd_clnt.c + +S= ${SRCTOP}/sys + +rpctlssd.h: $S/rpc/rpcsec_tls/rpctlssd.x + RPCGEN_CPP=${CPP:Q} rpcgen -hM $S/rpc/rpcsec_tls/rpctlssd.x | grep -v pthread.h > rpctlssd.h + +rpctlssd_xdr.c: $S/rpc/rpcsec_tls/rpctlssd.x + RPCGEN_CPP=${CPP:Q} rpcgen -c $S/rpc/rpcsec_tls/rpctlssd.x -o rpctlssd_xdr.c + +rpctlssd_clnt.c: $S/rpc/rpcsec_tls/rpctlssd.x + RPCGEN_CPP=${CPP:Q} rpcgen -lM $S/rpc/rpcsec_tls/rpctlssd.x | grep -v string.h > rpctlssd_clnt.c .include Modified: head/sys/rpc/auth.h ============================================================================== --- head/sys/rpc/auth.h Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/rpc/auth.h Sat Aug 22 03:57:55 2020 (r364475) @@ -150,6 +150,7 @@ enum auth_stat { */ RPCSEC_GSS_CREDPROBLEM = 13, RPCSEC_GSS_CTXPROBLEM = 14, + /* Also used by RPCSEC_TLS for the same purpose */ RPCSEC_GSS_NODISPATCH = 0x8000000 }; @@ -249,6 +250,7 @@ extern AUTH *authunix_create(char *, u_int, u_int, int extern AUTH *authunix_create_default(void); /* takes no parameters */ #endif extern AUTH *authnone_create(void); /* takes no parameters */ +extern AUTH *authtls_create(void); /* takes no parameters */ __END_DECLS /* * DES style authentication @@ -344,6 +346,7 @@ struct rpc_msg; enum auth_stat _svcauth_null (struct svc_req *, struct rpc_msg *); enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *); enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *); +enum auth_stat _svcauth_rpcsec_tls (struct svc_req *, struct rpc_msg *); __END_DECLS #define AUTH_NONE 0 /* no authentication */ @@ -355,6 +358,7 @@ __END_DECLS #define AUTH_DES AUTH_DH /* for backward compatibility */ #define AUTH_KERB 4 /* kerberos style */ #define RPCSEC_GSS 6 /* RPCSEC_GSS */ +#define AUTH_TLS 7 /* Initiate RPC-over-TLS */ /* * Pseudo auth flavors for RPCSEC_GSS. Modified: head/sys/rpc/clnt_bck.c ============================================================================== --- head/sys/rpc/clnt_bck.c Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/rpc/clnt_bck.c Sat Aug 22 03:57:55 2020 (r364475) @@ -61,8 +61,11 @@ __FBSDID("$FreeBSD$"); * connection provided by the client to the server. */ +#include "opt_kern_tls.h" + #include #include +#include #include #include #include @@ -84,6 +87,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include struct cmessage { struct cmsghdr cmsg; @@ -203,7 +207,10 @@ clnt_bck_call( uint32_t xid; struct mbuf *mreq = NULL, *results; struct ct_request *cr; - int error; + int error, maxextsiz; +#ifdef KERN_TLS + u_int maxlen; +#endif cr = malloc(sizeof(struct ct_request), M_RPC, M_WAITOK); @@ -296,6 +303,19 @@ call_again: TAILQ_INSERT_TAIL(&ct->ct_pending, cr, cr_link); mtx_unlock(&ct->ct_lock); + /* For RPC-over-TLS, copy mrep to a chain of ext_pgs. */ + if ((xprt->xp_tls & RPCTLS_FLAGS_HANDSHAKE) != 0) { + /* + * Copy the mbuf chain to a chain of + * ext_pgs mbuf(s) as required by KERN_TLS. + */ + maxextsiz = TLS_MAX_MSG_SIZE_V10_2; +#ifdef KERN_TLS + if (rpctls_getinfo(&maxlen, false, false)) + maxextsiz = min(maxextsiz, maxlen); +#endif + mreq = _rpc_copym_into_ext_pgs(mreq, maxextsiz); + } /* * sosend consumes mreq. */ Modified: head/sys/rpc/clnt_rc.c ============================================================================== --- head/sys/rpc/clnt_rc.c Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/rpc/clnt_rc.c Sat Aug 22 03:57:55 2020 (r364475) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include static enum clnt_stat clnt_reconnect_call(CLIENT *, struct rpc_callextra *, rpcproc_t, struct mbuf *, struct mbuf **, struct timeval); @@ -108,6 +109,7 @@ clnt_reconnect_create( rc->rc_closed = FALSE; rc->rc_ucred = crdup(curthread->td_ucred); rc->rc_client = NULL; + rc->rc_tls = false; cl->cl_refs = 1; cl->cl_ops = &clnt_reconnect_ops; @@ -129,6 +131,8 @@ clnt_reconnect_connect(CLIENT *cl) int one = 1; struct ucred *oldcred; CLIENT *newclient = NULL; + uint64_t ssl[3]; + uint32_t reterr; mtx_lock(&rc->rc_lock); while (rc->rc_connecting) { @@ -193,6 +197,20 @@ clnt_reconnect_connect(CLIENT *cl) newclient = clnt_vc_create(so, (struct sockaddr *) &rc->rc_addr, rc->rc_prog, rc->rc_vers, rc->rc_sendsz, rc->rc_recvsz, rc->rc_intr); + if (rc->rc_tls && newclient != NULL) { + stat = rpctls_connect(newclient, so, ssl, &reterr); + if (stat != RPC_SUCCESS || reterr != RPCTLSERR_OK) { + if (stat == RPC_SUCCESS) + stat = RPC_FAILED; + stat = rpc_createerr.cf_stat = stat; + rpc_createerr.cf_error.re_errno = 0; + CLNT_CLOSE(newclient); + CLNT_RELEASE(newclient); + newclient = NULL; + td->td_ucred = oldcred; + goto out; + } + } } td->td_ucred = oldcred; @@ -209,6 +227,8 @@ clnt_reconnect_connect(CLIENT *cl) CLNT_CONTROL(newclient, CLSET_RETRY_TIMEOUT, &rc->rc_retry); CLNT_CONTROL(newclient, CLSET_WAITCHAN, rc->rc_waitchan); CLNT_CONTROL(newclient, CLSET_INTERRUPTIBLE, &rc->rc_intr); + if (rc->rc_tls) + CLNT_CONTROL(newclient, CLSET_TLS, ssl); if (rc->rc_backchannel != NULL) CLNT_CONTROL(newclient, CLSET_BACKCHANNEL, rc->rc_backchannel); stat = RPC_SUCCESS; @@ -470,6 +490,10 @@ clnt_reconnect_control(CLIENT *cl, u_int request, void xprt = (SVCXPRT *)info; xprt_register(xprt); rc->rc_backchannel = info; + break; + + case CLSET_TLS: + rc->rc_tls = true; break; default: Modified: head/sys/rpc/clnt_vc.c ============================================================================== --- head/sys/rpc/clnt_vc.c Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/rpc/clnt_vc.c Sat Aug 22 03:57:55 2020 (r364475) @@ -57,9 +57,13 @@ __FBSDID("$FreeBSD$"); * Now go hang yourself. */ +#include "opt_kern_tls.h" + #include #include #include +#include +#include #include #include #include @@ -81,6 +85,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include struct cmessage { struct cmsghdr cmsg; @@ -97,6 +102,7 @@ static void clnt_vc_close(CLIENT *); static void clnt_vc_destroy(CLIENT *); static bool_t time_not_ok(struct timeval *); static int clnt_vc_soupcall(struct socket *so, void *arg, int waitflag); +static void clnt_vc_dotlsupcall(void *data); static struct clnt_ops clnt_vc_ops = { .cl_call = clnt_vc_call, @@ -154,6 +160,7 @@ clnt_vc_create( ct->ct_closing = FALSE; ct->ct_closed = FALSE; ct->ct_upcallrefs = 0; + ct->ct_rcvstate = RPCRCVSTATE_NORMAL; if ((so->so_state & (SS_ISCONNECTED|SS_ISCONFIRMING)) == 0) { error = soconnect(so, raddr, curthread); @@ -272,6 +279,7 @@ clnt_vc_create( ct->ct_raw = NULL; ct->ct_record = NULL; ct->ct_record_resid = 0; + ct->ct_sslrefno = 0; TAILQ_INIT(&ct->ct_pending); return (cl); @@ -304,7 +312,10 @@ clnt_vc_call( uint32_t xid; struct mbuf *mreq = NULL, *results; struct ct_request *cr; - int error, trycnt; + int error, maxextsiz, trycnt; +#ifdef KERN_TLS + u_int maxlen; +#endif cr = malloc(sizeof(struct ct_request), M_RPC, M_WAITOK); @@ -407,9 +418,27 @@ call_again: stat = RPC_CANTRECV; goto out; } + + /* For TLS, wait for an upcall to be done, as required. */ + while ((ct->ct_rcvstate & (RPCRCVSTATE_NORMAL | + RPCRCVSTATE_NONAPPDATA)) == 0) + msleep(&ct->ct_rcvstate, &ct->ct_lock, 0, "rpcrcvst", hz); + TAILQ_INSERT_TAIL(&ct->ct_pending, cr, cr_link); mtx_unlock(&ct->ct_lock); + if (ct->ct_sslrefno != 0) { + /* + * Copy the mbuf chain to a chain of ext_pgs mbuf(s) + * as required by KERN_TLS. + */ + maxextsiz = TLS_MAX_MSG_SIZE_V10_2; +#ifdef KERN_TLS + if (rpctls_getinfo(&maxlen, false, false)) + maxextsiz = min(maxextsiz, maxlen); +#endif + mreq = _rpc_copym_into_ext_pgs(mreq, maxextsiz); + } /* * sosend consumes mreq. */ @@ -615,6 +644,9 @@ clnt_vc_control(CLIENT *cl, u_int request, void *info) struct ct_data *ct = (struct ct_data *)cl->cl_private; void *infop = info; SVCXPRT *xprt; + uint64_t *p; + int error; + static u_int thrdnum = 0; mtx_lock(&ct->ct_lock); @@ -730,10 +762,38 @@ clnt_vc_control(CLIENT *cl, u_int request, void *info) xprt = (SVCXPRT *)info; if (ct->ct_backchannelxprt == NULL) { xprt->xp_p2 = ct; + if (ct->ct_sslrefno != 0) + xprt->xp_tls = RPCTLS_FLAGS_HANDSHAKE; ct->ct_backchannelxprt = xprt; } break; + case CLSET_TLS: + p = (uint64_t *)info; + ct->ct_sslsec = *p++; + ct->ct_sslusec = *p++; + ct->ct_sslrefno = *p; + if (ct->ct_sslrefno != RPCTLS_REFNO_HANDSHAKE) { + mtx_unlock(&ct->ct_lock); + /* Start the kthread that handles upcalls. */ + error = kthread_add(clnt_vc_dotlsupcall, ct, + NULL, NULL, 0, 0, "krpctls%u", thrdnum++); + if (error != 0) + panic("Can't add KRPC thread error %d", error); + } else + mtx_unlock(&ct->ct_lock); + return (TRUE); + + case CLSET_BLOCKRCV: + if (*(int *) info) { + ct->ct_rcvstate &= ~RPCRCVSTATE_NORMAL; + ct->ct_rcvstate |= RPCRCVSTATE_TLSHANDSHAKE; + } else { + ct->ct_rcvstate &= ~RPCRCVSTATE_TLSHANDSHAKE; + ct->ct_rcvstate |= RPCRCVSTATE_NORMAL; + } + break; + default: mtx_unlock(&ct->ct_lock); return (FALSE); @@ -769,8 +829,10 @@ clnt_vc_close(CLIENT *cl) mtx_unlock(&ct->ct_lock); SOCKBUF_LOCK(&ct->ct_socket->so_rcv); - soupcall_clear(ct->ct_socket, SO_RCV); - clnt_vc_upcallsdone(ct); + if (ct->ct_socket->so_rcv.sb_upcall != NULL) { + soupcall_clear(ct->ct_socket, SO_RCV); + clnt_vc_upcallsdone(ct); + } SOCKBUF_UNLOCK(&ct->ct_socket->so_rcv); /* @@ -790,6 +852,7 @@ clnt_vc_close(CLIENT *cl) ct->ct_closing = FALSE; ct->ct_closed = TRUE; + wakeup(&ct->ct_sslrefno); mtx_unlock(&ct->ct_lock); wakeup(ct); } @@ -800,6 +863,8 @@ clnt_vc_destroy(CLIENT *cl) struct ct_data *ct = (struct ct_data *) cl->cl_private; struct socket *so = NULL; SVCXPRT *xprt; + enum clnt_stat stat; + uint32_t reterr; clnt_vc_close(cl); @@ -820,12 +885,40 @@ clnt_vc_destroy(CLIENT *cl) } } + /* Wait for the upcall kthread to terminate. */ + while ((ct->ct_rcvstate & RPCRCVSTATE_UPCALLTHREAD) != 0) + msleep(&ct->ct_sslrefno, &ct->ct_lock, 0, + "clntvccl", hz); mtx_unlock(&ct->ct_lock); mtx_destroy(&ct->ct_lock); if (so) { - soshutdown(so, SHUT_WR); - soclose(so); + if (ct->ct_sslrefno != 0) { + /* + * If the TLS handshake is in progress, the upcall + * will fail, but the socket should be closed by the + * daemon, since the connect upcall has just failed. + */ + if (ct->ct_sslrefno != RPCTLS_REFNO_HANDSHAKE) { + /* + * If the upcall fails, the socket has + * probably been closed via the rpctlscd + * daemon having crashed or been + * restarted, so ignore return stat. + */ + stat = rpctls_cl_disconnect(ct->ct_sslsec, + ct->ct_sslusec, ct->ct_sslrefno, + &reterr); + } + /* Must sorele() to get rid of reference. */ + CURVNET_SET(so->so_vnet); + SOCK_LOCK(so); + sorele(so); + CURVNET_RESTORE(); + } else { + soshutdown(so, SHUT_WR); + soclose(so); + } } m_freem(ct->ct_record); m_freem(ct->ct_raw); @@ -853,15 +946,34 @@ clnt_vc_soupcall(struct socket *so, void *arg, int wai { struct ct_data *ct = (struct ct_data *) arg; struct uio uio; - struct mbuf *m, *m2; + struct mbuf *m, *m2, **ctrlp; struct ct_request *cr; int error, rcvflag, foundreq; uint32_t xid_plus_direction[2], header; SVCXPRT *xprt; struct cf_conn *cd; u_int rawlen; + struct cmsghdr *cmsg; + struct tls_get_record tgr; /* + * RPC-over-TLS needs to block reception during + * upcalls since the upcall will be doing I/O on + * the socket via openssl library calls. + */ + mtx_lock(&ct->ct_lock); + if ((ct->ct_rcvstate & (RPCRCVSTATE_NORMAL | + RPCRCVSTATE_NONAPPDATA)) == 0) { + /* Mark that a socket upcall needs to be done. */ + if ((ct->ct_rcvstate & (RPCRCVSTATE_UPCALLNEEDED | + RPCRCVSTATE_UPCALLINPROG)) != 0) + ct->ct_rcvstate |= RPCRCVSTATE_SOUPCALLNEEDED; + mtx_unlock(&ct->ct_lock); + return (SU_OK); + } + mtx_unlock(&ct->ct_lock); + + /* * If another thread is already here, it must be in * soreceive(), so just return to avoid races with it. * ct_upcallrefs is protected by the SOCKBUF_LOCK(), @@ -881,8 +993,14 @@ clnt_vc_soupcall(struct socket *so, void *arg, int wai uio.uio_td = curthread; m2 = m = NULL; rcvflag = MSG_DONTWAIT | MSG_SOCALLBCK; + if (ct->ct_sslrefno != 0 && (ct->ct_rcvstate & + RPCRCVSTATE_NORMAL) != 0) { + rcvflag |= MSG_TLSAPPDATA; + ctrlp = NULL; + } else + ctrlp = &m2; SOCKBUF_UNLOCK(&so->so_rcv); - error = soreceive(so, NULL, &uio, &m, NULL, &rcvflag); + error = soreceive(so, NULL, &uio, &m, ctrlp, &rcvflag); SOCKBUF_LOCK(&so->so_rcv); if (error == EWOULDBLOCK) { @@ -905,9 +1023,55 @@ clnt_vc_soupcall(struct socket *so, void *arg, int wai */ error = ECONNRESET; } + + /* + * A return of ENXIO indicates that there is a + * non-application data record at the head of the + * socket's receive queue, for TLS connections. + * This record needs to be handled in userland + * via an SSL_read() call, so do an upcall to the daemon. + */ + if (ct->ct_sslrefno != 0 && error == ENXIO) { + /* Disable reception, marking an upcall needed. */ + mtx_lock(&ct->ct_lock); + ct->ct_rcvstate |= RPCRCVSTATE_UPCALLNEEDED; + /* + * If an upcall in needed, wake up the kthread + * that runs clnt_vc_dotlsupcall(). + */ + wakeup(&ct->ct_sslrefno); + mtx_unlock(&ct->ct_lock); + break; + } if (error != 0) break; + /* Process any record header(s). */ + if (m2 != NULL) { + cmsg = mtod(m2, struct cmsghdr *); + if (cmsg->cmsg_type == TLS_GET_RECORD && + cmsg->cmsg_len == CMSG_LEN(sizeof(tgr))) { + memcpy(&tgr, CMSG_DATA(cmsg), sizeof(tgr)); + /* + * This should have been handled by + * setting RPCRCVSTATE_UPCALLNEEDED in + * ct_rcvstate but if not, all we can do + * is toss it away. + */ + if (tgr.tls_type != TLS_RLTYPE_APP) { + m_freem(m); + m_free(m2); + mtx_lock(&ct->ct_lock); + ct->ct_rcvstate &= + ~RPCRCVSTATE_NONAPPDATA; + ct->ct_rcvstate |= RPCRCVSTATE_NORMAL; + mtx_unlock(&ct->ct_lock); + continue; + } + } + m_free(m2); + } + if (ct->ct_raw != NULL) m_last(ct->ct_raw)->m_next = m; else @@ -1108,4 +1272,51 @@ clnt_vc_upcallsdone(struct ct_data *ct) while (ct->ct_upcallrefs > 0) (void) msleep(&ct->ct_upcallrefs, SOCKBUF_MTX(&ct->ct_socket->so_rcv), 0, "rpcvcup", 0); +} + +/* + * Do a TLS upcall to the rpctlscd daemon, as required. + * This function runs as a kthread. + */ +static void +clnt_vc_dotlsupcall(void *data) +{ + struct ct_data *ct = (struct ct_data *)data; + enum clnt_stat ret; + uint32_t reterr; + + mtx_lock(&ct->ct_lock); + ct->ct_rcvstate |= RPCRCVSTATE_UPCALLTHREAD; + while (!ct->ct_closed) { + if ((ct->ct_rcvstate & RPCRCVSTATE_UPCALLNEEDED) != 0) { + ct->ct_rcvstate &= ~RPCRCVSTATE_UPCALLNEEDED; + ct->ct_rcvstate |= RPCRCVSTATE_UPCALLINPROG; + if (ct->ct_sslrefno != 0 && ct->ct_sslrefno != + RPCTLS_REFNO_HANDSHAKE) { + mtx_unlock(&ct->ct_lock); + ret = rpctls_cl_handlerecord(ct->ct_sslsec, + ct->ct_sslusec, ct->ct_sslrefno, &reterr); + mtx_lock(&ct->ct_lock); + } + ct->ct_rcvstate &= ~RPCRCVSTATE_UPCALLINPROG; + if (ret == RPC_SUCCESS && reterr == RPCTLSERR_OK) + ct->ct_rcvstate |= RPCRCVSTATE_NORMAL; + else + ct->ct_rcvstate |= RPCRCVSTATE_NONAPPDATA; + wakeup(&ct->ct_rcvstate); + } + if ((ct->ct_rcvstate & RPCRCVSTATE_SOUPCALLNEEDED) != 0) { + ct->ct_rcvstate &= ~RPCRCVSTATE_SOUPCALLNEEDED; + mtx_unlock(&ct->ct_lock); + SOCKBUF_LOCK(&ct->ct_socket->so_rcv); + clnt_vc_soupcall(ct->ct_socket, ct, M_NOWAIT); + SOCKBUF_UNLOCK(&ct->ct_socket->so_rcv); + mtx_lock(&ct->ct_lock); + } + msleep(&ct->ct_sslrefno, &ct->ct_lock, 0, "clntvcdu", hz); + } + ct->ct_rcvstate &= ~RPCRCVSTATE_UPCALLTHREAD; + wakeup(&ct->ct_sslrefno); + mtx_unlock(&ct->ct_lock); + kthread_exit(); } Modified: head/sys/rpc/krpc.h ============================================================================== --- head/sys/rpc/krpc.h Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/rpc/krpc.h Sat Aug 22 03:57:55 2020 (r364475) @@ -42,6 +42,7 @@ void clnt_bck_svccall(void *, struct mbuf *, uint32_t); enum clnt_stat clnt_bck_call(CLIENT *, struct rpc_callextra *, rpcproc_t, struct mbuf *, struct mbuf **, struct timeval, SVCXPRT *); +struct mbuf *_rpc_copym_into_ext_pgs(struct mbuf *, int); /* * A pending RPC request which awaits a reply. Requests which have @@ -78,8 +79,18 @@ struct rc_data { CLIENT* rc_client; /* underlying RPC client */ struct rpc_err rc_err; void *rc_backchannel; + bool rc_tls; /* Enable TLS on connection */ }; +/* Bits for ct_rcvstate. */ +#define RPCRCVSTATE_NORMAL 0x01 /* Normal reception. */ +#define RPCRCVSTATE_NONAPPDATA 0x02 /* Reception of a non-application record. */ +#define RPCRCVSTATE_TLSHANDSHAKE 0x04 /* Reception blocked for TLS handshake. */ +#define RPCRCVSTATE_UPCALLNEEDED 0x08 /* Upcall to rpctlscd needed. */ +#define RPCRCVSTATE_UPCALLINPROG 0x10 /* Upcall to rpctlscd in progress. */ +#define RPCRCVSTATE_SOUPCALLNEEDED 0x20 /* Socket upcall needed. */ +#define RPCRCVSTATE_UPCALLTHREAD 0x40 /* Upcall kthread running. */ + struct ct_data { struct mtx ct_lock; int ct_threads; /* number of threads in clnt_vc_call */ @@ -101,6 +112,10 @@ struct ct_data { struct ct_request_list ct_pending; int ct_upcallrefs; /* Ref cnt of upcalls in prog. */ SVCXPRT *ct_backchannelxprt; /* xprt for backchannel */ + uint64_t ct_sslsec; /* RPC-over-TLS connection. */ + uint64_t ct_sslusec; + uint64_t ct_sslrefno; + uint32_t ct_rcvstate; /* Handle receiving for TLS upcalls */ struct mbuf *ct_raw; /* Raw mbufs recv'd */ }; Modified: head/sys/rpc/rpc_generic.c ============================================================================== --- head/sys/rpc/rpc_generic.c Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/rpc/rpc_generic.c Sat Aug 22 03:57:55 2020 (r364475) @@ -62,9 +62,15 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include +#include +#include +#include + extern u_long sb_max_adj; /* not defined in socketvar.h */ /* Provide an entry point hook for the rpcsec_gss module. */ @@ -865,13 +871,115 @@ out: } /* + * Make sure an mbuf list is made up entirely of ext_pgs mbufs. + * This is needed for sosend() when KERN_TLS is being used. + * (There might also be a performance improvement for certain + * network interfaces that handle ext_pgs mbufs efficiently.) + * It expects at least one non-ext_pgs mbuf followed by zero + * or more ext_pgs mbufs. It does not handle the case where + * non-ext_pgs mbuf(s) follow ext_pgs ones. + * It also performs sanity checks on the resultant list. + * The "mp" argument list is consumed. + * The "maxextsiz" argument is the upper bound on the data + * size for each mbuf (usually 16K for KERN_TLS). + */ +struct mbuf * +_rpc_copym_into_ext_pgs(struct mbuf *mp, int maxextsiz) +{ + struct mbuf *m, *m2, *m3, *mhead; + int tlen; + + KASSERT((mp->m_flags & (M_EXT | M_EXTPG)) != + (M_EXT | M_EXTPG), ("_rpc_copym_into_ext_pgs:" + " first mbuf is an ext_pgs")); + /* + * Find the last non-ext_pgs mbuf and the total + * length of the non-ext_pgs mbuf(s). + * The first mbuf must always be a non-ext_pgs + * mbuf. + */ + tlen = mp->m_len; + m2 = mp; + for (m = mp->m_next; m != NULL; m = m->m_next) { + if ((m->m_flags & M_EXTPG) != 0) + break; + tlen += m->m_len; + m2 = m; + } + + /* + * Copy the non-ext_pgs mbuf(s) into an ext_pgs + * mbuf list. + */ + m2->m_next = NULL; + mhead = mb_mapped_to_unmapped(mp, tlen, maxextsiz, + M_WAITOK, &m2); + + /* + * Link the ext_pgs list onto the newly copied + * list and free up the non-ext_pgs mbuf(s). + */ + m2->m_next = m; + m_freem(mp); + + /* + * Sanity check the resultant mbuf list. Check for and + * remove any 0 length mbufs in the list, since the + * KERN_TLS code does not expect any 0 length mbuf(s) + * in the list. + */ + m3 = NULL; + m2 = mhead; + tlen = 0; + while (m2 != NULL) { + KASSERT(m2->m_len >= 0, ("_rpc_copym_into_ext_pgs:" + " negative m_len")); + KASSERT((m2->m_flags & (M_EXT | M_EXTPG)) == + (M_EXT | M_EXTPG), ("_rpc_copym_into_ext_pgs:" + " non-nomap mbuf in list")); + if (m2->m_len == 0) { + if (m3 != NULL) + m3->m_next = m2->m_next; + else + m = m2->m_next; + m2->m_next = NULL; + m_free(m2); + if (m3 != NULL) + m2 = m3->m_next; + else + m2 = m; + } else { + MBUF_EXT_PGS_ASSERT_SANITY(m2); + m3 = m2; + tlen += m2->m_len; + m2 = m2->m_next; + } + } + return (mhead); +} + +/* * Kernel module glue */ static int krpc_modevent(module_t mod, int type, void *data) { + int error = 0; - return (0); + switch (type) { + case MOD_LOAD: + error = rpctls_init(); + break; + case MOD_UNLOAD: + /* + * Cannot be unloaded, since the rpctlssd or rpctlscd daemons + * might be performing a rpctls syscall. + */ + /* FALLTHROUGH */ + default: + error = EOPNOTSUPP; + } + return (error); } static moduledata_t krpc_mod = { "krpc", Modified: head/sys/rpc/rpcsec_tls.h ============================================================================== --- head/sys/rpc/rpcsec_tls.h Sat Aug 22 01:10:59 2020 (r364474) +++ head/sys/rpc/rpcsec_tls.h Sat Aug 22 03:57:55 2020 (r364475) @@ -48,6 +48,7 @@ int rpctls_syscall(int, const char *); #define RPCTLS_FLAGS_VERIFIED 0x08 #define RPCTLS_FLAGS_DISABLED 0x10 #define RPCTLS_FLAGS_CERTUSER 0x20 +#define RPCTLS_FLAGS_HANDSHFAIL 0x40 /* Error return values for upcall rpcs. */ #define RPCTLSERR_OK 0 @@ -72,10 +73,14 @@ enum clnt_stat rpctls_srv_disconnect(uint64_t sec, uin int rpctls_init(void); /* Get TLS information function. */ -bool rpctls_getinfo(u_int *maxlen); +bool rpctls_getinfo(u_int *maxlen, bool rpctlscd_run, + bool rpctlssd_run); /* String for AUTH_TLS reply verifier. */ #define RPCTLS_START_STRING "STARTTLS" + +/* ssl refno value to indicate TLS handshake being done. */ +#define RPCTLS_REFNO_HANDSHAKE 0xFFFFFFFFFFFFFFFFULL #endif /* _KERNEL */ Added: head/sys/rpc/rpcsec_tls/auth_tls.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/rpc/rpcsec_tls/auth_tls.c Sat Aug 22 03:57:55 2020 (r364475) @@ -0,0 +1,169 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 2009, Sun Microsystems, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of Sun Microsystems, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +/* + * auth_none.c + * Creates a client authentication handle for passing "null" + * credentials and verifiers to remote systems. + * + * Copyright (C) 1984, Sun Microsystems, Inc. + */ + +/* + * Modified from auth_none.c to expect a reply verifier of "STARTTLS" + * for the RPC-over-TLS STARTTLS command. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#define MAX_MARSHAL_SIZE 20 + +/* + * Authenticator operations routines + */ + +static bool_t authtls_marshal (AUTH *, uint32_t, XDR *, struct mbuf *); +static void authtls_verf (AUTH *); +static bool_t authtls_validate (AUTH *, uint32_t, struct opaque_auth *, + struct mbuf **); +static bool_t authtls_refresh (AUTH *, void *); +static void authtls_destroy (AUTH *); + +static struct auth_ops authtls_ops = { + .ah_nextverf = authtls_verf, + .ah_marshal = authtls_marshal, + .ah_validate = authtls_validate, + .ah_refresh = authtls_refresh, + .ah_destroy = authtls_destroy, +}; + +struct authtls_private { + AUTH no_client; + char mclient[MAX_MARSHAL_SIZE]; + u_int mcnt; +}; + +static struct authtls_private authtls_private; +static struct opaque_auth _tls_null_auth; + +static void +authtls_init(void *dummy) +{ + struct authtls_private *ap = &authtls_private; + XDR xdrs; + + _tls_null_auth.oa_flavor = AUTH_TLS; + _tls_null_auth.oa_base = NULL; + _tls_null_auth.oa_length = 0; + ap->no_client.ah_cred = _tls_null_auth; + ap->no_client.ah_verf = _null_auth; + ap->no_client.ah_ops = &authtls_ops; + xdrmem_create(&xdrs, ap->mclient, MAX_MARSHAL_SIZE, XDR_ENCODE); + xdr_opaque_auth(&xdrs, &ap->no_client.ah_cred); + xdr_opaque_auth(&xdrs, &ap->no_client.ah_verf); + ap->mcnt = XDR_GETPOS(&xdrs); + XDR_DESTROY(&xdrs); +} +SYSINIT(authtls_init, SI_SUB_KMEM, SI_ORDER_ANY, authtls_init, NULL); + +AUTH * +authtls_create(void) +{ + struct authtls_private *ap = &authtls_private; + + return (&ap->no_client); +} + +/*ARGSUSED*/ +static bool_t +authtls_marshal(AUTH *client, uint32_t xid, XDR *xdrs, struct mbuf *args) +{ + struct authtls_private *ap = &authtls_private; + + KASSERT(xdrs != NULL, ("authtls_marshal: xdrs is null")); + + if (!XDR_PUTBYTES(xdrs, ap->mclient, ap->mcnt)) + return (FALSE); + + xdrmbuf_append(xdrs, args); + + return (TRUE); +} + +/* All these unused parameters are required to keep ANSI-C from grumbling */ +/*ARGSUSED*/ +static void +authtls_verf(AUTH *client) +{ +} + +/*ARGSUSED*/ +static bool_t +authtls_validate(AUTH *client, uint32_t xid, struct opaque_auth *opaque, + struct mbuf **mrepp) +{ + size_t strsiz; + + strsiz = strlen(RPCTLS_START_STRING); + /* The verifier must be the string RPCTLS_START_STRING. */ + if (opaque != NULL && + (opaque->oa_length != strsiz || memcmp(opaque->oa_base, + RPCTLS_START_STRING, strsiz) != 0)) + return (FALSE); + return (TRUE); +} + +/*ARGSUSED*/ +static bool_t +authtls_refresh(AUTH *client, void *dummy) +{ + + return (FALSE); +} + +/*ARGSUSED*/ +static void +authtls_destroy(AUTH *client) +{ +} Added: head/sys/rpc/rpcsec_tls/rpctls_impl.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/rpc/rpcsec_tls/rpctls_impl.c Sat Aug 22 03:57:55 2020 (r364475) @@ -0,0 +1,727 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sat Aug 22 04:01:05 2020 Return-Path: Delivered-To: svn-src-all@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 C96EB3AAFD4; Sat, 22 Aug 2020 04:01:05 +0000 (UTC) (envelope-from rmacklem@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 4BYPnY4x3wz43b0; Sat, 22 Aug 2020 04:01:05 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8D2ED1062C; Sat, 22 Aug 2020 04:01:05 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07M4155n006413; Sat, 22 Aug 2020 04:01:05 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07M415WH006412; Sat, 22 Aug 2020 04:01:05 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202008220401.07M415WH006412@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sat, 22 Aug 2020 04:01:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364476 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 364476 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 04:01:05 -0000 Author: rmacklem Date: Sat Aug 22 04:01:05 2020 New Revision: 364476 URL: https://svnweb.freebsd.org/changeset/base/364476 Log: r364475 changed the internal API between the kernel RPC and NFS, so bump version. Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Sat Aug 22 03:57:55 2020 (r364475) +++ head/sys/sys/param.h Sat Aug 22 04:01:05 2020 (r364476) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300110 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300111 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Sat Aug 22 04:07:45 2020 Return-Path: Delivered-To: svn-src-all@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 984F13AB2CD; Sat, 22 Aug 2020 04:07:45 +0000 (UTC) (envelope-from rmacklem@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 4BYPxF3Wzjz44Ch; Sat, 22 Aug 2020 04:07:45 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5DC8C1081A; Sat, 22 Aug 2020 04:07:45 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07M47j2j012073; Sat, 22 Aug 2020 04:07:45 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07M47jBO012072; Sat, 22 Aug 2020 04:07:45 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202008220407.07M47jBO012072@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sat, 22 Aug 2020 04:07:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364477 - head X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 364477 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 04:07:45 -0000 Author: rmacklem Date: Sat Aug 22 04:07:44 2020 New Revision: 364477 URL: https://svnweb.freebsd.org/changeset/base/364477 Log: Add an entry for r364475. Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Sat Aug 22 04:01:05 2020 (r364476) +++ head/UPDATING Sat Aug 22 04:07:44 2020 (r364477) @@ -26,6 +26,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20200821: + r362275 changed the internal API between the kernel RPC and the + NFS modules. As such, all the modules must be recompiled from + sources. + 20200817: r364330 modified the internal API used between the NFS modules. As such, all the NFS modules must be re-compiled from sources. From owner-svn-src-all@freebsd.org Sat Aug 22 06:56:05 2020 Return-Path: Delivered-To: svn-src-all@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 350603AFA65; Sat, 22 Aug 2020 06:56:05 +0000 (UTC) (envelope-from mjg@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 4BYTgT0bXvz4Fc1; Sat, 22 Aug 2020 06:56:05 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CDF7812553; Sat, 22 Aug 2020 06:56:04 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07M6u41f016827; Sat, 22 Aug 2020 06:56:04 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07M6u4WT016825; Sat, 22 Aug 2020 06:56:04 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008220656.07M6u4WT016825@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 22 Aug 2020 06:56:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364478 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364478 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 06:56:05 -0000 Author: mjg Date: Sat Aug 22 06:56:04 2020 New Revision: 364478 URL: https://svnweb.freebsd.org/changeset/base/364478 Log: vfs: add a work around for vp_crossmp bug to realpath The actual bug is not yet addressed as it will get much easier after other problems are addressed (most notably rename contract). The only affected in-tree consumer is realpath. Everyone else happens to be performing lookups within a mount point, having a side effect of ni_dvp being set to mount point's root vnode in the worst case. Reported by: pho Modified: head/sys/kern/vfs_cache.c head/sys/kern/vfs_lookup.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Sat Aug 22 04:07:44 2020 (r364477) +++ head/sys/kern/vfs_cache.c Sat Aug 22 06:56:04 2020 (r364478) @@ -2811,6 +2811,7 @@ vn_fullpath_hardlink(struct thread *td, struct nameida size_t addend; int error; bool slash_prefixed; + enum vtype type; if (*buflen < 2) return (EINVAL); @@ -2824,7 +2825,31 @@ vn_fullpath_hardlink(struct thread *td, struct nameida addend = 0; vp = ndp->ni_vp; - if (vp->v_type != VDIR) { + /* + * Check for VBAD to work around the vp_crossmp bug in lookup(). + * + * For example consider tmpfs on /tmp and realpath /tmp. ni_vp will be + * set to mount point's root vnode while ni_dvp will be vp_crossmp. + * If the type is VDIR (like in this very case) we can skip looking + * at ni_dvp in the first place. However, since vnodes get passed here + * unlocked the target may transition to doomed state (type == VBAD) + * before we get to evaluate the condition. If this happens, we will + * populate part of the buffer and descend to vn_fullpath_dir with + * vp == vp_crossmp. Prevent the problem by checking for VBAD. + * + * This should be atomic_load(&vp->v_type) but it is ilegal to take + * an address of a bit field, even if said field is sized to char. + * Work around the problem by reading the value into a full-sized enum + * and then re-reading it with atomic_load which will still prevent + * the compiler from re-reading down the road. + */ + type = vp->v_type; + type = atomic_load_int(&type); + if (type == VBAD) { + error = ENOENT; + goto out_bad; + } + if (type != VDIR) { cnp = &ndp->ni_cnd; addend = cnp->cn_namelen + 2; if (*buflen < addend) { Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Aug 22 04:07:44 2020 (r364477) +++ head/sys/kern/vfs_lookup.c Sat Aug 22 06:56:04 2020 (r364478) @@ -1209,6 +1209,11 @@ nextname: VOP_UNLOCK(dp); success: /* + * FIXME: for lookups which only cross a mount point to fetch the + * root vnode, ni_dvp will be set to vp_crossmp. This can be a problem + * if either WANTPARENT or LOCKPARENT is set. + */ + /* * Because of shared lookup we may have the vnode shared locked, but * the caller may want it to be exclusively locked. */ From owner-svn-src-all@freebsd.org Sat Aug 22 07:43:38 2020 Return-Path: Delivered-To: svn-src-all@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 E9F663B0FC3; Sat, 22 Aug 2020 07:43:38 +0000 (UTC) (envelope-from mjg@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 4BYVkL5w77z4HRR; Sat, 22 Aug 2020 07:43:38 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AE7AD1312E; Sat, 22 Aug 2020 07:43:38 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07M7hcPH047148; Sat, 22 Aug 2020 07:43:38 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07M7hcVt047147; Sat, 22 Aug 2020 07:43:38 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008220743.07M7hcVt047147@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 22 Aug 2020 07:43:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364479 - head/sys/net/route X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/net/route X-SVN-Commit-Revision: 364479 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 07:43:39 -0000 Author: mjg Date: Sat Aug 22 07:43:38 2020 New Revision: 364479 URL: https://svnweb.freebsd.org/changeset/base/364479 Log: Fix tinderbox build after r364465 Modified: head/sys/net/route/route_tables.c Modified: head/sys/net/route/route_tables.c ============================================================================== --- head/sys/net/route/route_tables.c Sat Aug 22 06:56:04 2020 (r364478) +++ head/sys/net/route/route_tables.c Sat Aug 22 07:43:38 2020 (r364479) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-all@freebsd.org Sat Aug 22 10:41:02 2020 Return-Path: Delivered-To: svn-src-all@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 191833B5F64; Sat, 22 Aug 2020 10:41:02 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: from mail-ed1-f68.google.com (mail-ed1-f68.google.com [209.85.208.68]) (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 4BYZg06Z7tz4SBM; Sat, 22 Aug 2020 10:41:00 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: by mail-ed1-f68.google.com with SMTP id b2so3666863edw.5; Sat, 22 Aug 2020 03:41:00 -0700 (PDT) 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=cNQgeOEzvvGFN3vA4Zziq7/6aYM28pGjfU/WLhSFQoc=; b=gFzADxa9bWDUr4WrQK3Ih0wXtDRs37ClK/U3I9pRclmXOLCUFFxJQt8BEQQc2rL85c H5uirxKePzkQScrwc0K+TPCKDPMjUzCvu8KX6+VLl6HP5C6RCRT2Ip0o7ihZxrgPQAFz M2hEmdGgx4DB5b1BQItASKYw2+mZw3N2zHt/x3VUCRS61ZVyeOUPUxOnrXlaza/ca/iG wV/dQvVRK5Md4Gf2Nb0a7b74T/pdh6V3WD4bmMKRlb8EiZiUW9QN9gi1DubiztZyzYz2 PHtBBpj5MlF4nYgoVkn5+tBCAU5InKTiNvuxy4mp+cPlx2KxkuIkBpNR1jOyUmL14xko 7i5A== X-Gm-Message-State: AOAM533JQRqfUBYe5F0qJUbt2HhYlyst0mQnAZozNwydf0bCeChuLJ79 sTQipBoKHadqg+tTaCyAtTLBuy2GLonJ+VdkEgC4galaQ5E= X-Google-Smtp-Source: ABdhPJw9qg65Ny6nV+uDAV7m8Opz/46xamwxUBuolXRbc9MoOkUTuA/gZr7zd0UQ4hyhKFIXHd1a1YhTc1+S6/Z4j2c= X-Received: by 2002:a05:6402:1443:: with SMTP id d3mr7085795edx.40.1598092859376; Sat, 22 Aug 2020 03:40:59 -0700 (PDT) MIME-Version: 1.0 References: <202008201928.07KJSJfP088877@repo.freebsd.org> In-Reply-To: <202008201928.07KJSJfP088877@repo.freebsd.org> From: Antoine Brodin Date: Sat, 22 Aug 2020 12:40:49 +0200 Message-ID: Subject: Re: svn commit: r364438 - in head/cddl: contrib/opensolaris/lib/libdtrace/common usr.sbin/dtrace/tests/tools To: Mark Johnston Cc: src-committers , svn-src-all , svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4BYZg06Z7tz4SBM X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of antoinebrodinfreebsd@gmail.com designates 209.85.208.68 as permitted sender) smtp.mailfrom=antoinebrodinfreebsd@gmail.com X-Spamd-Result: default: False [0.02 / 15.00]; ARC_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.02)[0.016]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.68:from]; FORGED_SENDER(0.30)[antoine@freebsd.org,antoinebrodinfreebsd@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.68:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[]; FROM_NEQ_ENVFROM(0.00)[antoine@freebsd.org,antoinebrodinfreebsd@gmail.com]; MAILMAN_DEST(0.00)[svn-src-all,svn-src-head] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 10:41:02 -0000 On Thu, Aug 20, 2020 at 9:28 PM Mark Johnston wrote: > > Author: markj > Date: Thu Aug 20 19:28:19 2020 > New Revision: 364438 > URL: https://svnweb.freebsd.org/changeset/base/364438 > > Log: > Enable creation of static userspace probes in incremental builds. > > To define USDT probes, dtrace -G makes use of relocations for undefined > symbols: the target address is overwritten with NOPs and the location is > recorded in the DOF section of the output object file. To avoid link > errors, the original relocation is destroyed. However, this means that > the same input object file cannot be processed multiple times, as > happens during incremental rebuilds. Instead, only set the relocation > type to NONE, so that all information required to reconstruct USDT > probes is preserved. > > Reported by: bdrewery > MFC after: 3 weeks > Sponsored by: The FreeBSD Foundation > > Modified: > head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c > head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c > head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h > head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh Hi, This change seems broken on i386: http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs/perl5-devel-5.33.0.262.log http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs/perl5.28-5.28.3.log http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs/perl5.30-5.30.3.log http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs/perl5-5.32.0.log Cheers, Antoine From owner-svn-src-all@freebsd.org Sat Aug 22 10:49:20 2020 Return-Path: Delivered-To: svn-src-all@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 4E8733B5FD9; Sat, 22 Aug 2020 10:49:20 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BYZrc02qJz4SMB; Sat, 22 Aug 2020 10:49:20 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from localhost (unknown [IPv6:2400:4051:a743:3c00:16:ceff:fe34:2700]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: hrs) by smtp.freebsd.org (Postfix) with ESMTPSA id BF2CE144A7; Sat, 22 Aug 2020 10:49:18 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Date: Sat, 22 Aug 2020 19:44:38 +0900 (JST) Message-Id: <20200822.194438.808130473746317382.hrs@FreeBSD.org> To: gbe@FreeBSD.org Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364449 - head/bin/ls From: Hiroki Sato In-Reply-To: <202008210620.07L6KC6M091289@repo.freebsd.org> References: <202008210620.07L6KC6M091289@repo.freebsd.org> X-Old-PGPkey-fingerprint: BDB3 443F A5DD B3D0 A530 FFD7 4F2C D3D8 2793 CF2D X-PGPkey-fingerprint: 6C0D 2353 27CF 80C7 901E FDD2 DBB0 7DC6 6F1F 737F X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Multipart/Signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="--Security_Multipart(Sat_Aug_22_19_44_38_2020_947)--" Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 10:49:20 -0000 ----Security_Multipart(Sat_Aug_22_19_44_38_2020_947)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, Gordon Bergling wrote in <202008210620.07L6KC6M091289@repo.freebsd.org>: gb> Author: gbe (doc committer) gb> Date: Fri Aug 21 06:20:11 2020 gb> New Revision: 364449 gb> URL: https://svnweb.freebsd.org/changeset/base/364449 gb> gb> Log: gb> ls(1): Update POSIX conformance from 2001 to 2008 gb> gb> - Update the options that are non-existing in POSIX from 2001 to 2008 gb> - Update POSIX conformance in the STANDARDS section from 2001 to 2008 Generally speaking, conformance with POSIX.1-2001 (SUSv3) and POSIX.1-2008 (SUSv4) are independent, so a simple replacement by s/2001/2008/ removes the former information. If we want to describe -2008, please add it instead of replacing the prior version numbers. -- Hiroki ----Security_Multipart(Sat_Aug_22_19_44_38_2020_947)-- Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iMoEABMKAC4WIQRsDSNTJ8+Ax5Ae/dLbsH3Gbx9zfwUCX0D3FhAcaHJzQGZyZWVi c2Qub3JnAAoJENuwfcZvH3N/DCoCCQFaogsQ6tLSrwg4F6wG+HRfgq0jMsO+g672 NQMSbPSzTomcQMq/u5RFdBpLDbaR6lSgnaPDQRdAhr33tH18QhuCHwIJAWaBg89i AC2CfJaDZ5zxF4wYjfXatUsI4vdWRPWXzqQiOn873qNB3lo2oVl/E3iSK9BAiPgy 6sI3CQSW2rifeXax =Aire -----END PGP SIGNATURE----- ----Security_Multipart(Sat_Aug_22_19_44_38_2020_947)---- From owner-svn-src-all@freebsd.org Sat Aug 22 10:55:56 2020 Return-Path: Delivered-To: svn-src-all@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 0394B3B64BF; Sat, 22 Aug 2020 10:55:56 +0000 (UTC) (envelope-from dim@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 4BYb0C61lZz4T14; Sat, 22 Aug 2020 10:55:55 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AEB0815518; Sat, 22 Aug 2020 10:55:55 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MAttQL064581; Sat, 22 Aug 2020 10:55:55 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MAttx7064580; Sat, 22 Aug 2020 10:55:55 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008221055.07MAttx7064580@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 22 Aug 2020 10:55:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364480 - head/contrib/llvm-project/lldb/source/Target X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/lldb/source/Target X-SVN-Commit-Revision: 364480 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 10:55:56 -0000 Author: dim Date: Sat Aug 22 10:55:55 2020 New Revision: 364480 URL: https://svnweb.freebsd.org/changeset/base/364480 Log: Merge commit 1ce07cd614be from llvm git (by me): Instantiate Error in Target::GetEntryPointAddress() only when necessary When Target::GetEntryPointAddress() calls exe_module->GetObjectFile()->GetEntryPointAddress(), and the returned entry_addr is valid, it can immediately be returned. However, just before that, an llvm::Error value has been setup, but in this case it is not consumed before returning, like is done further below in the function. In https://bugs.freebsd.org/248745 we got a bug report for this, where a very simple test case aborts and dumps core: * thread #1, name = 'testcase', stop reason = breakpoint 1.1 frame #0: 0x00000000002018d4 testcase`main(argc=1, argv=0x00007fffffffea18) at testcase.c:3:5 1 int main(int argc, char *argv[]) 2 { -> 3 return 0; 4 } (lldb) p argc Program aborted due to an unhandled Error: Error value was Success. (Note: Success values must still be checked prior to being destroyed). Thread 1 received signal SIGABRT, Aborted. thr_kill () at thr_kill.S:3 3 thr_kill.S: No such file or directory. (gdb) bt #0 thr_kill () at thr_kill.S:3 #1 0x00000008049a0004 in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52 #2 0x0000000804916229 in abort () at /usr/src/lib/libc/stdlib/abort.c:67 #3 0x000000000451b5f5 in fatalUncheckedError () at /usr/src/contrib/llvm-project/llvm/lib/Support/Error.cpp:112 #4 0x00000000019cf008 in GetEntryPointAddress () at /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:267 #5 0x0000000001bccbd8 in ConstructorSetup () at /usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:67 #6 0x0000000001bcd2c0 in ThreadPlanCallFunction () at /usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:114 #7 0x00000000020076d4 in InferiorCallMmap () at /usr/src/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp:97 #8 0x0000000001f4be33 in DoAllocateMemory () at /usr/src/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp:604 #9 0x0000000001fe51b9 in AllocatePage () at /usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:347 #10 0x0000000001fe5385 in AllocateMemory () at /usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:383 #11 0x0000000001974da2 in AllocateMemory () at /usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2301 #12 CanJIT () at /usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2331 #13 0x0000000001a1bf3d in Evaluate () at /usr/src/contrib/llvm-project/lldb/source/Expression/UserExpression.cpp:190 #14 0x00000000019ce7a2 in EvaluateExpression () at /usr/src/contrib/llvm-project/lldb/source/Target/Target.cpp:2372 #15 0x0000000001ad784c in EvaluateExpression () at /usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:414 #16 0x0000000001ad86ae in DoExecute () at /usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:646 #17 0x0000000001a5e3ed in Execute () at /usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandObject.cpp:1003 #18 0x0000000001a6c4a3 in HandleCommand () at /usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:1762 #19 0x0000000001a6f98c in IOHandlerInputComplete () at /usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2760 #20 0x0000000001a90b08 in Run () at /usr/src/contrib/llvm-project/lldb/source/Core/IOHandler.cpp:548 #21 0x00000000019a6c6a in ExecuteIOHandlers () at /usr/src/contrib/llvm-project/lldb/source/Core/Debugger.cpp:903 #22 0x0000000001a70337 in RunCommandInterpreter () at /usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2946 #23 0x0000000001d9d812 in RunCommandInterpreter () at /usr/src/contrib/llvm-project/lldb/source/API/SBDebugger.cpp:1169 #24 0x0000000001918be8 in MainLoop () at /usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:675 #25 0x000000000191a114 in main () at /usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:890 Fix the incorrect error catch by only instantiating an Error object if it is necessary. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D86355 This should fix lldb aborting as described in the scenario above. Reported by: dmgk PR: 248745 Modified: head/contrib/llvm-project/lldb/source/Target/Target.cpp Modified: head/contrib/llvm-project/lldb/source/Target/Target.cpp ============================================================================== --- head/contrib/llvm-project/lldb/source/Target/Target.cpp Sat Aug 22 07:43:38 2020 (r364479) +++ head/contrib/llvm-project/lldb/source/Target/Target.cpp Sat Aug 22 10:55:55 2020 (r364480) @@ -2401,21 +2401,13 @@ lldb::addr_t Target::GetPersistentSymbol(ConstString n llvm::Expected Target::GetEntryPointAddress() { Module *exe_module = GetExecutableModulePointer(); - llvm::Error error = llvm::Error::success(); - assert(!error); // Check the success value when assertions are enabled. - if (!exe_module || !exe_module->GetObjectFile()) { - error = llvm::make_error("No primary executable found", - llvm::inconvertibleErrorCode()); - } else { + // Try to find the entry point address in the primary executable. + const bool has_primary_executable = exe_module && exe_module->GetObjectFile(); + if (has_primary_executable) { Address entry_addr = exe_module->GetObjectFile()->GetEntryPointAddress(); if (entry_addr.IsValid()) return entry_addr; - - error = llvm::make_error( - "Could not find entry point address for executable module \"" + - exe_module->GetFileSpec().GetFilename().GetStringRef() + "\"", - llvm::inconvertibleErrorCode()); } const ModuleList &modules = GetImages(); @@ -2426,14 +2418,21 @@ llvm::Expected Target::GetEntry continue; Address entry_addr = module_sp->GetObjectFile()->GetEntryPointAddress(); - if (entry_addr.IsValid()) { - // Discard the error. - llvm::consumeError(std::move(error)); + if (entry_addr.IsValid()) return entry_addr; - } } - return std::move(error); + // We haven't found the entry point address. Return an appropriate error. + if (!has_primary_executable) + return llvm::make_error( + "No primary executable found and could not find entry point address in " + "any executable module", + llvm::inconvertibleErrorCode()); + + return llvm::make_error( + "Could not find entry point address for primary executable module \"" + + exe_module->GetFileSpec().GetFilename().GetStringRef() + "\"", + llvm::inconvertibleErrorCode()); } lldb::addr_t Target::GetCallableLoadAddress(lldb::addr_t load_addr, From owner-svn-src-all@freebsd.org Sat Aug 22 11:59:14 2020 Return-Path: Delivered-To: svn-src-all@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 A61DB3B79CF; Sat, 22 Aug 2020 11:59:14 +0000 (UTC) (envelope-from fernape@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 4BYcPG3zZdz4WZt; Sat, 22 Aug 2020 11:59:14 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6BCF915DE4; Sat, 22 Aug 2020 11:59:14 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MBxEpj001784; Sat, 22 Aug 2020 11:59:14 GMT (envelope-from fernape@FreeBSD.org) Received: (from fernape@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MBxEvx001783; Sat, 22 Aug 2020 11:59:14 GMT (envelope-from fernape@FreeBSD.org) Message-Id: <202008221159.07MBxEvx001783@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: fernape set sender to fernape@FreeBSD.org using -f From: =?UTF-8?Q?Fernando_Apestegu=c3=ada?= Date: Sat, 22 Aug 2020 11:59:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364481 - head/sbin/sysctl X-SVN-Group: head X-SVN-Commit-Author: fernape X-SVN-Commit-Paths: head/sbin/sysctl X-SVN-Commit-Revision: 364481 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 11:59:14 -0000 Author: fernape (ports committer) Date: Sat Aug 22 11:59:14 2020 New Revision: 364481 URL: https://svnweb.freebsd.org/changeset/base/364481 Log: sysctl(8): clarify -n flag -n omits the name of the variable regardless of the type of information that is requested. Rephrase to clarify this point. PR: 242191 Submitted by: stilezy@gmail.com Approved by: emaste@ Differential Revision: https://reviews.freebsd.org/D26149 Modified: head/sbin/sysctl/sysctl.8 Modified: head/sbin/sysctl/sysctl.8 ============================================================================== --- head/sbin/sysctl/sysctl.8 Sat Aug 22 10:55:55 2020 (r364480) +++ head/sbin/sysctl/sysctl.8 Sat Aug 22 11:59:14 2020 (r364481) @@ -28,7 +28,7 @@ .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd February 8, 2019 +.Dd August 22, 2020 .Dt SYSCTL 8 .Os .Sh NAME @@ -123,7 +123,7 @@ use: .Pp .Dl "complete sysctl 'n/*/`sysctl -Na`/'" .It Fl n -Show only variable values, not their names. +Do not show variable names. This option is useful for setting shell variables. For instance, to save the pagesize in variable .Va psize , From owner-svn-src-all@freebsd.org Sat Aug 22 12:05:12 2020 Return-Path: Delivered-To: svn-src-all@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 53E163B8B4A; Sat, 22 Aug 2020 12:05:12 +0000 (UTC) (envelope-from dim@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 4BYcX81ZC0z4XC8; Sat, 22 Aug 2020 12:05:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1A19C15D66; Sat, 22 Aug 2020 12:05:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MC5BT7007915; Sat, 22 Aug 2020 12:05:11 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MC5Bb9007914; Sat, 22 Aug 2020 12:05:11 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008221205.07MC5Bb9007914@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 22 Aug 2020 12:05:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364482 - head/lib/libc++ X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/lib/libc++ X-SVN-Commit-Revision: 364482 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 12:05:12 -0000 Author: dim Date: Sat Aug 22 12:05:11 2020 New Revision: 364482 URL: https://svnweb.freebsd.org/changeset/base/364482 Log: Add a few new source files to libc++, in particular the implementation part of std::random_shuffle. These were split off at some point by upstream, but I forgot to add them to our Makefile. This should allow some ports which use std::random_shuffle to correctly link again. Reported by: thierry PR: 248795 MFC after: 6 weeks X-MFX-With: r364284 Modified: head/lib/libc++/Makefile Modified: head/lib/libc++/Makefile ============================================================================== --- head/lib/libc++/Makefile Sat Aug 22 11:59:14 2020 (r364481) +++ head/lib/libc++/Makefile Sat Aug 22 12:05:11 2020 (r364482) @@ -16,6 +16,8 @@ SHLIB_LDSCRIPT= libc++.ldscript SRCS+= algorithm.cpp SRCS+= any.cpp +SRCS+= atomic.cpp +SRCS+= barrier.cpp SRCS+= bind.cpp SRCS+= charconv.cpp SRCS+= chrono.cpp @@ -38,6 +40,7 @@ SRCS+= mutex_destructor.cpp SRCS+= new.cpp SRCS+= optional.cpp SRCS+= random.cpp +SRCS+= random_shuffle.cpp SRCS+= regex.cpp SRCS+= shared_mutex.cpp SRCS+= stdexcept.cpp From owner-svn-src-all@freebsd.org Sat Aug 22 12:07:37 2020 Return-Path: Delivered-To: svn-src-all@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 DC3453B8D38; Sat, 22 Aug 2020 12:07:37 +0000 (UTC) (envelope-from dim@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 4BYcZx5Q0Rz4Xcv; Sat, 22 Aug 2020 12:07:37 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 80C2915003; Sat, 22 Aug 2020 12:07:37 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:470:7a58::b4b9:505e:3ee8:ae14] (unknown [IPv6:2001:470:7a58:0:b4b9:505e:3ee8:ae14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 43D52639A9; Sat, 22 Aug 2020 14:07:35 +0200 (CEST) From: Dimitry Andric Content-Type: multipart/signed; boundary="Apple-Mail=_30A24380-BF63-4614-9B62-D0307FE5776E"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.15\)) Subject: Re: svn commit: r364482 - head/lib/libc++ Date: Sat, 22 Aug 2020 14:07:25 +0200 References: <202008221205.07MC5Bb9007914@repo.freebsd.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org In-Reply-To: <202008221205.07MC5Bb9007914@repo.freebsd.org> Message-Id: <8EAF96FD-6828-4C67-BCD2-5A5668CB852D@FreeBSD.org> X-Mailer: Apple Mail (2.3445.104.15) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 12:07:37 -0000 --Apple-Mail=_30A24380-BF63-4614-9B62-D0307FE5776E Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On 22 Aug 2020, at 14:05, Dimitry Andric wrote: > > Author: dim > Date: Sat Aug 22 12:05:11 2020 > New Revision: 364482 > URL: https://svnweb.freebsd.org/changeset/base/364482 > > Log: > Add a few new source files to libc++, in particular the implementation > part of std::random_shuffle. These were split off at some point by > upstream, but I forgot to add them to our Makefile. > > This should allow some ports which use std::random_shuffle to correctly > link again. > > Reported by: thierry > PR: 248795 Oops, the first reporter was actually tobik (Tobias Kortkamp)! -Dimitry --Apple-Mail=_30A24380-BF63-4614-9B62-D0307FE5776E Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCX0EKfQAKCRCwXqMKLiCW oytAAJ9uy3hI0EI4/cIiwOIWKC6ON6Cz7wCeNUz8l2BnMpxAAipGnKtKmwneeZs= =giaO -----END PGP SIGNATURE----- --Apple-Mail=_30A24380-BF63-4614-9B62-D0307FE5776E-- From owner-svn-src-all@freebsd.org Sat Aug 22 14:07:16 2020 Return-Path: Delivered-To: svn-src-all@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 254553BC528 for ; Sat, 22 Aug 2020 14:07:16 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com [IPv6:2607:f8b0:4864:20::735]) (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 4BYgDy0RtVz4g1v for ; Sat, 22 Aug 2020 14:07:13 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qk1-x735.google.com with SMTP id 144so3794219qkl.5 for ; Sat, 22 Aug 2020 07:07:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=a4xEmlug5qtcZhv0kr+XJClD7ask0e3N/VwfWmL3RNA=; b=BlaPcqGoGjc/6yAdafbWA8iXyUAOZmZpsYYePWNGBYzmkegTO08B686hxIBnJUoRSP cn0ESZRixC9y+shWpTrHObZyJvO996MbfiusL7r9QVXUW6fpccZEtmzJ77XaP8N0AoD7 6sDjztW5jKh62DslebhwHxqml5VqgJXCSrRpUDL8/v9d8WZWVPa90TnTt+EHKdNmpm1Y +p4yVVHFQNFbwyOC1ZMOgTALsgMrQG5gxWggsAJimL+a5M8/StGbpIjMb/MRVLiYrOYa mzKpsUpT5M5EgJFVQHZuoZ8uYskVJbqz5WUNGGTxcvswcvuXOzNIdUV5QuGXEKrF35Dn I6BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=a4xEmlug5qtcZhv0kr+XJClD7ask0e3N/VwfWmL3RNA=; b=dwLjwgCpH3JViVefVEf5JBR6T++pjbhVwNTmD0xKgGRJF1hcSUqS13uk6r0jBiWa42 kzJt3GdSPy3hf2KP5H9zbZeM+vDbg47yYh2OQh+62cbcjS1YAad2vwgdEpS0DfHQG8OX sEtiJfz9MCnFsvE+d681DVnI0WSnop8547oWmjWO19Z8iqu2Jn5TCtXwCwzsZf5USn2L 8xdopkq5w/iyqJrl3QNQ5cD6fSHi2R9WIl8HeXBtWcZC8leuCiaDoUwWCq7Uc9w7Nkej QSqs9c6jDVOBNmGTDFsBJVx0A4PDyChiCbG3NFS/S4zAYV4BAWK/FW4pnU1DQ6c5BaBR uiAQ== X-Gm-Message-State: AOAM531jwvAGpBf1c3yAbbA9P8D2uUsvIzbmnha8vJhKJ8evBWF+3+Is hA0ui/Xw/WwuBa6HQYVEfeanYg== X-Google-Smtp-Source: ABdhPJwZJUCOkZx4HmASz+QLMvt5BWmeF/JYsZjJ9LELVUic5CmevCXnyTf02dIIPP1ErWK61oqqaQ== X-Received: by 2002:a37:84a:: with SMTP id 71mr7034093qki.327.1598105233039; Sat, 22 Aug 2020 07:07:13 -0700 (PDT) Received: from mutt-hbsd (pool-100-16-231-224.bltmmd.fios.verizon.net. [100.16.231.224]) by smtp.gmail.com with ESMTPSA id f31sm5789573qte.35.2020.08.22.07.07.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Aug 2020 07:07:12 -0700 (PDT) Date: Sat, 22 Aug 2020 10:07:11 -0400 From: Shawn Webb To: Dimitry Andric Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364482 - head/lib/libc++ Message-ID: <20200822140711.62khzgdj5slb2yuq@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 13.0-CURRENT-HBSD FreeBSD 13.0-CURRENT-HBSD X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0xFF2E67A277F8E1FA References: <202008221205.07MC5Bb9007914@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="zcgzu3f3h3swumbc" Content-Disposition: inline In-Reply-To: <202008221205.07MC5Bb9007914@repo.freebsd.org> X-Rspamd-Queue-Id: 4BYgDy0RtVz4g1v X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=BlaPcqGo; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::735 as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org X-Spamd-Result: default: False [-3.09 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org:s=google]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[hardenedbsd.org]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[hardenedbsd.org:+]; NEURAL_HAM_SHORT(-0.99)[-0.990]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::735:from]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; RECEIVED_SPAMHAUS_PBL(0.00)[100.16.231.224:received] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 14:07:16 -0000 --zcgzu3f3h3swumbc Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Aug 22, 2020 at 12:05:11PM +0000, Dimitry Andric wrote: > Author: dim > Date: Sat Aug 22 12:05:11 2020 > New Revision: 364482 > URL: https://svnweb.freebsd.org/changeset/base/364482 >=20 > Log: > Add a few new source files to libc++, in particular the implementation > part of std::random_shuffle. These were split off at some point by > upstream, but I forgot to add them to our Makefile. > =20 > This should allow some ports which use std::random_shuffle to correctly > link again. > =20 > Reported by: thierry > PR: 248795 > MFC after: 6 weeks > X-MFX-With: r364284 >=20 > Modified: > head/lib/libc++/Makefile >=20 > Modified: head/lib/libc++/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/lib/libc++/Makefile Sat Aug 22 11:59:14 2020 (r364481) > +++ head/lib/libc++/Makefile Sat Aug 22 12:05:11 2020 (r364482) > @@ -16,6 +16,8 @@ SHLIB_LDSCRIPT=3D libc++.ldscript > =20 > SRCS+=3D algorithm.cpp > SRCS+=3D any.cpp > +SRCS+=3D atomic.cpp > +SRCS+=3D barrier.cpp > SRCS+=3D bind.cpp > SRCS+=3D charconv.cpp > SRCS+=3D chrono.cpp > @@ -38,6 +40,7 @@ SRCS+=3D mutex_destructor.cpp > SRCS+=3D new.cpp > SRCS+=3D optional.cpp > SRCS+=3D random.cpp > +SRCS+=3D random_shuffle.cpp > SRCS+=3D regex.cpp > SRCS+=3D shared_mutex.cpp > SRCS+=3D stdexcept.cpp There's also these files: https://github.com/HardenedBSD/hardenedBSD/commit/9410e679cc7888311f6efaf25= 1f8d9a311c5b19d Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Sha= wn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --zcgzu3f3h3swumbc Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAl9BJowACgkQ/y5nonf4 4fp9cg/+MStBrURHtIKkcyCR035MNrY9/39ErrQJURcCykBOF9z4i+lkS1iQG7hw LlIdVrc/PwV3emNWzNW6Lmnm7JctAfcPuqY2qOTXNX/w1eHxhHQ7lkaplL5shVIn qJHXKSueHwLBCF3sbRiQzPwGxW6dNM4Jn6mkn1jCg1MBG59ZyRYB6gf08plMEn5G scq346DaxQYD/GBrvo5uFM24PMN5DjR9NKbwJK8TcI9CV+98fBRPXQsIhFgGQagW nbjHHjXrdHIpdiy9/X7AlLzeurLrM6EfkktA0GO1534CRlSLBl5fJ3vOiMPXgvcZ QTAwsW4Lu40Jt9SnNIlr7ejvllFKoTIuDPrsmkisRPlnsuY7aAys3Aiv2ZbnB/x+ wq0pO2/5IwJoG1eCzyqFAjpqsJmO1KYpa9Qyh0oh1KAFhSdVLpx29qYzISpfsX1O f7VcgWv9BKtIVfZBlXG+CxJIw1gx6fw4HSFMvZl+pDDO4DyrZmyNi0yLSTTtJsS3 hKR3NVANu4YQCy4ocuk8/Xd22MzNRedkl0VV29cNhKFyDTiGkbquuz1Ss8ShCsrl iEfek/wAZJJvfoa0DjkRNk8omLFCqOzY9yQYHNuf4NI9Orct7Hx0ucGDVsqM1AN5 SAceDC9q40OmG4TKLlfUQNw7C4MVszxjy6Cn5soEEdhYIioMnQc= =gTCL -----END PGP SIGNATURE----- --zcgzu3f3h3swumbc-- From owner-svn-src-all@freebsd.org Sat Aug 22 14:17:50 2020 Return-Path: Delivered-To: svn-src-all@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 740F03BC9E5; Sat, 22 Aug 2020 14:17:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BYgTB2W9Xz4gvb; Sat, 22 Aug 2020 14:17:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 1DACE15D8B; Sat, 22 Aug 2020 14:17:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:470:7a58::b4b9:505e:3ee8:ae14] (unknown [IPv6:2001:470:7a58:0:b4b9:505e:3ee8:ae14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id C564563969; Sat, 22 Aug 2020 16:17:48 +0200 (CEST) From: Dimitry Andric Message-Id: <741677B8-D4AD-418B-9D60-436AA7E34E4C@FreeBSD.org> Content-Type: multipart/signed; boundary="Apple-Mail=_F0F6A700-0FB8-4C23-9DE2-DDDEC9A3DEFC"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.15\)) Subject: Re: svn commit: r364482 - head/lib/libc++ Date: Sat, 22 Aug 2020 16:17:33 +0200 In-Reply-To: <20200822140711.62khzgdj5slb2yuq@mutt-hbsd> Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org To: Shawn Webb References: <202008221205.07MC5Bb9007914@repo.freebsd.org> <20200822140711.62khzgdj5slb2yuq@mutt-hbsd> X-Mailer: Apple Mail (2.3445.104.15) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 14:17:50 -0000 --Apple-Mail=_F0F6A700-0FB8-4C23-9DE2-DDDEC9A3DEFC Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 22 Aug 2020, at 16:07, Shawn Webb wrote: >=20 > On Sat, Aug 22, 2020 at 12:05:11PM +0000, Dimitry Andric wrote: >> Author: dim >> Date: Sat Aug 22 12:05:11 2020 >> New Revision: 364482 >> URL: https://svnweb.freebsd.org/changeset/base/364482 >>=20 >> Log: >> Add a few new source files to libc++, in particular the = implementation >> part of std::random_shuffle. These were split off at some point by >> upstream, but I forgot to add them to our Makefile. >>=20 >> This should allow some ports which use std::random_shuffle to = correctly >> link again. >>=20 >> Reported by: thierry >> PR: 248795 >> MFC after: 6 weeks >> X-MFX-With: r364284 >>=20 >> Modified: >> head/lib/libc++/Makefile >>=20 >> Modified: head/lib/libc++/Makefile >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >> --- head/lib/libc++/Makefile Sat Aug 22 11:59:14 2020 = (r364481) >> +++ head/lib/libc++/Makefile Sat Aug 22 12:05:11 2020 = (r364482) >> @@ -16,6 +16,8 @@ SHLIB_LDSCRIPT=3D libc++.ldscript >>=20 >> SRCS+=3D algorithm.cpp >> SRCS+=3D any.cpp >> +SRCS+=3D atomic.cpp >> +SRCS+=3D barrier.cpp >> SRCS+=3D bind.cpp >> SRCS+=3D charconv.cpp >> SRCS+=3D chrono.cpp >> @@ -38,6 +40,7 @@ SRCS+=3D mutex_destructor.cpp >> SRCS+=3D new.cpp >> SRCS+=3D optional.cpp >> SRCS+=3D random.cpp >> +SRCS+=3D random_shuffle.cpp >> SRCS+=3D regex.cpp >> SRCS+=3D shared_mutex.cpp >> SRCS+=3D stdexcept.cpp >=20 > There's also these files: >=20 > = https://github.com/HardenedBSD/hardenedBSD/commit/9410e679cc7888311f6efaf2= 51f8d9a311c5b19d We intentionally don't build a number of the lldb plugins, so these should not be needed. Did you get build failures otherwise? In case you require the full lldb functionality, it is better to install the port. -Dimitry --Apple-Mail=_F0F6A700-0FB8-4C23-9DE2-DDDEC9A3DEFC Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCX0Eo/QAKCRCwXqMKLiCW o/b5AKDvIkQkAcGsjb3+6gYfDrknhOP0IQCfTUhph9kStUfASuYEoLVEUlkVLtI= =7V19 -----END PGP SIGNATURE----- --Apple-Mail=_F0F6A700-0FB8-4C23-9DE2-DDDEC9A3DEFC-- From owner-svn-src-all@freebsd.org Sat Aug 22 14:21:02 2020 Return-Path: Delivered-To: svn-src-all@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 784533BCE62 for ; Sat, 22 Aug 2020 14:21:02 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qk1-x743.google.com (mail-qk1-x743.google.com [IPv6:2607:f8b0:4864:20::743]) (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 4BYgXs55yKz4h9y for ; Sat, 22 Aug 2020 14:21:01 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qk1-x743.google.com with SMTP id u3so3818477qkd.9 for ; Sat, 22 Aug 2020 07:21:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=WZCUnj5RXcI4LfvUWRchChu0oemsDA6MzwTo2sNmht4=; b=g/hRjWQD8unG7ogJoWrDboq0whWkUkBuqQ+KlWiuTZZWfjpe+BwnURUoU7cSU/AAmb 0NRl/S0OCMq29ao2Gt/BuXw6L/2MuJfFAQgLituuQb6bUmMcOXBRp1V+QNJD1DlPYxx4 tliu+r3jb7b1TwLwkPque88JdyDy1MBZVHziHgPxbs35jG6Jrjn+TOovX8ZiWS3uw0u3 kSzmHNeADaO0TZ8PoYGvTtrF8GEc1s6bEAD8IFjRU2ZK3THlejcK9VA+aXqlknjBEgNo bWthZoVVytYXDhKF2k2r/POYHapDU/SmW2PMXEfAWQxN2WY4qk8VaNNaDpZmVueYeEw6 SapQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=WZCUnj5RXcI4LfvUWRchChu0oemsDA6MzwTo2sNmht4=; b=rlBBGtdzlyYDhVLYcC2xdDDHo5cziDsKdKVOaanOumQiMW67eiVsggQENlOfdnCZT3 8Jlir0TKJwFKNG1QC0R7SKuDhDUKZB/f915Ig3Yz5pbjllTRqYKDM59/nWxl/hr+CMV2 HgV/S7ZuiYp0MCzOIHQUNAg2UAzT/L/673OIzjtBTdKmRepPLjMs+oaBVFhzm4dO1nb0 kD/AN1B8K72r7wGFNs2M/0GhZhNEyF6TTvEciJBCsvgkh+VSxdNaQNl0C2eh14/5Hnh/ YcIHjazrglvPMPYLGebwY1sOzqMuEzTa4mS4NFPHvA99TmRP2oL00DoB7KHflX9KOJlA e7Og== X-Gm-Message-State: AOAM533kwuGD5+V7ZX6d3VpHZBLUvB1PNrO09IMSIpgPan6fthUF9TOI wf3eKg83HnYhHxY0+8o9B6poNA== X-Google-Smtp-Source: ABdhPJxiWG4TX6TSN8wmzCRb7knn4XeFcD7iVwNPm8A8E7goTTK+mroU40Y/bmeK+S6NEwUQJE68vA== X-Received: by 2002:a05:620a:1089:: with SMTP id g9mr6987882qkk.252.1598106060815; Sat, 22 Aug 2020 07:21:00 -0700 (PDT) Received: from mutt-hbsd (pool-100-16-231-224.bltmmd.fios.verizon.net. [100.16.231.224]) by smtp.gmail.com with ESMTPSA id i7sm5613788qtb.27.2020.08.22.07.20.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Aug 2020 07:20:59 -0700 (PDT) Date: Sat, 22 Aug 2020 10:20:59 -0400 From: Shawn Webb To: Dimitry Andric Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364482 - head/lib/libc++ Message-ID: <20200822142059.3pssuzpejjpi3mmk@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 13.0-CURRENT-HBSD FreeBSD 13.0-CURRENT-HBSD X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0xFF2E67A277F8E1FA References: <202008221205.07MC5Bb9007914@repo.freebsd.org> <20200822140711.62khzgdj5slb2yuq@mutt-hbsd> <741677B8-D4AD-418B-9D60-436AA7E34E4C@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="giuqngjgxjknnwgr" Content-Disposition: inline In-Reply-To: <741677B8-D4AD-418B-9D60-436AA7E34E4C@FreeBSD.org> X-Rspamd-Queue-Id: 4BYgXs55yKz4h9y X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=g/hRjWQD; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::743 as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org X-Spamd-Result: default: False [-3.32 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org:s=google]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[hardenedbsd.org]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[hardenedbsd.org:+]; NEURAL_HAM_SHORT(-1.22)[-1.224]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::743:from]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-all]; RECEIVED_SPAMHAUS_PBL(0.00)[100.16.231.224:received] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 14:21:02 -0000 --giuqngjgxjknnwgr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Aug 22, 2020 at 04:17:33PM +0200, Dimitry Andric wrote: > On 22 Aug 2020, at 16:07, Shawn Webb wrote: > >=20 > > On Sat, Aug 22, 2020 at 12:05:11PM +0000, Dimitry Andric wrote: > >> Author: dim > >> Date: Sat Aug 22 12:05:11 2020 > >> New Revision: 364482 > >> URL: https://svnweb.freebsd.org/changeset/base/364482 > >>=20 > >> Log: > >> Add a few new source files to libc++, in particular the implementation > >> part of std::random_shuffle. These were split off at some point by > >> upstream, but I forgot to add them to our Makefile. > >>=20 > >> This should allow some ports which use std::random_shuffle to correct= ly > >> link again. > >>=20 > >> Reported by: thierry > >> PR: 248795 > >> MFC after: 6 weeks > >> X-MFX-With: r364284 > >>=20 > >> Modified: > >> head/lib/libc++/Makefile > >>=20 > >> Modified: head/lib/libc++/Makefile > >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > >> --- head/lib/libc++/Makefile Sat Aug 22 11:59:14 2020 (r364481) > >> +++ head/lib/libc++/Makefile Sat Aug 22 12:05:11 2020 (r364482) > >> @@ -16,6 +16,8 @@ SHLIB_LDSCRIPT=3D libc++.ldscript > >>=20 > >> SRCS+=3D algorithm.cpp > >> SRCS+=3D any.cpp > >> +SRCS+=3D atomic.cpp > >> +SRCS+=3D barrier.cpp > >> SRCS+=3D bind.cpp > >> SRCS+=3D charconv.cpp > >> SRCS+=3D chrono.cpp > >> @@ -38,6 +40,7 @@ SRCS+=3D mutex_destructor.cpp > >> SRCS+=3D new.cpp > >> SRCS+=3D optional.cpp > >> SRCS+=3D random.cpp > >> +SRCS+=3D random_shuffle.cpp > >> SRCS+=3D regex.cpp > >> SRCS+=3D shared_mutex.cpp > >> SRCS+=3D stdexcept.cpp > >=20 > > There's also these files: > >=20 > > https://github.com/HardenedBSD/hardenedBSD/commit/9410e679cc7888311f6ef= af251f8d9a311c5b19d >=20 > We intentionally don't build a number of the lldb plugins, so these > should not be needed. Did you get build failures otherwise? We did, likely because we use more llvm tools than our upstream FreeBSD. We set WITH_CLANG_EXTRAS by default. We also use CFI and SafeStack. Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Sha= wn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --giuqngjgxjknnwgr Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAl9BKcgACgkQ/y5nonf4 4fosZg/8CKfllc2PX5MH6cHRtXhcDEFgyCZyPxCZsUuuYVtZ7dm7phwsSelWOKhv DCx5nZCuyk1SaB8EfHV4BCSJDRKfSkt1Ju4jvMJ0KVla1Ok7Um6+59svFmtzUxR6 0vrqEXT1aMwcldwWuyOotShaPFJp91BPOpJJ+XJb7VLItQA+al9SGWkkL8bBPhM4 nNQsv+54XGznHoSsTgsuAFigRS8i4ZkQDtEUfVDSpeS6tnA7H5avWtdw5vuFQViu tvEboFEkOWczm2l3t5Y731YRq0qygtIrbnhDTSQz4skVwAnJBQxJje5OZ/MUCNLr YiIkwHDhypA/tfL/rGPXtGKIhOgdEclye2YuQ6+YfLjI32zg9GZNMLgiwRCIxFDK Vquh7aiyDPFC1TDmXgDo3z8xJLa0o/vMDgQBCKoc4zROK5h1GcBEEUFnjKgXMx7f afB5ewN0H2lzsi4nWfbJQSdT1QeIDUPQu/yvv6JoUQEYBf4qe43f5wDQrOmQWrKW BU2NcqrmH8KediIMOqi/vuLXh72n/uEs6/xWqfT/VSviS7THNAuKRIFainsr5703 wVuTAmfOt1h/fEKnsPK4ZToogfc2MuqVJaNYaCxvVXbqiPHM0SsYs2JI/+AJnEFs 8+CF6vtqqP+06xiL++oq7NOCz6R+JJOlEEce26FTFM8Cr9OGdmw= =H/m9 -----END PGP SIGNATURE----- --giuqngjgxjknnwgr-- From owner-svn-src-all@freebsd.org Sat Aug 22 14:24:18 2020 Return-Path: Delivered-To: svn-src-all@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 A04073BD411; Sat, 22 Aug 2020 14:24:18 +0000 (UTC) (envelope-from markj@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 4BYgcf3ZX7z4hrT; Sat, 22 Aug 2020 14:24:18 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5E23417764; Sat, 22 Aug 2020 14:24:18 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MEOIox093553; Sat, 22 Aug 2020 14:24:18 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MEOIJX093552; Sat, 22 Aug 2020 14:24:18 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008221424.07MEOIJX093552@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 22 Aug 2020 14:24:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364483 - head/cddl/contrib/opensolaris/lib/libdtrace/common X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/cddl/contrib/opensolaris/lib/libdtrace/common X-SVN-Commit-Revision: 364483 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 14:24:18 -0000 Author: markj Date: Sat Aug 22 14:24:17 2020 New Revision: 364483 URL: https://svnweb.freebsd.org/changeset/base/364483 Log: Fix a typo in r364438 affecting 32-bit platforms. Reported by: antoine MFC with: r364438 Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sat Aug 22 12:05:11 2020 (r364482) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sat Aug 22 14:24:17 2020 (r364483) @@ -1583,14 +1583,14 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *e * preserved in order to support incremental rebuilds. */ if (shdr_rel.sh_type == SHT_RELA) { - rela.r_info = - GELF_R_INFO(GELF_R_SYM(rela.r_info), 0); + rela.r_info = GELF_R_INFO( + GELF_R_SYM(rela.r_info), DT_REL_NONE); (void) gelf_update_rela(data_rel, i, &rela); } else { GElf_Rel rel; rel.r_offset = rela.r_offset; - rela.r_info = - GELF_R_INFO(GELF_R_SYM(rela.r_info), 0); + rel.r_info = GELF_R_INFO( + GELF_R_SYM(rela.r_info), DT_REL_NONE); (void) gelf_update_rel(data_rel, i, &rel); } From owner-svn-src-all@freebsd.org Sat Aug 22 14:27:43 2020 Return-Path: Delivered-To: svn-src-all@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 1CBC03BD4B5; Sat, 22 Aug 2020 14:27:43 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com [IPv6:2607:f8b0:4864:20::829]) (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 4BYghZ5Xq3z4j7M; Sat, 22 Aug 2020 14:27:42 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-qt1-x829.google.com with SMTP id 6so3272217qtt.0; Sat, 22 Aug 2020 07:27:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=ZZmGdGdatdDqI691EvaL/f7YJcyRFyBrEgl5conl/A4=; b=fyylmBKvwqPdeU4MzEuI1F2TFh6nAG10K2zu9MvfyKxWxz8WvmPrOekBMJrqVlfW+m er5wXotuqw8WIMdXnVdsEQn/MUJIFtZPqUZJaPV/LRu5xVL9T73A9IguEltL05U/rCxz ukKfId0W+xYqkeleainy1DCquGta+5MhhVE8r1pZnKWxSNXFrOOruZOce51g/jAaV6yv XM61Gi5cp3p3rhOTh3wkPPVbr/1YSTgzAbXbfQBvWcBi4Ko2F5vq75fvUEinlYbfomR/ a73/Pm55zWoLWOl4+aVUg4NJcavoVaLjSs8mIIkJM/T2xFA/w0wZhTx85YS2dPrwt1XK UQyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=ZZmGdGdatdDqI691EvaL/f7YJcyRFyBrEgl5conl/A4=; b=aCBfuSHjxBLt3nBhvfq28xY+AmQaZLRSUeQ7tAlRXpcQQQodHhG3p3ev25Zn7VeYMC BbPyAzLznVeIwqCBt0v9CK/T1ChsKGaDtnMdf7a63QZ3orVHGwdLVj3W68S5Y7WCzLea gzUm7g/EFla1SlbXfU+7//vsZFjk9dQguatMsSOo37T/XhcCuGnLS6ZjRpX0Q51Iyrg4 gytEvdZMUhE/4YvuOno86IUqYKfmvXI+GA91GzUZ8B8T/VrEDACCL3gsPxyQ7SAGLmgh TGGrUnMse/L3KuZYWdGxCEVr2CT0uA8ogSN/6j+2jsQyp5ZyA50U6Wo4osIC6bF39zIJ fXmQ== X-Gm-Message-State: AOAM5307qyFOYTkeQ8Iuh3UFHUQHhrwskWIHAkZATFXgeIc4PAzpsJkv /zdWQ+7W6FCpDgdX04hWR3LqzTlIPiIbeg== X-Google-Smtp-Source: ABdhPJzff+NzrEdEurSN0mlw1DnN4Fp7X55p1ykPxGiiLjyEoQCm+pTYz0x77lCiboRSv5O+YWtdag== X-Received: by 2002:aed:2782:: with SMTP id a2mr6641061qtd.289.1598106461129; Sat, 22 Aug 2020 07:27:41 -0700 (PDT) Received: from raichu (toroon0560w-lp130-08-67-71-176-35.dsl.bell.ca. [67.71.176.35]) by smtp.gmail.com with ESMTPSA id l38sm5685774qtl.58.2020.08.22.07.27.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Aug 2020 07:27:40 -0700 (PDT) Sender: Mark Johnston Date: Sat, 22 Aug 2020 10:27:36 -0400 From: Mark Johnston To: Antoine Brodin Cc: src-committers , svn-src-all , svn-src-head@freebsd.org Subject: Re: svn commit: r364438 - in head/cddl: contrib/opensolaris/lib/libdtrace/common usr.sbin/dtrace/tests/tools Message-ID: <20200822142736.GA57199@raichu> References: <202008201928.07KJSJfP088877@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4BYghZ5Xq3z4j7M X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 14:27:43 -0000 On Sat, Aug 22, 2020 at 12:40:49PM +0200, Antoine Brodin wrote: > On Thu, Aug 20, 2020 at 9:28 PM Mark Johnston wrote: > > > > Author: markj > > Date: Thu Aug 20 19:28:19 2020 > > New Revision: 364438 > > URL: https://svnweb.freebsd.org/changeset/base/364438 > > > > Log: > > Enable creation of static userspace probes in incremental builds. > > > > To define USDT probes, dtrace -G makes use of relocations for undefined > > symbols: the target address is overwritten with NOPs and the location is > > recorded in the DOF section of the output object file. To avoid link > > errors, the original relocation is destroyed. However, this means that > > the same input object file cannot be processed multiple times, as > > happens during incremental rebuilds. Instead, only set the relocation > > type to NONE, so that all information required to reconstruct USDT > > probes is preserved. > > > > Reported by: bdrewery > > MFC after: 3 weeks > > Sponsored by: The FreeBSD Foundation > > > > Modified: > > head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c > > head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c > > head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h > > head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh > > Hi, > > This change seems broken on i386: > > http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs/perl5-devel-5.33.0.262.log > http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs/perl5.28-5.28.3.log > http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs/perl5.30-5.30.3.log > http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs/perl5-5.32.0.log The links are dead, but I think the problem should be fixed by r364483. > > Cheers, > > Antoine From owner-svn-src-all@freebsd.org Sat Aug 22 14:37:01 2020 Return-Path: Delivered-To: svn-src-all@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 9A4A23BD3FA; Sat, 22 Aug 2020 14:37:01 +0000 (UTC) (envelope-from dim@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 4BYgvK3bYSz4jG8; Sat, 22 Aug 2020 14:37:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:470:7a58:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4599316206; Sat, 22 Aug 2020 14:37:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:470:7a58::b4b9:505e:3ee8:ae14] (unknown [IPv6:2001:470:7a58:0:b4b9:505e:3ee8:ae14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 58B95637EC; Sat, 22 Aug 2020 16:37:00 +0200 (CEST) From: Dimitry Andric Message-Id: <6014626A-854A-4120-8127-ABFA43C1713D@FreeBSD.org> Content-Type: multipart/signed; boundary="Apple-Mail=_28A1E023-75D2-4AB6-AE52-85C4EDD7411E"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.15\)) Subject: Re: svn commit: r364438 - in head/cddl: contrib/opensolaris/lib/libdtrace/common usr.sbin/dtrace/tests/tools Date: Sat, 22 Aug 2020 16:36:51 +0200 In-Reply-To: <20200822142736.GA57199@raichu> Cc: Antoine Brodin , src-committers , svn-src-all , svn-src-head@freebsd.org To: Mark Johnston References: <202008201928.07KJSJfP088877@repo.freebsd.org> <20200822142736.GA57199@raichu> X-Mailer: Apple Mail (2.3445.104.15) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 14:37:01 -0000 --Apple-Mail=_28A1E023-75D2-4AB6-AE52-85C4EDD7411E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 22 Aug 2020, at 16:27, Mark Johnston wrote: >=20 > On Sat, Aug 22, 2020 at 12:40:49PM +0200, Antoine Brodin wrote: >> On Thu, Aug 20, 2020 at 9:28 PM Mark Johnston = wrote: >>>=20 >>> Author: markj >>> Date: Thu Aug 20 19:28:19 2020 >>> New Revision: 364438 >>> URL: https://svnweb.freebsd.org/changeset/base/364438 >>>=20 >>> Log: >>> Enable creation of static userspace probes in incremental builds. >>>=20 >>> To define USDT probes, dtrace -G makes use of relocations for = undefined >>> symbols: the target address is overwritten with NOPs and the = location is >>> recorded in the DOF section of the output object file. To avoid = link >>> errors, the original relocation is destroyed. However, this means = that >>> the same input object file cannot be processed multiple times, as >>> happens during incremental rebuilds. Instead, only set the = relocation >>> type to NONE, so that all information required to reconstruct USDT >>> probes is preserved. >>>=20 >>> Reported by: bdrewery >>> MFC after: 3 weeks >>> Sponsored by: The FreeBSD Foundation >>>=20 >>> Modified: >>> head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c >>> head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.c >>> head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h >>> head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh >>=20 >> Hi, >>=20 >> This change seems broken on i386: >>=20 >> = http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs= /perl5-devel-5.33.0.262.log >> = http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs= /perl5.28-5.28.3.log >> = http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs= /perl5.30-5.30.3.log >> = http://beefy17.nyi.freebsd.org/data/head-i386-default/p545731_s364466/logs= /perl5-5.32.0.log >=20 > The links are dead, but I think the problem should be fixed by = r364483. They work, but only over IPv6, unfortunately. :-) -Dimitry --Apple-Mail=_28A1E023-75D2-4AB6-AE52-85C4EDD7411E Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCX0EtgwAKCRCwXqMKLiCW o9peAJ4o0OlafWrUCKbNzauF6EUzrTUYkgCg7hLzn8xY9RQ4pcyPYjqGHWKX51I= =IkMl -----END PGP SIGNATURE----- --Apple-Mail=_28A1E023-75D2-4AB6-AE52-85C4EDD7411E-- From owner-svn-src-all@freebsd.org Sat Aug 22 14:39:15 2020 Return-Path: Delivered-To: svn-src-all@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 39D183BD897; Sat, 22 Aug 2020 14:39:15 +0000 (UTC) (envelope-from emaste@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 4BYgxv0hDgz4jsG; Sat, 22 Aug 2020 14:39:15 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EFF7517F46; Sat, 22 Aug 2020 14:39:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MEdEfM000250; Sat, 22 Aug 2020 14:39:14 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MEdEqJ000249; Sat, 22 Aug 2020 14:39:14 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008221439.07MEdEqJ000249@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 22 Aug 2020 14:39:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364484 - head/sys/arm64/acpica X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/arm64/acpica X-SVN-Commit-Revision: 364484 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 14:39:15 -0000 Author: emaste Date: Sat Aug 22 14:39:14 2020 New Revision: 364484 URL: https://svnweb.freebsd.org/changeset/base/364484 Log: acpi_iort: fix mapping end calculation According to the ARM Design Document "IO Remapping Table Platform" (DEN 0049D), the "Number of IDs" field of the ID mapping format means "The number of IDs in the range minus one". Submitted by: Greg V Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D25179 Modified: head/sys/arm64/acpica/acpi_iort.c Modified: head/sys/arm64/acpica/acpi_iort.c ============================================================================== --- head/sys/arm64/acpica/acpi_iort.c Sat Aug 22 14:24:17 2020 (r364483) +++ head/sys/arm64/acpica/acpi_iort.c Sat Aug 22 14:39:14 2020 (r364484) @@ -234,7 +234,11 @@ iort_copy_data(struct iort_node *node, ACPI_IORT_NODE node->entries.mappings = mapping; for (i = 0; i < node->nentries; i++, mapping++, map_entry++) { mapping->base = map_entry->InputBase; - mapping->end = map_entry->InputBase + map_entry->IdCount - 1; + /* + * IdCount means "The number of IDs in the range minus one" (ARM DEN 0049D). + * We use <= for comparison against this field, so don't add one here. + */ + mapping->end = map_entry->InputBase + map_entry->IdCount; mapping->outbase = map_entry->OutputBase; mapping->out_node_offset = map_entry->OutputReference; mapping->flags = map_entry->Flags; From owner-svn-src-all@freebsd.org Sat Aug 22 15:31:57 2020 Return-Path: Delivered-To: svn-src-all@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 84AB83BEC36; Sat, 22 Aug 2020 15:31:57 +0000 (UTC) (envelope-from dim@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 4BYj6j30dkz4m60; Sat, 22 Aug 2020 15:31:57 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4B6B51889E; Sat, 22 Aug 2020 15:31:57 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MFVvML035650; Sat, 22 Aug 2020 15:31:57 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MFVv85035649; Sat, 22 Aug 2020 15:31:57 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202008221531.07MFVv85035649@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 22 Aug 2020 15:31:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364485 - head/lib/clang/libllvm X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/lib/clang/libllvm X-SVN-Commit-Revision: 364485 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 15:31:57 -0000 Author: dim Date: Sat Aug 22 15:31:56 2020 New Revision: 364485 URL: https://svnweb.freebsd.org/changeset/base/364485 Log: Add a missed source file for LLVM's BPF target. This target is not enabled by default, so I forgot about it, apologies for the breakage. Reported by: hrs MFC after: 6 weeks X-MFC-With: r364284 Modified: head/lib/clang/libllvm/Makefile Modified: head/lib/clang/libllvm/Makefile ============================================================================== --- head/lib/clang/libllvm/Makefile Sat Aug 22 14:39:14 2020 (r364484) +++ head/lib/clang/libllvm/Makefile Sat Aug 22 15:31:56 2020 (r364485) @@ -1134,6 +1134,7 @@ SRCS_MIN+= Target/BPF/BPFMCInstLower.cpp SRCS_MIN+= Target/BPF/BPFMIChecking.cpp SRCS_MIN+= Target/BPF/BPFMIPeephole.cpp SRCS_MIN+= Target/BPF/BPFMISimplifyPatchable.cpp +SRCS_MIN+= Target/BPF/BPFPreserveDIType.cpp SRCS_MIN+= Target/BPF/BPFRegisterInfo.cpp SRCS_MIN+= Target/BPF/BPFSelectionDAGInfo.cpp SRCS_MIN+= Target/BPF/BPFSubtarget.cpp From owner-svn-src-all@freebsd.org Sat Aug 22 16:57:45 2020 Return-Path: Delivered-To: svn-src-all@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 E49E73C06F8; Sat, 22 Aug 2020 16:57:45 +0000 (UTC) (envelope-from mjg@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 4BYl1j5cC8z4rJf; Sat, 22 Aug 2020 16:57:45 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A0DE018F7C; Sat, 22 Aug 2020 16:57:45 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MGvje3086116; Sat, 22 Aug 2020 16:57:45 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MGvjBm086115; Sat, 22 Aug 2020 16:57:45 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008221657.07MGvjBm086115@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 22 Aug 2020 16:57:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364486 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364486 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 16:57:46 -0000 Author: mjg Date: Sat Aug 22 16:57:45 2020 New Revision: 364486 URL: https://svnweb.freebsd.org/changeset/base/364486 Log: fd: pwd_drop after releasing filedesc lock Fixes a potential LOR against vnode lock. Modified: head/sys/kern/kern_descrip.c Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Sat Aug 22 15:31:56 2020 (r364485) +++ head/sys/kern/kern_descrip.c Sat Aug 22 16:57:45 2020 (r364486) @@ -3957,7 +3957,6 @@ kern_proc_filedesc_out(struct proc *p, struct sbuf *s vrefact(pwd->pwd_jdir); export_vnode_to_sb(pwd->pwd_jdir, KF_FD_TYPE_JAIL, FREAD, efbuf); } - pwd_drop(pwd); } lastfile = fdlastfile(fdp); for (i = 0; fdp->fd_refcnt > 0 && i <= lastfile; i++) { @@ -3979,6 +3978,8 @@ kern_proc_filedesc_out(struct proc *p, struct sbuf *s break; } FILEDESC_SUNLOCK(fdp); + if (pwd != NULL) + pwd_drop(pwd); fddrop(fdp); fail: free(efbuf, M_TEMP); @@ -4100,7 +4101,6 @@ sysctl_kern_proc_ofiledesc(SYSCTL_HANDLER_ARGS) if (pwd->pwd_jdir != NULL) export_vnode_for_osysctl(pwd->pwd_jdir, KF_FD_TYPE_JAIL, kif, okif, fdp, req); - pwd_drop(pwd); } lastfile = fdlastfile(fdp); for (i = 0; fdp->fd_refcnt > 0 && i <= lastfile; i++) { @@ -4116,6 +4116,8 @@ sysctl_kern_proc_ofiledesc(SYSCTL_HANDLER_ARGS) break; } FILEDESC_SUNLOCK(fdp); + if (pwd != NULL) + pwd_drop(pwd); fddrop(fdp); free(kif, M_TEMP); free(okif, M_TEMP); From owner-svn-src-all@freebsd.org Sat Aug 22 16:58:34 2020 Return-Path: Delivered-To: svn-src-all@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 CB5893C0A22; Sat, 22 Aug 2020 16:58:34 +0000 (UTC) (envelope-from mjg@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 4BYl2f511Zz4r5l; Sat, 22 Aug 2020 16:58:34 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8F8041971E; Sat, 22 Aug 2020 16:58:34 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MGwYv9086199; Sat, 22 Aug 2020 16:58:34 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MGwYOJ086198; Sat, 22 Aug 2020 16:58:34 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008221658.07MGwYOJ086198@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 22 Aug 2020 16:58:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364487 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364487 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 16:58:34 -0000 Author: mjg Date: Sat Aug 22 16:58:34 2020 New Revision: 364487 URL: https://svnweb.freebsd.org/changeset/base/364487 Log: cache: stronger vnode asserts in cache_enter_time Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Sat Aug 22 16:57:45 2020 (r364486) +++ head/sys/kern/vfs_cache.c Sat Aug 22 16:58:34 2020 (r364487) @@ -1892,10 +1892,12 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, u_long lnumcache; CTR3(KTR_VFS, "cache_enter(%p, %p, %s)", dvp, vp, cnp->cn_nameptr); - VNASSERT(vp == NULL || !VN_IS_DOOMED(vp), vp, - ("cache_enter: Adding a doomed vnode")); - VNASSERT(dvp == NULL || !VN_IS_DOOMED(dvp), dvp, - ("cache_enter: Doomed vnode used as src")); + VNPASS(!VN_IS_DOOMED(dvp), dvp); + VNPASS(dvp->v_type != VNON, dvp); + if (vp != NULL) { + VNPASS(!VN_IS_DOOMED(vp), vp); + VNPASS(vp->v_type != VNON, vp); + } #ifdef DEBUG_CACHE if (__predict_false(!doingcache)) From owner-svn-src-all@freebsd.org Sat Aug 22 16:58:59 2020 Return-Path: Delivered-To: svn-src-all@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 D115E3C0D9E; Sat, 22 Aug 2020 16:58:59 +0000 (UTC) (envelope-from mjg@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 4BYl37555vz4rT6; Sat, 22 Aug 2020 16:58:59 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 91D3319459; Sat, 22 Aug 2020 16:58:59 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MGwxVx086258; Sat, 22 Aug 2020 16:58:59 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MGwxKd086257; Sat, 22 Aug 2020 16:58:59 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008221658.07MGwxKd086257@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 22 Aug 2020 16:58:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364488 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364488 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 16:58:59 -0000 Author: mjg Date: Sat Aug 22 16:58:59 2020 New Revision: 364488 URL: https://svnweb.freebsd.org/changeset/base/364488 Log: vfs: assert that HASBUF is only set with SAVENAME or SAVESTART as requested by the caller. The intent is to eradicate the mostly spurious NDFREE_PNBUF calls. Modified: head/sys/kern/vfs_lookup.c Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Aug 22 16:58:34 2020 (r364487) +++ head/sys/kern/vfs_lookup.c Sat Aug 22 16:58:59 2020 (r364488) @@ -1384,6 +1384,7 @@ NDFREE_PNBUF(struct nameidata *ndp) { if ((ndp->ni_cnd.cn_flags & HASBUF) != 0) { + MPASS((ndp->ni_cnd.cn_flags & (SAVENAME | SAVESTART)) != 0); uma_zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); ndp->ni_cnd.cn_flags &= ~HASBUF; } From owner-svn-src-all@freebsd.org Sat Aug 22 18:14:06 2020 Return-Path: Delivered-To: svn-src-all@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 9898A3C24D2; Sat, 22 Aug 2020 18:14:06 +0000 (UTC) (envelope-from melifaro@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 4BYmjp3dDfz4vQx; Sat, 22 Aug 2020 18:14:06 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 60C171A721; Sat, 22 Aug 2020 18:14:06 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MIE62X035276; Sat, 22 Aug 2020 18:14:06 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MIE6vK035275; Sat, 22 Aug 2020 18:14:06 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202008221814.07MIE6vK035275@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 22 Aug 2020 18:14:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364489 - head/tests/sys/net/routing X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/tests/sys/net/routing X-SVN-Commit-Revision: 364489 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 18:14:06 -0000 Author: melifaro Date: Sat Aug 22 18:14:05 2020 New Revision: 364489 URL: https://svnweb.freebsd.org/changeset/base/364489 Log: Add test for checking RTF_HOST and RTAX_NETMASK inconsistency. RTF_HOST indicates whether route is a host route (netmask is empty or /{32,128}). Check that if netmask is empty and host route is not specified, kernel returns an error. Differential Revision: https://reviews.freebsd.org/D26155 Modified: head/tests/sys/net/routing/test_rtsock_l3.c Modified: head/tests/sys/net/routing/test_rtsock_l3.c ============================================================================== --- head/tests/sys/net/routing/test_rtsock_l3.c Sat Aug 22 16:58:59 2020 (r364488) +++ head/tests/sys/net/routing/test_rtsock_l3.c Sat Aug 22 18:14:05 2020 (r364489) @@ -365,7 +365,6 @@ ATF_TC_BODY(rtm_get_v4_empty_dst_failure, tc) (struct sockaddr *)&c->mask4, NULL); rtsock_update_rtm_len(rtm); - write(c->rtsock_fd, rtm, rtm->rtm_msglen); ATF_CHECK_ERRNO(EINVAL, write(c->rtsock_fd, rtm, rtm->rtm_msglen)); } @@ -441,6 +440,30 @@ ATF_TC_CLEANUP(rtm_add_v4_gw_direct_success, tc) CLEANUP_AFTER_TEST; } +RTM_DECLARE_ROOT_TEST(rtm_add_v4_no_rtf_host_failure, + "Tests failure with netmask sa and RTF_HOST inconsistency"); + +ATF_TC_BODY(rtm_add_v4_no_rtf_host_failure, tc) +{ + DECLARE_TEST_VARS; + + c = presetup_ipv4(tc); + + /* Create IPv4 subnetwork with smaller prefix */ + struct sockaddr_in mask4; + struct sockaddr_in net4; + struct sockaddr_in gw4; + prepare_v4_network(c, &net4, &mask4, &gw4); + + prepare_route_message(rtm, RTM_ADD, (struct sockaddr *)&net4, + NULL, (struct sockaddr *)&gw4); + rtsock_update_rtm_len(rtm); + + /* RTF_HOST is NOT specified, while netmask is empty */ + + ATF_CHECK_ERRNO(EINVAL, write(c->rtsock_fd, rtm, rtm->rtm_msglen)); +} + ATF_TC_WITH_CLEANUP(rtm_del_v4_prefix_nogw_success); ATF_TC_HEAD(rtm_del_v4_prefix_nogw_success, tc) { @@ -1269,6 +1292,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, rtm_get_v4_lpm_success); ATF_TP_ADD_TC(tp, rtm_get_v4_hostbits_failure); ATF_TP_ADD_TC(tp, rtm_get_v4_empty_dst_failure); + ATF_TP_ADD_TC(tp, rtm_add_v4_no_rtf_host_failure); ATF_TP_ADD_TC(tp, rtm_add_v4_gw_direct_success); ATF_TP_ADD_TC(tp, rtm_del_v4_prefix_nogw_success); ATF_TP_ADD_TC(tp, rtm_add_v6_gu_gw_gu_direct_success); From owner-svn-src-all@freebsd.org Sat Aug 22 19:02:16 2020 Return-Path: Delivered-To: svn-src-all@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 5EDB73C2FE6; Sat, 22 Aug 2020 19:02:16 +0000 (UTC) (envelope-from imp@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 4BYnnN1pNQz3SsM; Sat, 22 Aug 2020 19:02:16 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2140C1AF24; Sat, 22 Aug 2020 19:02:16 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MJ2Ghv065543; Sat, 22 Aug 2020 19:02:16 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MJ2FgE065542; Sat, 22 Aug 2020 19:02:15 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008221902.07MJ2FgE065542@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 22 Aug 2020 19:02:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364490 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364490 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 19:02:16 -0000 Author: imp Date: Sat Aug 22 19:02:15 2020 New Revision: 364490 URL: https://svnweb.freebsd.org/changeset/base/364490 Log: Retire obsolete sysctl hw.bus.devctl_disable hw.bus.devctl_disable has tagged been obsolete for a decade. Remove it. Also remove some long obsolete comments. This was done and backed out once in 2014, but we've had enough releases with the 'new' method of setting queue length that we can just remove this sysctl now (stable/11, stable/12 and current all don't reference it). Modified: head/sys/kern/subr_bus.c Modified: head/sys/kern/subr_bus.c ============================================================================== --- head/sys/kern/subr_bus.c Sat Aug 22 18:14:05 2020 (r364489) +++ head/sys/kern/subr_bus.c Sat Aug 22 19:02:15 2020 (r364490) @@ -365,22 +365,9 @@ device_sysctl_fini(device_t dev) * * Also note: we specifically do not attach a device to the device_t tree * to avoid potential chicken and egg problems. One could argue that all - * of this belongs to the root node. One could also further argue that the - * sysctl interface that we have not might more properly be an ioctl - * interface, but at this stage of the game, I'm not inclined to rock that - * boat. - * - * I'm also not sure that the SIGIO support is done correctly or not, as - * I copied it from a driver that had SIGIO support that likely hasn't been - * tested since 3.4 or 2.2.8! + * of this belongs to the root node. */ -/* Deprecated way to adjust queue length */ -static int sysctl_devctl_disable(SYSCTL_HANDLER_ARGS); -SYSCTL_PROC(_hw_bus, OID_AUTO, devctl_disable, CTLTYPE_INT | CTLFLAG_RWTUN | - CTLFLAG_MPSAFE, NULL, 0, sysctl_devctl_disable, "I", - "devctl disable -- deprecated"); - #define DEVCTL_DEFAULT_QUEUE_LEN 1000 static int sysctl_devctl_queue(SYSCTL_HANDLER_ARGS); static int devctl_queue_length = DEVCTL_DEFAULT_QUEUE_LEN; @@ -796,35 +783,6 @@ static void devnomatch(device_t dev) { devaddq("?", "", dev); -} - -static int -sysctl_devctl_disable(SYSCTL_HANDLER_ARGS) -{ - struct dev_event_info *n1; - int dis, error; - - dis = (devctl_queue_length == 0); - error = sysctl_handle_int(oidp, &dis, 0, req); - if (error || !req->newptr) - return (error); - if (mtx_initialized(&devsoftc.mtx)) - mtx_lock(&devsoftc.mtx); - if (dis) { - while (!STAILQ_EMPTY(&devsoftc.devq)) { - n1 = STAILQ_FIRST(&devsoftc.devq); - STAILQ_REMOVE_HEAD(&devsoftc.devq, dei_link); - free(n1->dei_data, M_BUS); - free(n1, M_BUS); - } - devsoftc.queued = 0; - devctl_queue_length = 0; - } else { - devctl_queue_length = DEVCTL_DEFAULT_QUEUE_LEN; - } - if (mtx_initialized(&devsoftc.mtx)) - mtx_unlock(&devsoftc.mtx); - return (0); } static int From owner-svn-src-all@freebsd.org Sat Aug 22 19:18:32 2020 Return-Path: Delivered-To: svn-src-all@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 10BBA3C36C4; Sat, 22 Aug 2020 19:18:32 +0000 (UTC) (envelope-from imp@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 4BYp876gcyz3Tkw; Sat, 22 Aug 2020 19:18:31 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C412B1B066; Sat, 22 Aug 2020 19:18:31 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MJIVws071787; Sat, 22 Aug 2020 19:18:31 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MJIVHP071786; Sat, 22 Aug 2020 19:18:31 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202008221918.07MJIVHP071786@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 22 Aug 2020 19:18:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364491 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 364491 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 19:18:32 -0000 Author: imp Date: Sat Aug 22 19:18:31 2020 New Revision: 364491 URL: https://svnweb.freebsd.org/changeset/base/364491 Log: Whitespace change to line up dev_sotfc definition. Modified: head/sys/kern/subr_bus.c Modified: head/sys/kern/subr_bus.c ============================================================================== --- head/sys/kern/subr_bus.c Sat Aug 22 19:02:15 2020 (r364490) +++ head/sys/kern/subr_bus.c Sat Aug 22 19:18:31 2020 (r364491) @@ -402,15 +402,15 @@ STAILQ_HEAD(devq, dev_event_info); static struct dev_softc { - int inuse; - int nonblock; - int queued; - int async; - struct mtx mtx; - struct cv cv; - struct selinfo sel; - struct devq devq; - struct sigio *sigio; + int inuse; + int nonblock; + int queued; + int async; + struct mtx mtx; + struct cv cv; + struct selinfo sel; + struct devq devq; + struct sigio *sigio; } devsoftc; static void filt_devctl_detach(struct knote *kn); From owner-svn-src-all@freebsd.org Sat Aug 22 19:30:57 2020 Return-Path: Delivered-To: svn-src-all@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 B98A03C3BF6; Sat, 22 Aug 2020 19:30:57 +0000 (UTC) (envelope-from melifaro@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 4BYpQT4W27z3VCb; Sat, 22 Aug 2020 19:30:57 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7EA7C1B50E; Sat, 22 Aug 2020 19:30:57 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MJUvq5079169; Sat, 22 Aug 2020 19:30:57 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MJUu1x079063; Sat, 22 Aug 2020 19:30:56 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202008221930.07MJUu1x079063@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 22 Aug 2020 19:30:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364492 - in head/sys/net: . route X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head/sys/net: . route X-SVN-Commit-Revision: 364492 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 19:30:57 -0000 Author: melifaro Date: Sat Aug 22 19:30:56 2020 New Revision: 364492 URL: https://svnweb.freebsd.org/changeset/base/364492 Log: Rename rt_flags to rte_flags && reduce number of rt_nhop accesses. No functional changes. Most of the routing flags are stored in the netxtop instead of rtentry. Rename rt->rt_flags to rt->rte_flags to simplify reading/modifying code checking routing flags. In the new multipath code, rt->rt_nhop may actually point to nexthop group instead of nhop. To ease transition, reduce the amount of rt->rt_nhop->... accesses. Differential Revision: https://reviews.freebsd.org/D26156 Modified: head/sys/net/route.c head/sys/net/route/route_ctl.c head/sys/net/route/route_ddb.c head/sys/net/route/route_var.h head/sys/net/rtsock.c Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Sat Aug 22 19:18:31 2020 (r364491) +++ head/sys/net/route.c Sat Aug 22 19:30:56 2020 (r364492) @@ -243,7 +243,7 @@ rib_add_redirect(u_int fibnum, struct sockaddr *dst, s } RT_LOCK(rc.rc_rt); - flags = rc.rc_rt->rt_flags; + flags = rc.rc_rt->rte_flags; RT_UNLOCK(rc.rc_rt); RTSTAT_INC(rts_dynamic); @@ -354,6 +354,7 @@ rt_exportinfo(struct rtentry *rt, struct rt_addrinfo * struct nhop_object *nh; int sa_len; + nh = rt->rt_nhop; if (flags & NHR_COPY) { /* Copy destination if dst is non-zero */ src = rt_key(rt); @@ -383,9 +384,10 @@ rt_exportinfo(struct rtentry *rt, struct rt_addrinfo * } /* Copy gateway is set && dst is non-zero */ - src = &rt->rt_nhop->gw_sa; + src = &nh->gw_sa; dst = info->rti_info[RTAX_GATEWAY]; - if ((rt->rt_flags & RTF_GATEWAY) && src != NULL && dst != NULL){ + if ((nhop_get_rtflags(nh) & RTF_GATEWAY) && + src != NULL && dst != NULL) { if (src->sa_len > dst->sa_len) return (ENOMEM); memcpy(dst, src, src->sa_len); @@ -398,20 +400,19 @@ rt_exportinfo(struct rtentry *rt, struct rt_addrinfo * info->rti_info[RTAX_NETMASK] = rt_mask(rt); info->rti_addrs |= RTA_NETMASK; } - if (rt->rt_flags & RTF_GATEWAY) { - info->rti_info[RTAX_GATEWAY] = &rt->rt_nhop->gw_sa; + if (nhop_get_rtflags(nh) & RTF_GATEWAY) { + info->rti_info[RTAX_GATEWAY] = &nh->gw_sa; info->rti_addrs |= RTA_GATEWAY; } } - nh = rt->rt_nhop; rmx = info->rti_rmx; if (rmx != NULL) { info->rti_mflags |= RTV_MTU; rmx->rmx_mtu = nh->nh_mtu; } - info->rti_flags = rt->rt_flags | nhop_get_rtflags(nh); + info->rti_flags = rt->rte_flags | nhop_get_rtflags(nh); info->rti_ifp = nh->nh_ifp; info->rti_ifa = nh->nh_ifa; if (flags & NHR_REF) { @@ -579,7 +580,7 @@ rt_ifdelroute(const struct rtentry *rt, const struct n * Protect (sorta) against walktree recursion problems * with cloned routes */ - if ((rt->rt_flags & RTF_UP) == 0) + if ((rt->rte_flags & RTF_UP) == 0) return (0); return (1); Modified: head/sys/net/route/route_ctl.c ============================================================================== --- head/sys/net/route/route_ctl.c Sat Aug 22 19:18:31 2020 (r364491) +++ head/sys/net/route/route_ctl.c Sat Aug 22 19:30:56 2020 (r364492) @@ -251,7 +251,7 @@ add_route(struct rib_head *rnh, struct rt_addrinfo *in return (ENOBUFS); } RT_LOCK_INIT(rt); - rt->rt_flags = RTF_UP | flags; + rt->rte_flags = RTF_UP | flags; rt->rt_nhop = nh; /* Fill in dst */ @@ -406,6 +406,7 @@ rt_unlinkrte(struct rib_head *rnh, struct rt_addrinfo { struct sockaddr *dst, *netmask; struct rtentry *rt; + struct nhop_object *nh; struct radix_node *rn; dst = info->rti_info[RTAX_DST]; @@ -417,16 +418,18 @@ rt_unlinkrte(struct rib_head *rnh, struct rt_addrinfo return (NULL); } + nh = rt->rt_nhop; + if ((info->rti_flags & RTF_PINNED) == 0) { /* Check if target route can be deleted */ - if (rt->rt_flags & RTF_PINNED) { + if (NH_IS_PINNED(nh)) { *perror = EADDRINUSE; return (NULL); } } if (info->rti_filter != NULL) { - if (info->rti_filter(rt, rt->rt_nhop, info->rti_filterdata)==0){ + if (info->rti_filter(rt, nh, info->rti_filterdata)==0){ /* Not matched */ *perror = ENOENT; return (NULL); @@ -437,7 +440,7 @@ rt_unlinkrte(struct rib_head *rnh, struct rt_addrinfo * Ease the caller work by filling in remaining info * from that particular entry. */ - info->rti_info[RTAX_GATEWAY] = &rt->rt_nhop->gw_sa; + info->rti_info[RTAX_GATEWAY] = &nh->gw_sa; } /* @@ -459,7 +462,7 @@ rt_unlinkrte(struct rib_head *rnh, struct rt_addrinfo rt = RNTORT(rn); RT_LOCK(rt); - rt->rt_flags &= ~RTF_UP; + rt->rte_flags &= ~RTF_UP; *perror = 0; Modified: head/sys/net/route/route_ddb.c ============================================================================== --- head/sys/net/route/route_ddb.c Sat Aug 22 19:18:31 2020 (r364491) +++ head/sys/net/route/route_ddb.c Sat Aug 22 19:30:56 2020 (r364492) @@ -148,18 +148,17 @@ rt_dumpentry_ddb(struct radix_node *rn, void *arg __un } db_printf("flags "); - flags = rt->rt_flags; + flags = rt->rte_flags | nhop_get_rtflags(nh); if (flags == 0) db_printf("none"); while ((idx = ffs(flags)) > 0) { idx--; - if (flags != rt->rt_flags) - db_printf(","); db_printf("%s", rt_flag_name(idx)); - flags &= ~(1ul << idx); + if (flags != 0) + db_printf(","); } db_printf("\n"); Modified: head/sys/net/route/route_var.h ============================================================================== --- head/sys/net/route/route_var.h Sat Aug 22 19:18:31 2020 (r364491) +++ head/sys/net/route/route_var.h Sat Aug 22 19:30:56 2020 (r364492) @@ -165,7 +165,7 @@ struct rtentry { char rt_dstb[28]; }; - int rt_flags; /* up/down?, host/net */ + int rte_flags; /* up/down?, host/net */ u_long rt_weight; /* absolute weight */ u_long rt_expire; /* lifetime for route, e.g. redirect */ #define rt_endzero rt_mtx Modified: head/sys/net/rtsock.c ============================================================================== --- head/sys/net/rtsock.c Sat Aug 22 19:18:31 2020 (r364491) +++ head/sys/net/rtsock.c Sat Aug 22 19:30:56 2020 (r364492) @@ -179,7 +179,8 @@ static int sysctl_dumpentry(struct radix_node *rn, voi static int sysctl_iflist(int af, struct walkarg *w); static int sysctl_ifmalist(int af, struct walkarg *w); static int route_output(struct mbuf *m, struct socket *so, ...); -static void rt_getmetrics(const struct rtentry *rt, struct rt_metrics *out); +static void rt_getmetrics(const struct rtentry *rt, + const struct nhop_object *nh, struct rt_metrics *out); static void rt_dispatch(struct mbuf *, sa_family_t); static int handle_rtm_get(struct rt_addrinfo *info, u_int fibnum, struct rt_msghdr *rtm, struct rib_cmd_info *rc); @@ -814,12 +815,12 @@ update_rtm_from_rte(struct rt_addrinfo *info, struct r w.w_tmemsize = alloc_len; rtsock_msg_buffer(rtm->rtm_type, info, &w, &len); - if (rt->rt_flags & RTF_GWFLAG_COMPAT) + if (rt->rte_flags & RTF_GWFLAG_COMPAT) rtm->rtm_flags = RTF_GATEWAY | - (rt->rt_flags & ~RTF_GWFLAG_COMPAT); + (rt->rte_flags & ~RTF_GWFLAG_COMPAT); else - rtm->rtm_flags = rt->rt_flags; - rt_getmetrics(rt, &rtm->rtm_rmx); + rtm->rtm_flags = rt->rte_flags; + rt_getmetrics(rt, nh, &rtm->rtm_rmx); rtm->rtm_addrs = info->rti_addrs; if (orig_rtm != NULL) @@ -1055,13 +1056,14 @@ send_rtm_reply(struct socket *so, struct rt_msghdr *rt static void -rt_getmetrics(const struct rtentry *rt, struct rt_metrics *out) +rt_getmetrics(const struct rtentry *rt, const struct nhop_object *nh, + struct rt_metrics *out) { bzero(out, sizeof(*out)); - out->rmx_mtu = rt->rt_nhop->nh_mtu; + out->rmx_mtu = nh->nh_mtu; out->rmx_weight = rt->rt_weight; - out->rmx_nhidx = nhop_get_idx(rt->rt_nhop); + out->rmx_nhidx = nhop_get_idx(nh); /* Kernel -> userland timebase conversion. */ out->rmx_expire = rt->rt_expire ? rt->rt_expire - time_uptime + time_second : 0; @@ -1472,15 +1474,17 @@ rtsock_routemsg(int cmd, struct rtentry *rt, struct if { struct sockaddr_storage ss; struct rt_addrinfo info; + struct nhop_object *nh; if (V_route_cb.any_count == 0) return (0); + nh = rt->rt_nhop; bzero((caddr_t)&info, sizeof(info)); info.rti_info[RTAX_DST] = rt_key(rt); info.rti_info[RTAX_NETMASK] = rtsock_fix_netmask(rt_key(rt), rt_mask(rt), &ss); - info.rti_info[RTAX_GATEWAY] = &rt->rt_nhop->gw_sa; - info.rti_flags = rt->rt_flags; + info.rti_info[RTAX_GATEWAY] = &nh->gw_sa; + info.rti_flags = rt->rte_flags | nhop_get_rtflags(nh); info.rti_ifp = ifp; return (rtsock_routemsg_info(cmd, &info, fibnum)); @@ -1681,7 +1685,7 @@ static int can_export_rte(struct ucred *td_ucred, const struct rtentry *rt) { - if ((rt->rt_flags & RTF_HOST) == 0 + if ((rt->rte_flags & RTF_HOST) == 0 ? jailed_without_vnet(td_ucred) : prison_if(td_ucred, rt_key_const(rt)) != 0) return (0); @@ -1703,17 +1707,17 @@ sysctl_dumpentry(struct radix_node *rn, void *vw) NET_EPOCH_ASSERT(); - if (w->w_op == NET_RT_FLAGS && !(rt->rt_flags & w->w_arg)) + if (w->w_op == NET_RT_FLAGS && !(rt->rte_flags & w->w_arg)) return 0; if (!can_export_rte(w->w_req->td->td_ucred, rt)) return (0); + nh = rt->rt_nhop; bzero((caddr_t)&info, sizeof(info)); info.rti_info[RTAX_DST] = rt_key(rt); - info.rti_info[RTAX_GATEWAY] = &rt->rt_nhop->gw_sa; + info.rti_info[RTAX_GATEWAY] = &nh->gw_sa; info.rti_info[RTAX_NETMASK] = rtsock_fix_netmask(rt_key(rt), rt_mask(rt), &ss); info.rti_info[RTAX_GENMASK] = 0; - nh = rt->rt_nhop; if (nh->nh_ifp && !(nh->nh_ifp->if_flags & IFF_DYING)) { info.rti_info[RTAX_IFP] = nh->nh_ifp->if_addr->ifa_addr; info.rti_info[RTAX_IFA] = nh->nh_ifa->ifa_addr; @@ -1727,13 +1731,13 @@ sysctl_dumpentry(struct radix_node *rn, void *vw) bzero(&rtm->rtm_index, sizeof(*rtm) - offsetof(struct rt_msghdr, rtm_index)); - if (rt->rt_flags & RTF_GWFLAG_COMPAT) + if (rt->rte_flags & RTF_GWFLAG_COMPAT) rtm->rtm_flags = RTF_GATEWAY | - (rt->rt_flags & ~RTF_GWFLAG_COMPAT); + (rt->rte_flags & ~RTF_GWFLAG_COMPAT); else - rtm->rtm_flags = rt->rt_flags; + rtm->rtm_flags = rt->rte_flags; rtm->rtm_flags |= nhop_get_rtflags(nh); - rt_getmetrics(rt, &rtm->rtm_rmx); + rt_getmetrics(rt, nh, &rtm->rtm_rmx); rtm->rtm_index = nh->nh_ifp->if_index; rtm->rtm_addrs = info.rti_addrs; error = SYSCTL_OUT(w->w_req, (caddr_t)rtm, size); From owner-svn-src-all@freebsd.org Sat Aug 22 20:02:41 2020 Return-Path: Delivered-To: svn-src-all@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 2AA153C471E; Sat, 22 Aug 2020 20:02:41 +0000 (UTC) (envelope-from melifaro@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 4BYq750G5kz3Wcn; Sat, 22 Aug 2020 20:02:41 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E06091B7FD; Sat, 22 Aug 2020 20:02:40 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MK2ejn002800; Sat, 22 Aug 2020 20:02:40 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MK2eAj002799; Sat, 22 Aug 2020 20:02:40 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202008222002.07MK2eAj002799@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 22 Aug 2020 20:02:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364493 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 364493 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 20:02:41 -0000 Author: melifaro Date: Sat Aug 22 20:02:40 2020 New Revision: 364493 URL: https://svnweb.freebsd.org/changeset/base/364493 Log: Finish r364492 by renaming rt_flags to rte_flags for multipath code. Modified: head/sys/net/route.c Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Sat Aug 22 19:30:56 2020 (r364492) +++ head/sys/net/route.c Sat Aug 22 20:02:40 2020 (r364493) @@ -812,9 +812,9 @@ rt_mpath_unlink(struct rib_head *rnh, struct rt_addrin if (rn) { rto = RNTORT(rn); RT_LOCK(rto); - rto->rt_flags |= RTF_UP; + rto->rte_flags |= RTF_UP; RT_UNLOCK(rto); - } else if (rt->rt_flags & RTF_GATEWAY) { + } else if (rt->rte_flags & RTF_GATEWAY) { /* * For gateway routes, we need to * make sure that we we are deleting From owner-svn-src-all@freebsd.org Sat Aug 22 20:52:03 2020 Return-Path: Delivered-To: svn-src-all@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 A672E3C54AD; Sat, 22 Aug 2020 20:52:03 +0000 (UTC) (envelope-from emaste@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 4BYrD33nmyz3Yyv; Sat, 22 Aug 2020 20:52:03 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64D001C3B7; Sat, 22 Aug 2020 20:52:03 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MKq3fl033398; Sat, 22 Aug 2020 20:52:03 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MKq3Iv033397; Sat, 22 Aug 2020 20:52:03 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008222052.07MKq3Iv033397@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 22 Aug 2020 20:52:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364494 - head/contrib/mtree X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/contrib/mtree X-SVN-Commit-Revision: 364494 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 20:52:03 -0000 Author: emaste Date: Sat Aug 22 20:52:02 2020 New Revision: 364494 URL: https://svnweb.freebsd.org/changeset/base/364494 Log: mtree(8): add xref to mtree(5) mtree(5) and mtree(8) come from different contrib sources. The former already had an xref to the latter, but not the other way around. MFC after: 1 week Modified: head/contrib/mtree/mtree.8 Modified: head/contrib/mtree/mtree.8 ============================================================================== --- head/contrib/mtree/mtree.8 Sat Aug 22 20:02:40 2020 (r364493) +++ head/contrib/mtree/mtree.8 Sat Aug 22 20:52:02 2020 (r364494) @@ -748,6 +748,7 @@ seconds.nanoseconds without zero padding nanosecond va .Xr fnmatch 3 , .Xr fts 3 , .Xr strsvis 3 , +.Xr mtree 5 , .Xr chown 8 , .Xr mknod 8 .Sh HISTORY From owner-svn-src-all@freebsd.org Sat Aug 22 21:32:12 2020 Return-Path: Delivered-To: svn-src-all@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 8BCB03C5B6B; Sat, 22 Aug 2020 21:32:12 +0000 (UTC) (envelope-from kib@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 4BYs6N39t0z3brh; Sat, 22 Aug 2020 21:32:12 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 50F941CD80; Sat, 22 Aug 2020 21:32:12 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MLWCDD055441; Sat, 22 Aug 2020 21:32:12 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MLWBQV055438; Sat, 22 Aug 2020 21:32:11 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202008222132.07MLWBQV055438@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 22 Aug 2020 21:32:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364495 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 364495 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 21:32:12 -0000 Author: kib Date: Sat Aug 22 21:32:11 2020 New Revision: 364495 URL: https://svnweb.freebsd.org/changeset/base/364495 Log: Fix several issues with process group orphanage. Attempt of adding assertions that pgrp->pg_jobc counters do not underflow in r361967, reverted in r362910, points out bugs in the handling of job control. Peter Holm was able to narrow down the problem to very easy reproduction with timeout(1) which uses reaping. The following list of problems with calculation of pg_jobs which directs SIGHUP/SIGCONT delivery for orphaned process group was identified: - Re-calculation of the orphaned status for children of exiting parent was wrong, but mostly unnoticed when all children were reparented to init(8). When child can be reparented to a different process which could affect the child' job control state, it was not properly accounted for in pg_jobc. - Lockless check for exiting process' parent process group is racy because nothing prevents the parent from changing its group membership. - Exited process is left in the process group, until waited. This affects other calculations of pg_jobc. Split handling of job control status on process changing its process group, and process exiting. Calculate increments and decrements for pg_jobs by exact checking the orphanage instead of assuming process group membership for children and parent. Move the call to killjobc() later under the proctree_lock. Mark exiting process in killjobc() with a new flag P_TREE_GRPEXITED and skip it for all pg_jobc calculations after the flag is set. Add checker that independently recalculates pg_jobc value and compares it with the memoized process group state. This is enabled under INVARIANTS. Reviewed by: jilles Discussed with: kevans Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D26116 Modified: head/sys/kern/kern_exit.c head/sys/kern/kern_proc.c head/sys/sys/proc.h Modified: head/sys/kern/kern_exit.c ============================================================================== --- head/sys/kern/kern_exit.c Sat Aug 22 20:52:02 2020 (r364494) +++ head/sys/kern/kern_exit.c Sat Aug 22 21:32:11 2020 (r364495) @@ -391,7 +391,6 @@ exit1(struct thread *td, int rval, int signo) } vmspace_exit(td); - killjobc(); (void)acct_process(td); #ifdef KTRACE @@ -434,6 +433,12 @@ exit1(struct thread *td, int rval, int signo) PROC_LOCK(p); p->p_flag &= ~(P_TRACED | P_PPWAIT | P_PPTRACE); PROC_UNLOCK(p); + + /* + * killjobc() might drop and re-acquire proctree_lock to + * revoke control tty if exiting process was a session leader. + */ + killjobc(); /* * Reparent all children processes: Modified: head/sys/kern/kern_proc.c ============================================================================== --- head/sys/kern/kern_proc.c Sat Aug 22 20:52:02 2020 (r364494) +++ head/sys/kern/kern_proc.c Sat Aug 22 21:32:11 2020 (r364495) @@ -102,13 +102,14 @@ MALLOC_DEFINE(M_SESSION, "session", "session header"); static MALLOC_DEFINE(M_PROC, "proc", "Proc structures"); MALLOC_DEFINE(M_SUBPROC, "subproc", "Proc sub-structures"); +static void fixjobc_enterpgrp(struct proc *p, struct pgrp *pgrp); static void doenterpgrp(struct proc *, struct pgrp *); static void orphanpg(struct pgrp *pg); static void fill_kinfo_aggregate(struct proc *p, struct kinfo_proc *kp); static void fill_kinfo_proc_only(struct proc *p, struct kinfo_proc *kp); static void fill_kinfo_thread(struct thread *td, struct kinfo_proc *kp, int preferthread); -static void pgadjustjobc(struct pgrp *pgrp, int entering); +static void pgadjustjobc(struct pgrp *pgrp, bool entering); static void pgdelete(struct pgrp *); static int proc_ctor(void *mem, int size, void *arg, int flags); static void proc_dtor(void *mem, int size, void *arg); @@ -633,6 +634,43 @@ enterthispgrp(struct proc *p, struct pgrp *pgrp) } /* + * If true, any child of q which belongs to group pgrp, qualifies the + * process group pgrp as not orphaned. + */ +static bool +isjobproc(struct proc *q, struct pgrp *pgrp) +{ + sx_assert(&proctree_lock, SX_LOCKED); + return (q->p_pgrp != pgrp && + q->p_pgrp->pg_session == pgrp->pg_session); +} + +#ifdef INVARIANTS +static void +check_pgrp_jobc(struct pgrp *pgrp) +{ + struct proc *q; + int cnt; + + sx_assert(&proctree_lock, SX_LOCKED); + PGRP_LOCK_ASSERT(pgrp, MA_NOTOWNED); + + cnt = 0; + PGRP_LOCK(pgrp); + LIST_FOREACH(q, &pgrp->pg_members, p_pglist) { + if ((q->p_treeflag & P_TREE_GRPEXITED) != 0 || + q->p_pptr == NULL) + continue; + if (isjobproc(q->p_pptr, pgrp)) + cnt++; + } + KASSERT(pgrp->pg_jobc == cnt, ("pgrp %d %p pg_jobc %d cnt %d", + pgrp->pg_id, pgrp, pgrp->pg_jobc, cnt)); + PGRP_UNLOCK(pgrp); +} +#endif + +/* * Move p to a process group */ static void @@ -648,13 +686,15 @@ doenterpgrp(struct proc *p, struct pgrp *pgrp) savepgrp = p->p_pgrp; +#ifdef INVARIANTS + check_pgrp_jobc(pgrp); + check_pgrp_jobc(savepgrp); +#endif + /* * Adjust eligibility of affected pgrps to participate in job control. - * Increment eligibility counts before decrementing, otherwise we - * could reach 0 spuriously during the first call. */ - fixjobc(p, pgrp, 1); - fixjobc(p, p->p_pgrp, 0); + fixjobc_enterpgrp(p, pgrp); PGRP_LOCK(pgrp); PGRP_LOCK(savepgrp); @@ -728,19 +768,15 @@ pgdelete(struct pgrp *pgrp) } static void -pgadjustjobc(struct pgrp *pgrp, int entering) +pgadjustjobc(struct pgrp *pgrp, bool entering) { PGRP_LOCK(pgrp); if (entering) { -#ifdef notyet MPASS(pgrp->pg_jobc >= 0); -#endif pgrp->pg_jobc++; } else { -#ifdef notyet MPASS(pgrp->pg_jobc > 0); -#endif --pgrp->pg_jobc; if (pgrp->pg_jobc == 0) orphanpg(pgrp); @@ -755,43 +791,95 @@ pgadjustjobc(struct pgrp *pgrp, int entering) * process group of the same session). If that count reaches zero, the * process group becomes orphaned. Check both the specified process' * process group and that of its children. - * entering == 0 => p is leaving specified group. - * entering == 1 => p is entering specified group. + * We increment eligibility counts before decrementing, otherwise we + * could reach 0 spuriously during the decrement. */ -void -fixjobc(struct proc *p, struct pgrp *pgrp, int entering) +static void +fixjobc_enterpgrp(struct proc *p, struct pgrp *pgrp) { - struct pgrp *hispgrp; - struct session *mysession; struct proc *q; + struct pgrp *childpgrp; + bool future_jobc; sx_assert(&proctree_lock, SX_LOCKED); PROC_LOCK_ASSERT(p, MA_NOTOWNED); PGRP_LOCK_ASSERT(pgrp, MA_NOTOWNED); SESS_LOCK_ASSERT(pgrp->pg_session, MA_NOTOWNED); + if (p->p_pgrp == pgrp) + return; + + if (isjobproc(p->p_pptr, pgrp)) + pgadjustjobc(pgrp, true); + LIST_FOREACH(q, &p->p_children, p_sibling) { + if ((q->p_treeflag & P_TREE_GRPEXITED) != 0) + continue; + childpgrp = q->p_pgrp; + future_jobc = childpgrp != pgrp && + childpgrp->pg_session == pgrp->pg_session; + if (!isjobproc(p, childpgrp) && future_jobc) + pgadjustjobc(childpgrp, true); + } + + if (isjobproc(p->p_pptr, p->p_pgrp)) + pgadjustjobc(p->p_pgrp, false); + LIST_FOREACH(q, &p->p_children, p_sibling) { + if ((q->p_treeflag & P_TREE_GRPEXITED) != 0) + continue; + childpgrp = q->p_pgrp; + future_jobc = childpgrp != pgrp && + childpgrp->pg_session == pgrp->pg_session; + if (isjobproc(p, childpgrp) && !future_jobc) + pgadjustjobc(childpgrp, false); + } +} + +static void +fixjobc_kill(struct proc *p) +{ + struct proc *q; + struct pgrp *childpgrp, *pgrp; + + sx_assert(&proctree_lock, SX_LOCKED); + PROC_LOCK_ASSERT(p, MA_NOTOWNED); + pgrp = p->p_pgrp; + PGRP_LOCK_ASSERT(pgrp, MA_NOTOWNED); + SESS_LOCK_ASSERT(pgrp->pg_session, MA_NOTOWNED); + /* + * p no longer affects process group orphanage for children. + * It is marked by the flag because p is only physically + * removed from its process group on wait(2). + */ + p->p_treeflag |= P_TREE_GRPEXITED; + + /* * Check p's parent to see whether p qualifies its own process * group; if so, adjust count for p's process group. */ - mysession = pgrp->pg_session; - if ((hispgrp = p->p_pptr->p_pgrp) != pgrp && - hispgrp->pg_session == mysession) - pgadjustjobc(pgrp, entering); + if (isjobproc(p->p_pptr, pgrp)) + pgadjustjobc(pgrp, false); /* * Check this process' children to see whether they qualify - * their process groups; if so, adjust counts for children's - * process groups. + * their process groups after reparenting to reaper. If so, + * adjust counts for children's process groups. */ LIST_FOREACH(q, &p->p_children, p_sibling) { - hispgrp = q->p_pgrp; - if (hispgrp == pgrp || - hispgrp->pg_session != mysession) + if ((q->p_treeflag & P_TREE_GRPEXITED) != 0) continue; - if (q->p_state == PRS_ZOMBIE) + childpgrp = q->p_pgrp; + if (isjobproc(q->p_reaper, childpgrp) && + !isjobproc(p, childpgrp)) + pgadjustjobc(childpgrp, true); + } + LIST_FOREACH(q, &p->p_children, p_sibling) { + if ((q->p_treeflag & P_TREE_GRPEXITED) != 0) continue; - pgadjustjobc(hispgrp, entering); + childpgrp = q->p_pgrp; + if (!isjobproc(q->p_reaper, childpgrp) && + isjobproc(p, childpgrp)) + pgadjustjobc(childpgrp, false); } } @@ -805,20 +893,8 @@ killjobc(void) p = curproc; MPASS(p->p_flag & P_WEXIT); - /* - * Do a quick check to see if there is anything to do with the - * proctree_lock held. pgrp and LIST_EMPTY checks are for fixjobc(). - */ - PROC_LOCK(p); - if (!SESS_LEADER(p) && - (p->p_pgrp == p->p_pptr->p_pgrp) && - LIST_EMPTY(&p->p_children)) { - PROC_UNLOCK(p); - return; - } - PROC_UNLOCK(p); + sx_assert(&proctree_lock, SX_LOCKED); - sx_xlock(&proctree_lock); if (SESS_LEADER(p)) { sp = p->p_session; @@ -864,8 +940,7 @@ killjobc(void) sx_xlock(&proctree_lock); } } - fixjobc(p, p->p_pgrp, 0); - sx_xunlock(&proctree_lock); + fixjobc_kill(p); } /* Modified: head/sys/sys/proc.h ============================================================================== --- head/sys/sys/proc.h Sat Aug 22 20:52:02 2020 (r364494) +++ head/sys/sys/proc.h Sat Aug 22 21:32:11 2020 (r364495) @@ -790,6 +790,7 @@ struct proc { #define P_TREE_FIRST_ORPHAN 0x00000002 /* First element of orphan list */ #define P_TREE_REAPER 0x00000004 /* Reaper of subtree */ +#define P_TREE_GRPEXITED 0x00000008 /* exit1() done with job ctl */ /* * These were process status values (p_stat), now they are only used in @@ -1045,7 +1046,6 @@ int enterpgrp(struct proc *p, pid_t pgid, struct pgrp struct session *sess); int enterthispgrp(struct proc *p, struct pgrp *pgrp); void faultin(struct proc *p); -void fixjobc(struct proc *p, struct pgrp *pgrp, int entering); int fork1(struct thread *, struct fork_req *); void fork_rfppwait(struct thread *); void fork_exit(void (*)(void *, struct trapframe *), void *,