From owner-svn-src-stable-12@freebsd.org Sun Aug 30 02:26:44 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 373013C49CA; Sun, 30 Aug 2020 02:26:44 +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 4BfHK00jWDz4PMH; Sun, 30 Aug 2020 02:26:44 +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 F0DF7F980; Sun, 30 Aug 2020 02:26:43 +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 07U2QhnH026126; Sun, 30 Aug 2020 02:26:43 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07U2QhAr026125; Sun, 30 Aug 2020 02:26:43 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008300226.07U2QhAr026125@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sun, 30 Aug 2020 02:26:43 +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: r364972 - stable/12/sys/netgraph/bluetooth/drivers/ubt X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/netgraph/bluetooth/drivers/ubt X-SVN-Commit-Revision: 364972 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2020 02:26:44 -0000 Author: markj Date: Sun Aug 30 02:26:43 2020 New Revision: 364972 URL: https://svnweb.freebsd.org/changeset/base/364972 Log: MFC r364509: ng_ubt: Add a device ID. PR: 248838 Modified: stable/12/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c ============================================================================== --- stable/12/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c Sun Aug 30 01:09:15 2020 (r364971) +++ stable/12/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c Sun Aug 30 02:26:43 2020 (r364972) @@ -508,6 +508,7 @@ static const STRUCT_USB_HOST_ID ubt_devs[] = { USB_VPI(USB_VENDOR_LITEON, 0x2003, 0) }, { USB_VPI(USB_VENDOR_FOXCONN, 0xe042, 0) }, { USB_VPI(USB_VENDOR_DELL, 0x8197, 0) }, + { USB_VPI(USB_VENDOR_BELKIN, 0x065a, 0) }, }; /* From owner-svn-src-stable-12@freebsd.org Sun Aug 30 16:27:59 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0C71E3C05ED; Sun, 30 Aug 2020 16:27:59 +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 4Bfdzf6WGFz49Zl; Sun, 30 Aug 2020 16:27:58 +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 C2EA219579; Sun, 30 Aug 2020 16:27:58 +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 07UGRwdR050678; Sun, 30 Aug 2020 16:27:58 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07UGRwQY050677; Sun, 30 Aug 2020 16:27:58 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202008301627.07UGRwQY050677@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 30 Aug 2020 16:27:58 +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: r364974 - stable/12/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: stable-12 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/12/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Commit-Revision: 364974 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2020 16:27:59 -0000 Author: asomers Date: Sun Aug 30 16:27:58 2020 New Revision: 364974 URL: https://svnweb.freebsd.org/changeset/base/364974 Log: MFC r364412: 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 Sponsored by: Axcient Differential Revision: https://reviews.freebsd.org/D26034 Modified: stable/12/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Directory Properties: stable/12/ (props changed) Modified: stable/12/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- stable/12/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Sun Aug 30 07:34:32 2020 (r364973) +++ stable/12/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Sun Aug 30 16:27:58 2020 (r364974) @@ -3433,7 +3433,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, 0); if (clp == NULL) { From owner-svn-src-stable-12@freebsd.org Mon Aug 31 00:59:03 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F18EF3D111A; Mon, 31 Aug 2020 00:59:03 +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 4BfsKM63bjz3Z58; Mon, 31 Aug 2020 00:59:03 +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 B309E1F5E9; Mon, 31 Aug 2020 00:59:03 +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 07V0x3Ln072567; Mon, 31 Aug 2020 00:59:03 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07V0x37I072565; Mon, 31 Aug 2020 00:59:03 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202008310059.07V0x37I072565@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 31 Aug 2020 00:59: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: r364981 - stable/12/sys/cam/scsi X-SVN-Group: stable-12 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/12/sys/cam/scsi X-SVN-Commit-Revision: 364981 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 00:59:04 -0000 Author: mav Date: Mon Aug 31 00:59:02 2020 New Revision: 364981 URL: https://svnweb.freebsd.org/changeset/base/364981 Log: MFC r364309: Extend EIIOE field handling according to ses4r5 draft. It should not affect any existing systems. Modified: stable/12/sys/cam/scsi/scsi_enc_ses.c stable/12/sys/cam/scsi/scsi_ses.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- stable/12/sys/cam/scsi/scsi_enc_ses.c Sun Aug 30 21:46:29 2020 (r364980) +++ stable/12/sys/cam/scsi/scsi_enc_ses.c Mon Aug 31 00:59:02 2020 (r364981) @@ -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: stable/12/sys/cam/scsi/scsi_ses.h ============================================================================== --- stable/12/sys/cam/scsi/scsi_ses.h Sun Aug 30 21:46:29 2020 (r364980) +++ stable/12/sys/cam/scsi/scsi_ses.h Mon Aug 31 00:59:02 2020 (r364981) @@ -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-stable-12@freebsd.org Mon Aug 31 05:25:14 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3C3E83D63B7; Mon, 31 Aug 2020 05:25:14 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BfzDV0t8wz44JS; Mon, 31 Aug 2020 05:25:14 +0000 (UTC) (envelope-from mckusick@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 0154F22AD5; Mon, 31 Aug 2020 05:25:14 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07V5PDU1039747; Mon, 31 Aug 2020 05:25:13 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07V5PD1w039746; Mon, 31 Aug 2020 05:25:13 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <202008310525.07V5PD1w039746@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Mon, 31 Aug 2020 05:25:13 +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: r364983 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 364983 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 05:25:14 -0000 Author: mckusick Date: Mon Aug 31 05:25:13 2020 New Revision: 364983 URL: https://svnweb.freebsd.org/changeset/base/364983 Log: MFC of 364895 Comment on when and why pathnames are deleted from the name cache. Modified: stable/12/sys/kern/vfs_lookup.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/vfs_lookup.c ============================================================================== --- stable/12/sys/kern/vfs_lookup.c Mon Aug 31 01:45:48 2020 (r364982) +++ stable/12/sys/kern/vfs_lookup.c Mon Aug 31 05:25:13 2020 (r364983) @@ -663,6 +663,16 @@ lookup(struct nameidata *ndp) wantparent = cnp->cn_flags & (LOCKPARENT | WANTPARENT); KASSERT(cnp->cn_nameiop == LOOKUP || wantparent, ("CREATE, DELETE, RENAME require LOCKPARENT or WANTPARENT.")); + /* + * When set to zero, docache causes the last component of the + * pathname to be deleted from the cache and the full lookup + * of the name to be done (via VOP_CACHEDLOOKUP()). Often + * filesystems need some pre-computed values that are made + * during the full lookup, for instance UFS sets dp->i_offset. + * + * The docache variable is set to zero when requested by the + * NOCACHE flag and for all modifying operations except CREATE. + */ docache = (cnp->cn_flags & NOCACHE) ^ NOCACHE; if (cnp->cn_nameiop == DELETE || (wantparent && cnp->cn_nameiop != CREATE && From owner-svn-src-stable-12@freebsd.org Mon Aug 31 12:14:20 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DCBF93BFC7D; Mon, 31 Aug 2020 12:14:20 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bg8JX5SK1z4RF8; Mon, 31 Aug 2020 12:14:20 +0000 (UTC) (envelope-from trasz@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 9F28E2767A; Mon, 31 Aug 2020 12:14:20 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07VCEKQr091306; Mon, 31 Aug 2020 12:14:20 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07VCEKao091305; Mon, 31 Aug 2020 12:14:20 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <202008311214.07VCEKao091305@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 31 Aug 2020 12:14:20 +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: r364985 - stable/12/libexec/rc/rc.d X-SVN-Group: stable-12 X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: stable/12/libexec/rc/rc.d X-SVN-Commit-Revision: 364985 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 12:14:20 -0000 Author: trasz Date: Mon Aug 31 12:14:20 2020 New Revision: 364985 URL: https://svnweb.freebsd.org/changeset/base/364985 Log: In 13-CURRENT, the linux rc script uses "nocover" mount option to avoid mounting required filesystems twice. However, this option hasn't been MFC'd. Implement its functionality in a different way, by stating the mount point. Submitted by: sigsys@gmail.com Differential Revision: https://reviews.freebsd.org/D26217 Modified: stable/12/libexec/rc/rc.d/linux Modified: stable/12/libexec/rc/rc.d/linux ============================================================================== --- stable/12/libexec/rc/rc.d/linux Mon Aug 31 09:05:45 2020 (r364984) +++ stable/12/libexec/rc/rc.d/linux Mon Aug 31 12:14:20 2020 (r364985) @@ -15,6 +15,12 @@ rcvar="linux_enable" start_cmd="${name}_start" stop_cmd=":" +unmounted() +{ + [ `stat -f "%d" "$1"` == `stat -f "%d" "$1/.."` -a \ + `stat -f "%i" "$1"` != `stat -f "%i" "$1/.."` ] +} + linux_start() { local _emul_path _tmpdir @@ -48,11 +54,12 @@ linux_start() if checkyesno linux_mounts_enable; then _emul_path="/compat/linux" - mount -t linprocfs linprocfs "${_emul_path}/proc" - mount -t linsysfs linsysfs "${_emul_path}/sys" - mount -t devfs devfs "${_emul_path}/dev" - mount -o linrdlnk -t fdescfs fdescfs "${_emul_path}/dev/fd" - mount -o mode=1777 -t tmpfs tmpfs "${_emul_path}/dev/shm" + unmounted "${_emul_path}/proc" && mount -t linprocfs linprocfs "${_emul_path}/proc" + unmounted "${_emul_path}/sys" && mount -t linsysfs linsysfs "${_emul_path}/sys" + unmounted "${_emul_path}/dev" && mount -t devfs devfs "${_emul_path}/dev" + unmounted "${_emul_path}/dev/fd" && mount -o linrdlnk -t fdescfs fdescfs "${_emul_path}/dev/fd" + unmounted "${_emul_path}/dev/shm" && mount -o mode=1777 -t tmpfs tmpfs "${_emul_path}/dev/shm" + true fi } From owner-svn-src-stable-12@freebsd.org Mon Aug 31 14:23:43 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9131E3C2D17; Mon, 31 Aug 2020 14:23:43 +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 4BgC9q3NXXz4Z83; Mon, 31 Aug 2020 14:23:43 +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 57E7491D0; Mon, 31 Aug 2020 14:23:43 +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 07VENhaZ072383; Mon, 31 Aug 2020 14:23:43 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07VENgqr072378; Mon, 31 Aug 2020 14:23:42 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008311423.07VENgqr072378@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 31 Aug 2020 14:23:42 +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: r364987 - stable/12/sys/vm X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/vm X-SVN-Commit-Revision: 364987 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 14:23:43 -0000 Author: markj Date: Mon Aug 31 14:23:41 2020 New Revision: 364987 URL: https://svnweb.freebsd.org/changeset/base/364987 Log: MFC r364302, r364306: Remove the VM map zone. Modified: stable/12/sys/vm/vm_extern.h stable/12/sys/vm/vm_init.c stable/12/sys/vm/vm_kern.c stable/12/sys/vm/vm_kern.h stable/12/sys/vm/vm_map.c stable/12/sys/vm/vm_map.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/vm/vm_extern.h ============================================================================== --- stable/12/sys/vm/vm_extern.h Mon Aug 31 13:53:14 2020 (r364986) +++ stable/12/sys/vm/vm_extern.h Mon Aug 31 14:23:41 2020 (r364987) @@ -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: stable/12/sys/vm/vm_init.c ============================================================================== --- stable/12/sys/vm/vm_init.c Mon Aug 31 13:53:14 2020 (r364986) +++ stable/12/sys/vm/vm_init.c Mon Aug 31 14:23:41 2020 (r364987) @@ -273,8 +273,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: stable/12/sys/vm/vm_kern.c ============================================================================== --- stable/12/sys/vm/vm_kern.c Mon Aug 31 13:53:14 2020 (r364986) +++ stable/12/sys/vm/vm_kern.c Mon Aug 31 14:23:41 2020 (r364987) @@ -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); @@ -357,9 +357,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: @@ -369,12 +369,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); @@ -383,14 +382,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"); } /* @@ -746,15 +742,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, (vm_ooffset_t) 0, + (void) vm_map_insert(kernel_map, NULL, (vm_ooffset_t) 0, #ifdef __amd64__ KERNBASE, #else @@ -762,7 +756,7 @@ kmem_init(vm_offset_t start, vm_offset_t end) #endif start, VM_PROT_ALL, VM_PROT_ALL, MAP_NOFAULT); /* ... and ending with the completion of the above `insert' */ - vm_map_unlock(m); + vm_map_unlock(kernel_map); /* * Initialize the kernel_arena. This can grow on demand. Modified: stable/12/sys/vm/vm_kern.h ============================================================================== --- stable/12/sys/vm/vm_kern.h Mon Aug 31 13:53:14 2020 (r364986) +++ stable/12/sys/vm/vm_kern.h Mon Aug 31 14:23:41 2020 (r364987) @@ -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: stable/12/sys/vm/vm_map.c ============================================================================== --- stable/12/sys/vm/vm_map.c Mon Aug 31 13:53:14 2020 (r364986) +++ stable/12/sys/vm/vm_map.c Mon Aug 31 14:23:41 2020 (r364987) @@ -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) @@ -878,24 +846,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. */ @@ -922,8 +872,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: stable/12/sys/vm/vm_map.h ============================================================================== --- stable/12/sys/vm/vm_map.h Mon Aug 31 13:53:14 2020 (r364986) +++ stable/12/sys/vm/vm_map.h Mon Aug 31 14:23:41 2020 (r364987) @@ -346,10 +346,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 */ @@ -413,7 +409,6 @@ long vmspace_resident_count(struct vmspace *vmspace); #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-stable-12@freebsd.org Mon Aug 31 14:47:23 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DE7A73C3AA9; Mon, 31 Aug 2020 14:47: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 4BgCj75Ysqz4bmW; Mon, 31 Aug 2020 14:47: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 A245596AD; Mon, 31 Aug 2020 14:47: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 07VElN4Y085288; Mon, 31 Aug 2020 14:47:23 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07VElNVt085287; Mon, 31 Aug 2020 14:47:23 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008311447.07VElNVt085287@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 31 Aug 2020 14:47:23 +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: r364988 - stable/12/sys/vm X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/vm X-SVN-Commit-Revision: 364988 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 14:47:23 -0000 Author: markj Date: Mon Aug 31 14:47:23 2020 New Revision: 364988 URL: https://svnweb.freebsd.org/changeset/base/364988 Log: Stop accounting for MAX_KMAP when allocating UMA boot pages. With r364987 kernel maps are allocated statically. In head, a different mechanism is used to bootstrap UMA. This is a direct commit to stable/12. Reported by: Jenkins Modified: stable/12/sys/vm/vm_page.c Modified: stable/12/sys/vm/vm_page.c ============================================================================== --- stable/12/sys/vm/vm_page.c Mon Aug 31 14:23:41 2020 (r364987) +++ stable/12/sys/vm/vm_page.c Mon Aug 31 14:47:23 2020 (r364988) @@ -590,9 +590,6 @@ vm_page_startup(vm_offset_t vaddr) #ifndef UMA_MD_SMALL_ALLOC /* vmem_startup() calls uma_prealloc(). */ boot_pages += vmem_startup_count(); - /* vm_map_startup() calls uma_prealloc(). */ - boot_pages += howmany(MAX_KMAP, - UMA_SLAB_SPACE / sizeof(struct vm_map)); /* * Before going fully functional kmem_init() does allocation From owner-svn-src-stable-12@freebsd.org Mon Aug 31 19:59:07 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AF9D53CBDFF; Mon, 31 Aug 2020 19:59:07 +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 4BgLcq4Dfwz42HM; Mon, 31 Aug 2020 19:59:07 +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 7455ED487; Mon, 31 Aug 2020 19:59:07 +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 07VJx7n4077137; Mon, 31 Aug 2020 19:59:07 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07VJx5Io077130; Mon, 31 Aug 2020 19:59:05 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202008311959.07VJx5Io077130@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 31 Aug 2020 19:59: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: r365007 - stable/12/sys/vm X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/vm X-SVN-Commit-Revision: 365007 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 19:59:07 -0000 Author: markj Date: Mon Aug 31 19:59:05 2020 New Revision: 365007 URL: https://svnweb.freebsd.org/changeset/base/365007 Log: Revert r364987, r364988. The removal of the kernel_map symbol breaks at least one out-of-tree module, the nvidia binary driver. Revert the removal for now to maintain KBI compatibility. Reported by: np Modified: stable/12/sys/vm/vm_extern.h stable/12/sys/vm/vm_init.c stable/12/sys/vm/vm_kern.c stable/12/sys/vm/vm_kern.h stable/12/sys/vm/vm_map.c stable/12/sys/vm/vm_map.h stable/12/sys/vm/vm_page.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/vm/vm_extern.h ============================================================================== --- stable/12/sys/vm/vm_extern.h Mon Aug 31 19:47:30 2020 (r365006) +++ stable/12/sys/vm/vm_extern.h Mon Aug 31 19:59:05 2020 (r365007) @@ -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); -void kmem_subinit(vm_map_t, vm_map_t, vm_offset_t *, vm_offset_t *, vm_size_t, - bool); +vm_map_t kmem_suballoc(vm_map_t, vm_offset_t *, vm_offset_t *, vm_size_t, + boolean_t); void kmem_init(vm_offset_t, vm_offset_t); void kmem_init_zero_region(void); void kmeminit(void); Modified: stable/12/sys/vm/vm_init.c ============================================================================== --- stable/12/sys/vm/vm_init.c Mon Aug 31 19:47:30 2020 (r365006) +++ stable/12/sys/vm/vm_init.c Mon Aug 31 19:59:05 2020 (r365007) @@ -273,8 +273,8 @@ again: exec_map_entries = 2 * mp_ncpus + 4; #endif exec_map_entry_size = round_page(PATH_MAX + ARG_MAX); - 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); + 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); } Modified: stable/12/sys/vm/vm_kern.c ============================================================================== --- stable/12/sys/vm/vm_kern.c Mon Aug 31 19:47:30 2020 (r365006) +++ stable/12/sys/vm/vm_kern.c Mon Aug 31 19:59:05 2020 (r365007) @@ -97,9 +97,9 @@ __FBSDID("$FreeBSD$"); #include #include -struct vm_map kernel_map_store; -struct vm_map exec_map_store; -struct vm_map pipe_map_store; +vm_map_t kernel_map; +vm_map_t exec_map; +vm_map_t pipe_map; const void *zero_region; CTASSERT((ZERO_REGION_SIZE & PAGE_MASK) == 0); @@ -357,9 +357,9 @@ kmem_alloc_contig_domainset(struct domainset *ds, vm_s } /* - * kmem_subinit: + * kmem_suballoc: * - * Initializes a map to manage a subrange + * Allocates a map to manage a subrange * of the kernel virtual address space. * * Arguments are as follows: @@ -369,11 +369,12 @@ kmem_alloc_contig_domainset(struct domainset *ds, vm_s * size Size of range to find * superpage_align Request that min is superpage aligned */ -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) +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) { int ret; + vm_map_t result; size = round_page(size); @@ -382,11 +383,14 @@ kmem_subinit(vm_map_t map, vm_map_t parent, vm_offset_ VMFS_SUPER_SPACE : VMFS_ANY_SPACE, VM_PROT_ALL, VM_PROT_ALL, MAP_ACC_NO_CHARGE); if (ret != KERN_SUCCESS) - panic("kmem_subinit: bad status return of %d", ret); + panic("kmem_suballoc: bad status return of %d", ret); *max = *min + size; - 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"); + 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); } /* @@ -742,13 +746,15 @@ 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; - vm_map_init(kernel_map, kernel_pmap, VM_MIN_KERNEL_ADDRESS, end); - kernel_map->system_map = 1; - vm_map_lock(kernel_map); + m = vm_map_create(kernel_pmap, VM_MIN_KERNEL_ADDRESS, end); + m->system_map = 1; + vm_map_lock(m); /* N.B.: cannot use kgdb to debug, starting with this assignment ... */ - (void) vm_map_insert(kernel_map, NULL, (vm_ooffset_t) 0, + kernel_map = m; + (void) vm_map_insert(m, NULL, (vm_ooffset_t) 0, #ifdef __amd64__ KERNBASE, #else @@ -756,7 +762,7 @@ kmem_init(vm_offset_t start, vm_offset_t end) #endif start, VM_PROT_ALL, VM_PROT_ALL, MAP_NOFAULT); /* ... and ending with the completion of the above `insert' */ - vm_map_unlock(kernel_map); + vm_map_unlock(m); /* * Initialize the kernel_arena. This can grow on demand. Modified: stable/12/sys/vm/vm_kern.h ============================================================================== --- stable/12/sys/vm/vm_kern.h Mon Aug 31 19:47:30 2020 (r365006) +++ stable/12/sys/vm/vm_kern.h Mon Aug 31 19:59:05 2020 (r365007) @@ -66,12 +66,9 @@ #define _VM_VM_KERN_H_ /* Kernel memory management definitions. */ -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 vm_map_t kernel_map; +extern vm_map_t exec_map; +extern vm_map_t pipe_map; extern struct vmem *kernel_arena; extern struct vmem *kmem_arena; extern struct vmem *buffer_arena; Modified: stable/12/sys/vm/vm_map.c ============================================================================== --- stable/12/sys/vm/vm_map.c Mon Aug 31 19:47:30 2020 (r365006) +++ stable/12/sys/vm/vm_map.c Mon Aug 31 19:59:05 2020 (r365007) @@ -128,8 +128,10 @@ __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); @@ -140,6 +142,7 @@ 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, @@ -195,6 +198,14 @@ 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); @@ -213,16 +224,24 @@ 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); } @@ -233,16 +252,29 @@ vmspace_zdtor(void *mem, int size, void *arg) struct vmspace *vm; vm = (struct vmspace *)mem; - 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)); + + vm_map_zdtor(&vm->vm_map, sizeof(vm->vm_map), arg); } +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) @@ -846,6 +878,24 @@ 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. */ @@ -872,9 +922,8 @@ 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, "vm map (system)", NULL, - MTX_DEF | MTX_DUPOK); - sx_init(&map->lock, "vm map (user)"); + mtx_init(&map->system_mtx, "system map", NULL, MTX_DEF | MTX_DUPOK); + sx_init(&map->lock, "user map"); } /* Modified: stable/12/sys/vm/vm_map.h ============================================================================== --- stable/12/sys/vm/vm_map.h Mon Aug 31 19:47:30 2020 (r365006) +++ stable/12/sys/vm/vm_map.h Mon Aug 31 19:59:05 2020 (r365007) @@ -346,6 +346,10 @@ 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 */ @@ -409,6 +413,7 @@ long vmspace_resident_count(struct vmspace *vmspace); #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); Modified: stable/12/sys/vm/vm_page.c ============================================================================== --- stable/12/sys/vm/vm_page.c Mon Aug 31 19:47:30 2020 (r365006) +++ stable/12/sys/vm/vm_page.c Mon Aug 31 19:59:05 2020 (r365007) @@ -590,6 +590,9 @@ vm_page_startup(vm_offset_t vaddr) #ifndef UMA_MD_SMALL_ALLOC /* vmem_startup() calls uma_prealloc(). */ boot_pages += vmem_startup_count(); + /* vm_map_startup() calls uma_prealloc(). */ + boot_pages += howmany(MAX_KMAP, + UMA_SLAB_SPACE / sizeof(struct vm_map)); /* * Before going fully functional kmem_init() does allocation From owner-svn-src-stable-12@freebsd.org Mon Aug 31 21:28:10 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 391393CEB27; Mon, 31 Aug 2020 21:28:10 +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 4BgNbZ0l40z47fp; Mon, 31 Aug 2020 21:28:10 +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 F1766E4F2; Mon, 31 Aug 2020 21:28:09 +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 07VLS9gE032890; Mon, 31 Aug 2020 21:28:09 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07VLS9tD032889; Mon, 31 Aug 2020 21:28:09 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008312128.07VLS9tD032889@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 31 Aug 2020 21:28: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: r365010 - stable/12/sbin/dhclient X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/sbin/dhclient X-SVN-Commit-Revision: 365010 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 21:28:10 -0000 Author: emaste Date: Mon Aug 31 21:28:09 2020 New Revision: 365010 URL: https://svnweb.freebsd.org/changeset/base/365010 Log: MFC r364994: dhclient: improve error handling parsing option 119 Reported by: Shlomi Oberman, JSOF Submitted by: delphij Reviewed by: markj Tested by: markj Modified: stable/12/sbin/dhclient/options.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/dhclient/options.c ============================================================================== --- stable/12/sbin/dhclient/options.c Mon Aug 31 21:04:00 2020 (r365009) +++ stable/12/sbin/dhclient/options.c Mon Aug 31 21:28:09 2020 (r365010) @@ -298,6 +298,8 @@ find_search_domain_name_len(struct option_data *option pointed_len = find_search_domain_name_len(option, &pointer); + if (pointed_len < 0) + return (-1); domain_name_len += pointed_len; *offset = i + 2; From owner-svn-src-stable-12@freebsd.org Mon Aug 31 22:05:51 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A02323CFF3B; Mon, 31 Aug 2020 22:05:51 +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 4BgPR32Mvcz4Cst; Mon, 31 Aug 2020 22:05:50 +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 07VM5h3b008830 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 1 Sep 2020 01:05:47 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 07VM5h3b008830 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 07VM5hoL008829; Tue, 1 Sep 2020 01:05:43 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 1 Sep 2020 01:05:43 +0300 From: Konstantin Belousov To: Edward Tomasz Napierala Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: Re: svn commit: r364985 - stable/12/libexec/rc/rc.d Message-ID: <20200831220543.GT2713@kib.kiev.ua> References: <202008311214.07VCEKao091305@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202008311214.07VCEKao091305@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: 4BgPR32Mvcz4Cst 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-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 22:05:51 -0000 On Mon, Aug 31, 2020 at 12:14:20PM +0000, Edward Tomasz Napierala wrote: > Author: trasz > Date: Mon Aug 31 12:14:20 2020 > New Revision: 364985 > URL: https://svnweb.freebsd.org/changeset/base/364985 > > Log: > In 13-CURRENT, the linux rc script uses "nocover" mount option to avoid > mounting required filesystems twice. However, this option hasn't been MFC'd. > Implement its functionality in a different way, by stating the mount point. So why not merge nocover instead ? From owner-svn-src-stable-12@freebsd.org Tue Sep 1 12:09:15 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C510D3C5329; Tue, 1 Sep 2020 12:09:15 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bgm8C4pBpz4Q3y; Tue, 1 Sep 2020 12:09:15 +0000 (UTC) (envelope-from trasz@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 8805618A6C; Tue, 1 Sep 2020 12:09:15 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 081C9FHp076793; Tue, 1 Sep 2020 12:09:15 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 081C9DlF076785; Tue, 1 Sep 2020 12:09:13 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <202009011209.081C9DlF076785@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 1 Sep 2020 12:09:13 +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: r365034 - in stable/12/sys: amd64/linux amd64/linux32 arm64/linux compat/linux i386/linux X-SVN-Group: stable-12 X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: in stable/12/sys: amd64/linux amd64/linux32 arm64/linux compat/linux i386/linux X-SVN-Commit-Revision: 365034 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 12:09:15 -0000 Author: trasz Date: Tue Sep 1 12:09:13 2020 New Revision: 365034 URL: https://svnweb.freebsd.org/changeset/base/365034 Log: MFC r363304: Add a trivial linux(4) splice(2) implementation, which simply returns EINVAL. Fixes grep (grep-3.1-2build1). PR: 218699 Sponsored by: The FreeBSD Foundation Modified: stable/12/sys/amd64/linux/linux_dummy.c stable/12/sys/amd64/linux/syscalls.master stable/12/sys/amd64/linux32/linux32_dummy.c stable/12/sys/amd64/linux32/syscalls.master stable/12/sys/arm64/linux/linux_dummy.c stable/12/sys/arm64/linux/syscalls.master stable/12/sys/compat/linux/linux_file.c stable/12/sys/i386/linux/linux_dummy.c stable/12/sys/i386/linux/syscalls.master Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/amd64/linux/linux_dummy.c ============================================================================== --- stable/12/sys/amd64/linux/linux_dummy.c Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/amd64/linux/linux_dummy.c Tue Sep 1 12:09:13 2020 (r365034) @@ -106,7 +106,6 @@ DUMMY(inotify_rm_watch); DUMMY(migrate_pages); DUMMY(unshare); /* Linux 2.6.17: */ -DUMMY(splice); DUMMY(tee); DUMMY(vmsplice); /* Linux 2.6.18: */ Modified: stable/12/sys/amd64/linux/syscalls.master ============================================================================== --- stable/12/sys/amd64/linux/syscalls.master Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/amd64/linux/syscalls.master Tue Sep 1 12:09:13 2020 (r365034) @@ -465,7 +465,8 @@ l_size_t len); } 274 AUE_NULL STD { int linux_get_robust_list(l_int pid, \ struct linux_robust_list_head **head, l_size_t *len); } -275 AUE_NULL STD { int linux_splice(void); } +275 AUE_NULL STD { int linux_splice(int fd_in, l_loff_t *off_in, \ + int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags); } 276 AUE_NULL STD { int linux_tee(void); } 277 AUE_NULL STD { int linux_sync_file_range(l_int fd, l_loff_t offset, l_loff_t nbytes, unsigned int flags); } Modified: stable/12/sys/amd64/linux32/linux32_dummy.c ============================================================================== --- stable/12/sys/amd64/linux32/linux32_dummy.c Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/amd64/linux32/linux32_dummy.c Tue Sep 1 12:09:13 2020 (r365034) @@ -103,7 +103,6 @@ DUMMY(inotify_rm_watch); DUMMY(migrate_pages); DUMMY(unshare); /* Linux 2.6.17: */ -DUMMY(splice); DUMMY(tee); DUMMY(vmsplice); /* Linux 2.6.18: */ Modified: stable/12/sys/amd64/linux32/syscalls.master ============================================================================== --- stable/12/sys/amd64/linux32/syscalls.master Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/amd64/linux32/syscalls.master Tue Sep 1 12:09:13 2020 (r365034) @@ -524,7 +524,8 @@ l_size_t len); } 312 AUE_NULL STD { int linux_get_robust_list(l_int pid, \ struct linux_robust_list_head **head, l_size_t *len); } -313 AUE_NULL STD { int linux_splice(void); } +313 AUE_NULL STD { int linux_splice(int fd_in, l_loff_t *off_in, \ + int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags); } 314 AUE_NULL STD { int linux_sync_file_range(l_int fd, uint32_t offset1, uint32_t offset2, uint32_t nbytes1, uint32_t nbytes2, unsigned int flags); } Modified: stable/12/sys/arm64/linux/linux_dummy.c ============================================================================== --- stable/12/sys/arm64/linux/linux_dummy.c Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/arm64/linux/linux_dummy.c Tue Sep 1 12:09:13 2020 (r365034) @@ -99,7 +99,6 @@ DUMMY(inotify_rm_watch); DUMMY(migrate_pages); DUMMY(unshare); /* Linux 2.6.17: */ -DUMMY(splice); DUMMY(tee); DUMMY(vmsplice); /* Linux 2.6.18: */ Modified: stable/12/sys/arm64/linux/syscalls.master ============================================================================== --- stable/12/sys/arm64/linux/syscalls.master Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/arm64/linux/syscalls.master Tue Sep 1 12:09:13 2020 (r365034) @@ -413,7 +413,14 @@ int linux_vmsplice(void); } 76 AUE_NULL STD { - int linux_splice(void); + int linux_splice( + int fd_in, + l_loff_t *off_in, + int fd_out, + l_loff_t *off_out, + l_size_t len, + l_uint flags + ); } 77 AUE_NULL STD { int linux_tee(void); Modified: stable/12/sys/compat/linux/linux_file.c ============================================================================== --- stable/12/sys/compat/linux/linux_file.c Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/compat/linux/linux_file.c Tue Sep 1 12:09:13 2020 (r365034) @@ -1618,3 +1618,17 @@ linux_fallocate(struct thread *td, struct linux_falloc return (kern_posix_fallocate(td, args->fd, offset, len)); } + +int +linux_splice(struct thread *td, struct linux_splice_args *args) +{ + + linux_msg(td, "syscall splice not really implemented"); + + /* + * splice(2) is documented to return EINVAL in various circumstances; + * returning it instead of ENOSYS should hint the caller to use fallback + * instead. + */ + return (EINVAL); +} Modified: stable/12/sys/i386/linux/linux_dummy.c ============================================================================== --- stable/12/sys/i386/linux/linux_dummy.c Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/i386/linux/linux_dummy.c Tue Sep 1 12:09:13 2020 (r365034) @@ -99,7 +99,6 @@ DUMMY(inotify_rm_watch); DUMMY(migrate_pages); DUMMY(unshare); /* Linux 2.6.17: */ -DUMMY(splice); DUMMY(tee); DUMMY(vmsplice); /* Linux 2.6.18: */ Modified: stable/12/sys/i386/linux/syscalls.master ============================================================================== --- stable/12/sys/i386/linux/syscalls.master Tue Sep 1 11:34:05 2020 (r365033) +++ stable/12/sys/i386/linux/syscalls.master Tue Sep 1 12:09:13 2020 (r365034) @@ -532,7 +532,8 @@ l_size_t len); } 312 AUE_NULL STD { int linux_get_robust_list(l_int pid, \ struct linux_robust_list_head **head, l_size_t *len); } -313 AUE_NULL STD { int linux_splice(void); } +313 AUE_NULL STD { int linux_splice(int fd_in, l_loff_t *off_in, \ + int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags); } 314 AUE_NULL STD { int linux_sync_file_range(l_int fd, l_loff_t offset, l_loff_t nbytes, unsigned int flags); } 315 AUE_NULL STD { int linux_tee(void); } From owner-svn-src-stable-12@freebsd.org Tue Sep 1 12:12:02 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8A3963C5701; Tue, 1 Sep 2020 12:12:02 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BgmCQ3Yn6z4QbV; Tue, 1 Sep 2020 12:12:02 +0000 (UTC) (envelope-from trasz@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 5D8B81911C; Tue, 1 Sep 2020 12:12:02 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 081CC2oP081085; Tue, 1 Sep 2020 12:12:02 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 081CBxFd081068; Tue, 1 Sep 2020 12:11:59 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <202009011211.081CBxFd081068@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 1 Sep 2020 12:11:59 +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: r365035 - in stable/12/sys: amd64/linux amd64/linux32 arm64/linux i386/linux X-SVN-Group: stable-12 X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: in stable/12/sys: amd64/linux amd64/linux32 arm64/linux i386/linux X-SVN-Commit-Revision: 365035 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 12:12:02 -0000 Author: trasz Date: Tue Sep 1 12:11:59 2020 New Revision: 365035 URL: https://svnweb.freebsd.org/changeset/base/365035 Log: MFC r363305: Regen after r363304. Sponsored by: The FreeBSD Foundation Modified: stable/12/sys/amd64/linux/linux_proto.h stable/12/sys/amd64/linux/linux_sysent.c stable/12/sys/amd64/linux/linux_systrace_args.c stable/12/sys/amd64/linux32/linux32_proto.h stable/12/sys/amd64/linux32/linux32_sysent.c stable/12/sys/amd64/linux32/linux32_systrace_args.c stable/12/sys/arm64/linux/linux_proto.h stable/12/sys/arm64/linux/linux_sysent.c stable/12/sys/arm64/linux/linux_systrace_args.c stable/12/sys/i386/linux/linux_proto.h stable/12/sys/i386/linux/linux_sysent.c stable/12/sys/i386/linux/linux_systrace_args.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/amd64/linux/linux_proto.h ============================================================================== --- stable/12/sys/amd64/linux/linux_proto.h Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/amd64/linux/linux_proto.h Tue Sep 1 12:11:59 2020 (r365035) @@ -966,7 +966,12 @@ struct linux_get_robust_list_args { char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)]; }; struct linux_splice_args { - register_t dummy; + char fd_in_l_[PADL_(int)]; int fd_in; char fd_in_r_[PADR_(int)]; + char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)]; + char fd_out_l_[PADL_(int)]; int fd_out; char fd_out_r_[PADR_(int)]; + char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)]; + char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; }; struct linux_tee_args { register_t dummy; Modified: stable/12/sys/amd64/linux/linux_sysent.c ============================================================================== --- stable/12/sys/amd64/linux/linux_sysent.c Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/amd64/linux/linux_sysent.c Tue Sep 1 12:11:59 2020 (r365035) @@ -292,7 +292,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_unshare, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 272 = linux_unshare */ { AS(linux_set_robust_list_args), (sy_call_t *)linux_set_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 273 = linux_set_robust_list */ { AS(linux_get_robust_list_args), (sy_call_t *)linux_get_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 274 = linux_get_robust_list */ - { 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 275 = linux_splice */ + { AS(linux_splice_args), (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 275 = linux_splice */ { 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 276 = linux_tee */ { AS(linux_sync_file_range_args), (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 277 = linux_sync_file_range */ { 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 278 = linux_vmsplice */ Modified: stable/12/sys/amd64/linux/linux_systrace_args.c ============================================================================== --- stable/12/sys/amd64/linux/linux_systrace_args.c Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/amd64/linux/linux_systrace_args.c Tue Sep 1 12:11:59 2020 (r365035) @@ -2012,7 +2012,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg } /* linux_splice */ case 275: { - *n_args = 0; + struct linux_splice_args *p = params; + iarg[0] = p->fd_in; /* int */ + uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */ + iarg[2] = p->fd_out; /* int */ + uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */ + iarg[4] = p->len; /* l_size_t */ + iarg[5] = p->flags; /* l_uint */ + *n_args = 6; break; } /* linux_tee */ @@ -5624,6 +5631,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; /* linux_splice */ case 275: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "userland l_loff_t *"; + break; + case 2: + p = "int"; + break; + case 3: + p = "userland l_loff_t *"; + break; + case 4: + p = "l_size_t"; + break; + case 5: + p = "l_uint"; + break; + default: + break; + }; break; /* linux_tee */ case 276: @@ -7616,6 +7645,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* linux_splice */ case 275: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_tee */ case 276: /* linux_sync_file_range */ Modified: stable/12/sys/amd64/linux32/linux32_proto.h ============================================================================== --- stable/12/sys/amd64/linux32/linux32_proto.h Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/amd64/linux32/linux32_proto.h Tue Sep 1 12:11:59 2020 (r365035) @@ -1029,7 +1029,12 @@ struct linux_get_robust_list_args { char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)]; }; struct linux_splice_args { - register_t dummy; + char fd_in_l_[PADL_(int)]; int fd_in; char fd_in_r_[PADR_(int)]; + char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)]; + char fd_out_l_[PADL_(int)]; int fd_out; char fd_out_r_[PADR_(int)]; + char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)]; + char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; }; struct linux_sync_file_range_args { char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; Modified: stable/12/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- stable/12/sys/amd64/linux32/linux32_sysent.c Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/amd64/linux32/linux32_sysent.c Tue Sep 1 12:11:59 2020 (r365035) @@ -330,7 +330,7 @@ struct sysent linux32_sysent[] = { { 0, (sy_call_t *)linux_unshare, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 310 = linux_unshare */ { AS(linux_set_robust_list_args), (sy_call_t *)linux_set_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 311 = linux_set_robust_list */ { AS(linux_get_robust_list_args), (sy_call_t *)linux_get_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 312 = linux_get_robust_list */ - { 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 313 = linux_splice */ + { AS(linux_splice_args), (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 313 = linux_splice */ { AS(linux_sync_file_range_args), (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 314 = linux_sync_file_range */ { 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 315 = linux_tee */ { 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 316 = linux_vmsplice */ Modified: stable/12/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- stable/12/sys/amd64/linux32/linux32_systrace_args.c Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/amd64/linux32/linux32_systrace_args.c Tue Sep 1 12:11:59 2020 (r365035) @@ -2120,7 +2120,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg } /* linux_splice */ case 313: { - *n_args = 0; + struct linux_splice_args *p = params; + iarg[0] = p->fd_in; /* int */ + uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */ + iarg[2] = p->fd_out; /* int */ + uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */ + iarg[4] = p->len; /* l_size_t */ + iarg[5] = p->flags; /* l_uint */ + *n_args = 6; break; } /* linux_sync_file_range */ @@ -6202,6 +6209,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; /* linux_splice */ case 313: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "userland l_loff_t *"; + break; + case 2: + p = "int"; + break; + case 3: + p = "userland l_loff_t *"; + break; + case 4: + p = "l_size_t"; + break; + case 5: + p = "l_uint"; + break; + default: + break; + }; break; /* linux_sync_file_range */ case 314: @@ -8734,6 +8763,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* linux_splice */ case 313: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sync_file_range */ case 314: if (ndx == 0 || ndx == 1) Modified: stable/12/sys/arm64/linux/linux_proto.h ============================================================================== --- stable/12/sys/arm64/linux/linux_proto.h Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/arm64/linux/linux_proto.h Tue Sep 1 12:11:59 2020 (r365035) @@ -292,7 +292,12 @@ struct linux_vmsplice_args { register_t dummy; }; struct linux_splice_args { - register_t dummy; + char fd_in_l_[PADL_(int)]; int fd_in; char fd_in_r_[PADR_(int)]; + char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)]; + char fd_out_l_[PADL_(int)]; int fd_out; char fd_out_r_[PADR_(int)]; + char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)]; + char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; }; struct linux_tee_args { register_t dummy; Modified: stable/12/sys/arm64/linux/linux_sysent.c ============================================================================== --- stable/12/sys/arm64/linux/linux_sysent.c Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/arm64/linux/linux_sysent.c Tue Sep 1 12:11:59 2020 (r365035) @@ -93,7 +93,7 @@ struct sysent linux_sysent[] = { { AS(linux_ppoll_args), (sy_call_t *)linux_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 73 = linux_ppoll */ { 0, (sy_call_t *)linux_signalfd4, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 74 = linux_signalfd4 */ { 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 75 = linux_vmsplice */ - { 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 76 = linux_splice */ + { AS(linux_splice_args), (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 76 = linux_splice */ { 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 77 = linux_tee */ { AS(linux_readlinkat_args), (sy_call_t *)linux_readlinkat, AUE_READLINKAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 78 = linux_readlinkat */ { AS(linux_newfstatat_args), (sy_call_t *)linux_newfstatat, AUE_FSTATAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 79 = linux_newfstatat */ Modified: stable/12/sys/arm64/linux/linux_systrace_args.c ============================================================================== --- stable/12/sys/arm64/linux/linux_systrace_args.c Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/arm64/linux/linux_systrace_args.c Tue Sep 1 12:11:59 2020 (r365035) @@ -545,7 +545,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg } /* linux_splice */ case 76: { - *n_args = 0; + struct linux_splice_args *p = params; + iarg[0] = p->fd_in; /* int */ + uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */ + iarg[2] = p->fd_out; /* int */ + uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */ + iarg[4] = p->len; /* l_size_t */ + iarg[5] = p->flags; /* l_uint */ + *n_args = 6; break; } /* linux_tee */ @@ -2953,6 +2960,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; /* linux_splice */ case 76: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "userland l_loff_t *"; + break; + case 2: + p = "int"; + break; + case 3: + p = "userland l_loff_t *"; + break; + case 4: + p = "l_size_t"; + break; + case 5: + p = "l_uint"; + break; + default: + break; + }; break; /* linux_tee */ case 77: @@ -5765,6 +5794,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char * case 75: /* linux_splice */ case 76: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_tee */ case 77: /* linux_readlinkat */ Modified: stable/12/sys/i386/linux/linux_proto.h ============================================================================== --- stable/12/sys/i386/linux/linux_proto.h Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/i386/linux/linux_proto.h Tue Sep 1 12:11:59 2020 (r365035) @@ -1040,7 +1040,12 @@ struct linux_get_robust_list_args { char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)]; }; struct linux_splice_args { - register_t dummy; + char fd_in_l_[PADL_(int)]; int fd_in; char fd_in_r_[PADR_(int)]; + char off_in_l_[PADL_(l_loff_t *)]; l_loff_t * off_in; char off_in_r_[PADR_(l_loff_t *)]; + char fd_out_l_[PADL_(int)]; int fd_out; char fd_out_r_[PADR_(int)]; + char off_out_l_[PADL_(l_loff_t *)]; l_loff_t * off_out; char off_out_r_[PADR_(l_loff_t *)]; + char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; }; struct linux_sync_file_range_args { char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; Modified: stable/12/sys/i386/linux/linux_sysent.c ============================================================================== --- stable/12/sys/i386/linux/linux_sysent.c Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/i386/linux/linux_sysent.c Tue Sep 1 12:11:59 2020 (r365035) @@ -330,7 +330,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_unshare, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 310 = linux_unshare */ { AS(linux_set_robust_list_args), (sy_call_t *)linux_set_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 311 = linux_set_robust_list */ { AS(linux_get_robust_list_args), (sy_call_t *)linux_get_robust_list, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 312 = linux_get_robust_list */ - { 0, (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 313 = linux_splice */ + { AS(linux_splice_args), (sy_call_t *)linux_splice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 313 = linux_splice */ { AS(linux_sync_file_range_args), (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 314 = linux_sync_file_range */ { 0, (sy_call_t *)linux_tee, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 315 = linux_tee */ { 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 316 = linux_vmsplice */ Modified: stable/12/sys/i386/linux/linux_systrace_args.c ============================================================================== --- stable/12/sys/i386/linux/linux_systrace_args.c Tue Sep 1 12:09:13 2020 (r365034) +++ stable/12/sys/i386/linux/linux_systrace_args.c Tue Sep 1 12:11:59 2020 (r365035) @@ -2189,7 +2189,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg } /* linux_splice */ case 313: { - *n_args = 0; + struct linux_splice_args *p = params; + iarg[0] = p->fd_in; /* int */ + uarg[1] = (intptr_t) p->off_in; /* l_loff_t * */ + iarg[2] = p->fd_out; /* int */ + uarg[3] = (intptr_t) p->off_out; /* l_loff_t * */ + iarg[4] = p->len; /* l_size_t */ + iarg[5] = p->flags; /* l_uint */ + *n_args = 6; break; } /* linux_sync_file_range */ @@ -6401,6 +6408,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; /* linux_splice */ case 313: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "userland l_loff_t *"; + break; + case 2: + p = "int"; + break; + case 3: + p = "userland l_loff_t *"; + break; + case 4: + p = "l_size_t"; + break; + case 5: + p = "l_uint"; + break; + default: + break; + }; break; /* linux_sync_file_range */ case 314: @@ -8968,6 +8997,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* linux_splice */ case 313: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sync_file_range */ case 314: if (ndx == 0 || ndx == 1) From owner-svn-src-stable-12@freebsd.org Tue Sep 1 13:58:18 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 44FD43C8EC7; Tue, 1 Sep 2020 13:58: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 4BgpZ217rwz4YHF; Tue, 1 Sep 2020 13:58: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 0A3391A6DB; Tue, 1 Sep 2020 13:58: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 081DwHnB044596; Tue, 1 Sep 2020 13:58:17 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 081DwHBs044594; Tue, 1 Sep 2020 13:58:17 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202009011358.081DwHBs044594@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 1 Sep 2020 13:58:17 +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: r365038 - in stable/12: share/man/man4 sys/dev/sdhci X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in stable/12: share/man/man4 sys/dev/sdhci X-SVN-Commit-Revision: 365038 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 13:58:18 -0000 Author: markj Date: Tue Sep 1 13:58:17 2020 New Revision: 365038 URL: https://svnweb.freebsd.org/changeset/base/365038 Log: MFC r364779: sdhci(4): Recognize the Texas Instruments PCIxx12 card reader. PR: 248650 Modified: stable/12/share/man/man4/sdhci.4 stable/12/sys/dev/sdhci/sdhci_pci.c Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man4/sdhci.4 ============================================================================== --- stable/12/share/man/man4/sdhci.4 Tue Sep 1 13:19:15 2020 (r365037) +++ stable/12/share/man/man4/sdhci.4 Tue Sep 1 13:58:17 2020 (r365038) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 9, 2012 +.Dd August 25, 2020 .Dt SDHCI 4 .Os .Sh NAME @@ -71,7 +71,7 @@ RICOH R5C822 .It RICOH R5CE823 .It -TI PCIXX21/XX11 +TI PCIXX21/XX11/XX12 .El .Sh SEE ALSO .Xr mmc 4 , Modified: stable/12/sys/dev/sdhci/sdhci_pci.c ============================================================================== --- stable/12/sys/dev/sdhci/sdhci_pci.c Tue Sep 1 13:19:15 2020 (r365037) +++ stable/12/sys/dev/sdhci/sdhci_pci.c Tue Sep 1 13:58:17 2020 (r365038) @@ -90,6 +90,9 @@ static const struct sdhci_device { SDHCI_QUIRK_LOWER_FREQUENCY }, { 0x8034104c, 0xffff, "TI XX21/XX11 SD", SDHCI_QUIRK_FORCE_DMA }, + { 0x803c104c, 0xffff, "TI XX12 SD", + SDHCI_QUIRK_FORCE_DMA | + SDHCI_QUIRK_WAITFOR_RESET_ASSERTED }, { 0x05501524, 0xffff, "ENE CB712 SD", SDHCI_QUIRK_BROKEN_TIMINGS }, { 0x05511524, 0xffff, "ENE CB712 SD 2", From owner-svn-src-stable-12@freebsd.org Tue Sep 1 19:54:44 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DF1C53D5589; Tue, 1 Sep 2020 19:54:44 +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 4BgyTJ5b1bz46gG; Tue, 1 Sep 2020 19:54:44 +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 A2DF71E770; Tue, 1 Sep 2020 19:54:44 +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 081JsiHf067496; Tue, 1 Sep 2020 19:54:44 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 081Jsi2w067493; Tue, 1 Sep 2020 19:54:44 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202009011954.081Jsi2w067493@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Tue, 1 Sep 2020 19:54:44 +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: r365059 - in stable/12/sys: netinet netinet6 sys X-SVN-Group: stable-12 X-SVN-Commit-Author: bz X-SVN-Commit-Paths: in stable/12/sys: netinet netinet6 sys X-SVN-Commit-Revision: 365059 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 19:54:44 -0000 Author: bz Date: Tue Sep 1 19:54:43 2020 New Revision: 365059 URL: https://svnweb.freebsd.org/changeset/base/365059 Log: MFC r364018: IPV6_PKTINFO support for v4-mapped IPv6 sockets When using v4-mapped IPv6 sockets with IPV6_PKTINFO we do not respect the given v4-mapped src address on the IPv4 socket. Implement the needed functionality. This allows single-socket UDP applications (such as OpenVPN) to work better on FreeBSD. Requested by: Gert Doering (gert greenie.net), pfsense Tested by: Gert Doering (gert greenie.net) Modified: stable/12/sys/netinet/udp_usrreq.c stable/12/sys/netinet6/udp6_usrreq.c stable/12/sys/sys/protosw.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netinet/udp_usrreq.c ============================================================================== --- stable/12/sys/netinet/udp_usrreq.c Tue Sep 1 19:06:08 2020 (r365058) +++ stable/12/sys/netinet/udp_usrreq.c Tue Sep 1 19:54:43 2020 (r365059) @@ -162,7 +162,7 @@ VNET_PCPUSTAT_SYSUNINIT(udpstat); #ifdef INET static void udp_detach(struct socket *so); static int udp_output(struct inpcb *, struct mbuf *, struct sockaddr *, - struct mbuf *, struct thread *); + struct mbuf *, struct thread *, int); #endif static void @@ -1114,13 +1114,69 @@ udp_ctloutput(struct socket *so, struct sockopt *sopt) return (error); } +#ifdef INET6 +/* The logic here is derived from ip6_setpktopt(). See comments there. */ +static int +udp_v4mapped_pktinfo(struct cmsghdr *cm, struct sockaddr_in * src, + struct inpcb *inp, int flags) +{ + struct ifnet *ifp; + struct in6_pktinfo *pktinfo; + struct in_addr ia; + + if ((flags & PRUS_IPV6) == 0) + return (0); + + if (cm->cmsg_level != IPPROTO_IPV6) + return (0); + + if (cm->cmsg_type != IPV6_2292PKTINFO && + cm->cmsg_type != IPV6_PKTINFO) + return (0); + + if (cm->cmsg_len != + CMSG_LEN(sizeof(struct in6_pktinfo))) + return (EINVAL); + + pktinfo = (struct in6_pktinfo *)CMSG_DATA(cm); + if (!IN6_IS_ADDR_V4MAPPED(&pktinfo->ipi6_addr) && + !IN6_IS_ADDR_UNSPECIFIED(&pktinfo->ipi6_addr)) + return (EINVAL); + + /* Validate the interface index if specified. */ + if (pktinfo->ipi6_ifindex > V_if_index) + return (ENXIO); + + ifp = NULL; + if (pktinfo->ipi6_ifindex) { + ifp = ifnet_byindex(pktinfo->ipi6_ifindex); + if (ifp == NULL) + return (ENXIO); + } + if (ifp != NULL && !IN6_IS_ADDR_UNSPECIFIED(&pktinfo->ipi6_addr)) { + + ia.s_addr = pktinfo->ipi6_addr.s6_addr32[3]; + if (in_ifhasaddr(ifp, ia) == 0) + return (EADDRNOTAVAIL); + } + + bzero(src, sizeof(*src)); + src->sin_family = AF_INET; + src->sin_len = sizeof(*src); + src->sin_port = inp->inp_lport; + src->sin_addr.s_addr = pktinfo->ipi6_addr.s6_addr32[3]; + + return (0); +} +#endif + #ifdef INET #define UH_WLOCKED 2 #define UH_RLOCKED 1 #define UH_UNLOCKED 0 static int udp_output(struct inpcb *inp, struct mbuf *m, struct sockaddr *addr, - struct mbuf *control, struct thread *td) + struct mbuf *control, struct thread *td, int flags) { struct udpiphdr *ui; int len = m->m_pkthdr.len; @@ -1201,6 +1257,11 @@ retry: error = EINVAL; break; } +#ifdef INET6 + error = udp_v4mapped_pktinfo(cm, &src, inp, flags); + if (error != 0) + break; +#endif if (cm->cmsg_level != IPPROTO_IP) continue; @@ -1816,7 +1877,7 @@ udp_send(struct socket *so, int flags, struct mbuf *m, inp = sotoinpcb(so); KASSERT(inp != NULL, ("udp_send: inp == NULL")); - return (udp_output(inp, m, addr, control, td)); + return (udp_output(inp, m, addr, control, td, flags)); } #endif /* INET */ Modified: stable/12/sys/netinet6/udp6_usrreq.c ============================================================================== --- stable/12/sys/netinet6/udp6_usrreq.c Tue Sep 1 19:06:08 2020 (r365058) +++ stable/12/sys/netinet6/udp6_usrreq.c Tue Sep 1 19:54:43 2020 (r365059) @@ -804,7 +804,7 @@ retry: in6_sin6_2_sin_in_sock((struct sockaddr *)sin6); pru = inetsw[ip_protox[nxt]].pr_usrreqs; /* addr will just be freed in sendit(). */ - return ((*pru->pru_send)(so, flags_arg, m, + return ((*pru->pru_send)(so, flags_arg | PRUS_IPV6, m, (struct sockaddr *)sin6, control, td)); } } else Modified: stable/12/sys/sys/protosw.h ============================================================================== --- stable/12/sys/sys/protosw.h Tue Sep 1 19:06:08 2020 (r365058) +++ stable/12/sys/sys/protosw.h Tue Sep 1 19:54:43 2020 (r365059) @@ -210,6 +210,7 @@ struct pr_usrreqs { #define PRUS_EOF 0x2 #define PRUS_MORETOCOME 0x4 #define PRUS_NOTREADY 0x8 +#define PRUS_IPV6 0x10 int (*pru_ready)(struct socket *so, struct mbuf *m, int count); int (*pru_sense)(struct socket *so, struct stat *sb); int (*pru_shutdown)(struct socket *so); From owner-svn-src-stable-12@freebsd.org Tue Sep 1 20:45:34 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3C62B3D7C2E; Tue, 1 Sep 2020 20:45:34 +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 4Bgzby0tX1z4Dxk; Tue, 1 Sep 2020 20:45:34 +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 0211A1EFE8; Tue, 1 Sep 2020 20:45:34 +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 081KjXwg098378; Tue, 1 Sep 2020 20:45:33 GMT (envelope-from vmaffione@FreeBSD.org) Received: (from vmaffione@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 081KjXNF098377; Tue, 1 Sep 2020 20:45:33 GMT (envelope-from vmaffione@FreeBSD.org) Message-Id: <202009012045.081KjXNF098377@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vmaffione set sender to vmaffione@FreeBSD.org using -f From: Vincenzo Maffione Date: Tue, 1 Sep 2020 20:45:33 +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: r365063 - 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: 365063 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 20:45:34 -0000 Author: vmaffione Date: Tue Sep 1 20:45:33 2020 New Revision: 365063 URL: https://svnweb.freebsd.org/changeset/base/365063 Log: MFC r364164 iflib: refactor netmap_fl_refill and fix off-by-one issue First, fix the initialization of the fl->ifl_rxd_idxs array, which was affected by an off-by-one bug. Once there, refactor the function to use better names for local variables, optimize the variable assignments, and merge the bus_dmamap_sync() inner loop with the outer one. 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 Tue Sep 1 20:42:48 2020 (r365062) +++ stable/12/sys/net/iflib.c Tue Sep 1 20:45:33 2020 (r365063) @@ -843,39 +843,41 @@ netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring struct if_rxd_update iru; if_ctx_t ctx = rxq->ifr_ctx; iflib_fl_t fl = &rxq->ifr_fl[0]; - uint32_t refill_pidx, nic_i; + uint32_t nic_i_first, nic_i; + int i; #if IFLIB_DEBUG_COUNTERS int rf_count = 0; #endif if (nm_i == head && __predict_true(!init)) - return 0; + return (0); + iru_init(&iru, rxq, 0 /* flid */); map = fl->ifl_sds.ifsd_map; - refill_pidx = netmap_idx_k2n(kring, nm_i); + nic_i = netmap_idx_k2n(kring, nm_i); /* * IMPORTANT: we must leave one free slot in the ring, * so move head back by one unit */ head = nm_prev(head, lim); - nic_i = UINT_MAX; DBG_COUNTER_INC(fl_refills); while (nm_i != head) { #if IFLIB_DEBUG_COUNTERS if (++rf_count == 9) DBG_COUNTER_INC(fl_refills_large); #endif - for (int tmp_pidx = 0; tmp_pidx < IFLIB_MAX_RX_REFRESH && nm_i != head; tmp_pidx++) { + nic_i_first = nic_i; + for (i = 0; i < IFLIB_MAX_RX_REFRESH && nm_i != head; i++) { struct netmap_slot *slot = &ring->slot[nm_i]; - void *addr = PNMB(na, slot, &fl->ifl_bus_addrs[tmp_pidx]); - uint32_t nic_i_dma = refill_pidx; - nic_i = netmap_idx_k2n(kring, nm_i); + void *addr = PNMB(na, slot, &fl->ifl_bus_addrs[i]); - MPASS(tmp_pidx < IFLIB_MAX_RX_REFRESH); + MPASS(i < IFLIB_MAX_RX_REFRESH); if (addr == NETMAP_BUF_BASE(na)) /* bad buf */ return netmap_ring_reinit(kring); + fl->ifl_rxd_idxs[i] = nic_i; + if (__predict_false(init)) { netmap_load_map(na, fl->ifl_buf_tag, map[nic_i], addr); @@ -884,33 +886,25 @@ netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring netmap_reload_map(na, fl->ifl_buf_tag, map[nic_i], addr); } + bus_dmamap_sync(fl->ifl_buf_tag, map[nic_i], + BUS_DMASYNC_PREREAD); slot->flags &= ~NS_BUF_CHANGED; nm_i = nm_next(nm_i, lim); - fl->ifl_rxd_idxs[tmp_pidx] = nic_i = nm_next(nic_i, lim); - if (nm_i != head && tmp_pidx < IFLIB_MAX_RX_REFRESH-1) - continue; - - iru.iru_pidx = refill_pidx; - iru.iru_count = tmp_pidx+1; - ctx->isc_rxd_refill(ctx->ifc_softc, &iru); - refill_pidx = nic_i; - for (int n = 0; n < iru.iru_count; n++) { - bus_dmamap_sync(fl->ifl_buf_tag, map[nic_i_dma], - BUS_DMASYNC_PREREAD); - /* XXX - change this to not use the netmap func*/ - nic_i_dma = nm_next(nic_i_dma, lim); - } + nic_i = nm_next(nic_i, lim); } + + iru.iru_pidx = nic_i_first; + iru.iru_count = i; + ctx->isc_rxd_refill(ctx->ifc_softc, &iru); } kring->nr_hwcur = head; bus_dmamap_sync(fl->ifl_ifdi->idi_tag, fl->ifl_ifdi->idi_map, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); - if (__predict_true(nic_i != UINT_MAX)) { - ctx->isc_rxd_flush(ctx->ifc_softc, rxq->ifr_id, fl->ifl_id, nic_i); - DBG_COUNTER_INC(rxd_flush); - } + ctx->isc_rxd_flush(ctx->ifc_softc, rxq->ifr_id, fl->ifl_id, nic_i); + DBG_COUNTER_INC(rxd_flush); + return (0); } From owner-svn-src-stable-12@freebsd.org Tue Sep 1 20:47:59 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F2BF13D7DA5; Tue, 1 Sep 2020 20:47:59 +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 4Bgzfl5zVKz4DrF; Tue, 1 Sep 2020 20:47:59 +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 B1F051F59C; Tue, 1 Sep 2020 20:47:59 +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 081KlxHe098567; Tue, 1 Sep 2020 20:47:59 GMT (envelope-from vmaffione@FreeBSD.org) Received: (from vmaffione@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 081KlxC2098565; Tue, 1 Sep 2020 20:47:59 GMT (envelope-from vmaffione@FreeBSD.org) Message-Id: <202009012047.081KlxC2098565@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vmaffione set sender to vmaffione@FreeBSD.org using -f From: Vincenzo Maffione Date: Tue, 1 Sep 2020 20:47:59 +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: r365064 - 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: 365064 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 20:48:00 -0000 Author: vmaffione Date: Tue Sep 1 20:47:59 2020 New Revision: 365064 URL: https://svnweb.freebsd.org/changeset/base/365064 Log: MFC r364165 iflib: netmap: improve rxsync to support IFLIB_HAS_RXCQ For drivers with IFLIB_HAS_RXCQ set, there is a separate completion queue. In this case, the netmap rxsync routine needs to update rxq->ifr_cq_cidx in the same way it is updated by iflib_rxeof(). This improves the situation for vmx(4) and bnxt(4) drivers, which use iflib and have the IFLIB_HAS_RXCQ bit set. PR: 248494 Modified: stable/12/sys/net/iflib.c stable/12/sys/net/iflib.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/net/iflib.c ============================================================================== --- stable/12/sys/net/iflib.c Tue Sep 1 20:45:33 2020 (r365063) +++ stable/12/sys/net/iflib.c Tue Sep 1 20:47:59 2020 (r365064) @@ -425,7 +425,7 @@ struct iflib_rxq { uint64_t ifr_rx_irq; /* * If there is a separate completion queue (IFLIB_HAS_RXCQ), this is - * the command queue consumer index. Otherwise it's unused. + * the completion queue consumer index. Otherwise it's unused. */ qidx_t ifr_cq_cidx; uint16_t ifr_id; @@ -1082,9 +1082,12 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl int force_update = (flags & NAF_FORCE_READ) || kring->nr_kflags & NKR_PENDINTR; if_ctx_t ctx = ifp->if_softc; + if_shared_ctx_t sctx = ctx->ifc_sctx; + if_softc_ctx_t scctx = &ctx->ifc_softc_ctx; iflib_rxq_t rxq = &ctx->ifc_rxqs[kring->ring_id]; iflib_fl_t fl = &rxq->ifr_fl[0]; struct if_rxd_info ri; + qidx_t *cidxp; /* * netmap only uses free list 0, to avoid out of order consumption @@ -1098,40 +1101,56 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl * First part: import newly received packets. * * nm_i is the index of the next free slot in the netmap ring, - * nic_i is the index of the next received packet in the NIC ring, - * and they may differ in case if_init() has been called while + * nic_i is the index of the next received packet in the NIC ring + * (or in the free list 0 if IFLIB_HAS_RXCQ is set), and they may + * differ in case if_init() has been called while * in netmap mode. For the receive ring we have * - * nic_i = rxr->next_check; + * nic_i = fl->ifl_cidx; * nm_i = kring->nr_hwtail (previous) * and * nm_i == (nic_i + kring->nkr_hwofs) % ring_size * - * rxr->next_check is set to 0 on a ring reinit + * fl->ifl_cidx is set to 0 on a ring reinit */ if (netmap_no_pendintr || force_update) { uint32_t hwtail_lim = nm_prev(kring->nr_hwcur, lim); + bool have_rxcq = sctx->isc_flags & IFLIB_HAS_RXCQ; int crclen = iflib_crcstrip ? 0 : 4; int error, avail; + /* + * For the free list consumer index, we use the same + * logic as in iflib_rxeof(). + */ + if (have_rxcq) + cidxp = &rxq->ifr_cq_cidx; + else + cidxp = &fl->ifl_cidx; + avail = ctx->isc_rxd_available(ctx->ifc_softc, + rxq->ifr_id, *cidxp, USHRT_MAX); + 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; + ri.iri_cidx = *cidxp; 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; + if (have_rxcq) { + *cidxp = ri.iri_cidx; + while (*cidxp >= scctx->isc_nrxd[0]) + *cidxp -= scctx->isc_nrxd[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); + fl->ifl_cidx = nic_i = nm_next(nic_i, lim); } if (n) { /* update the state variables */ if (netmap_no_pendintr && !force_update) { @@ -1139,7 +1158,6 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl iflib_rx_miss ++; iflib_rx_miss_bufs += n; } - fl->ifl_cidx = nic_i; kring->nr_hwtail = nm_i; } kring->nr_kflags &= ~NKR_PENDINTR; Modified: stable/12/sys/net/iflib.h ============================================================================== --- stable/12/sys/net/iflib.h Tue Sep 1 20:45:33 2020 (r365063) +++ stable/12/sys/net/iflib.h Tue Sep 1 20:47:59 2020 (r365064) @@ -295,7 +295,7 @@ typedef enum { /* - * Interface has a separate command queue for RX + * Interface has a separate completion queue for RX */ #define IFLIB_HAS_RXCQ 0x01 /* @@ -307,7 +307,7 @@ typedef enum { */ #define IFLIB_IS_VF 0x04 /* - * Interface has a separate command queue for TX + * Interface has a separate completion queue for TX */ #define IFLIB_HAS_TXCQ 0x08 /* From owner-svn-src-stable-12@freebsd.org Tue Sep 1 20:50:17 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AAC353D7CB7; Tue, 1 Sep 2020 20:50: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 4BgzjP40k6z4FCj; Tue, 1 Sep 2020 20:50: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 692661F5A2; Tue, 1 Sep 2020 20:50: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 081KoHXO098771; Tue, 1 Sep 2020 20:50:17 GMT (envelope-from vmaffione@FreeBSD.org) Received: (from vmaffione@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 081KoHWF098770; Tue, 1 Sep 2020 20:50:17 GMT (envelope-from vmaffione@FreeBSD.org) Message-Id: <202009012050.081KoHWF098770@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vmaffione set sender to vmaffione@FreeBSD.org using -f From: Vincenzo Maffione Date: Tue, 1 Sep 2020 20:50:17 +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: r365065 - 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: 365065 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 20:50:17 -0000 Author: vmaffione Date: Tue Sep 1 20:50:16 2020 New Revision: 365065 URL: https://svnweb.freebsd.org/changeset/base/365065 Log: MFC r364655 iflib: fix isc_rxd_flush call in netmap_fl_refill() The semantic of the pidx argument of isc_rxd_flush() is the last valid index of in the free list, rather than the next index to be published. However, netmap was still using the old convention. While there, also refactor the netmap_fl_refill() to simplify a little bit and add an assertion. 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 Tue Sep 1 20:47:59 2020 (r365064) +++ stable/12/sys/net/iflib.c Tue Sep 1 20:50:16 2020 (r365065) @@ -762,7 +762,7 @@ iflib_num_tx_descs(if_ctx_t ctx) MODULE_DEPEND(iflib, netmap, 1, 1, 1); -static int netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, uint32_t nm_i, bool init); +static int netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, bool init); /* * device-specific sysctl variables: @@ -833,33 +833,43 @@ iflib_netmap_register(struct netmap_adapter *na, int o } static int -netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, uint32_t nm_i, bool init) +netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, bool init) { struct netmap_adapter *na = kring->na; u_int const lim = kring->nkr_num_slots - 1; u_int head = kring->rhead; + u_int nm_i = kring->nr_hwcur; struct netmap_ring *ring = kring->ring; bus_dmamap_t *map; struct if_rxd_update iru; if_ctx_t ctx = rxq->ifr_ctx; iflib_fl_t fl = &rxq->ifr_fl[0]; - uint32_t nic_i_first, nic_i; + u_int nic_i_first, nic_i; int i; #if IFLIB_DEBUG_COUNTERS int rf_count = 0; #endif - if (nm_i == head && __predict_true(!init)) + /* + * Netmap requires that we leave (at least) one free slot + * in the ring, so that it can distinguish between an empty + * ring (nr_hwcur == nr_hwtail, i.e. all the buffers owned by the + * user) and a full ring (nr_hwtail == (nr_hwcur - 1) mod N, i.e. + * all the buffers owned by the kernel). + * We thus set head (the refill limit) to nr_hwcur - 1 + * at initialization. The rest of the code will then make sure + * than nr_hwtail never overcomes nr_hwcur. + */ + if (__predict_false(init)) { + head = nm_prev(nm_i, lim); + } else if (nm_i == head) { + /* Nothing to do. We can leave early. */ return (0); + } iru_init(&iru, rxq, 0 /* flid */); map = fl->ifl_sds.ifsd_map; nic_i = netmap_idx_k2n(kring, nm_i); - /* - * IMPORTANT: we must leave one free slot in the ring, - * so move head back by one unit - */ - head = nm_prev(head, lim); DBG_COUNTER_INC(fl_refills); while (nm_i != head) { #if IFLIB_DEBUG_COUNTERS @@ -900,9 +910,13 @@ netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring } kring->nr_hwcur = head; + /* The pidx argument of isc_rxd_flush() is the index of the last valid + * slot in the free list ring. We need therefore to decrement nic_i, + * similarly to what happens in iflib_fl_refill() for ifl_pidx. */ bus_dmamap_sync(fl->ifl_ifdi->idi_tag, fl->ifl_ifdi->idi_map, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); - ctx->isc_rxd_flush(ctx->ifc_softc, rxq->ifr_id, fl->ifl_id, nic_i); + ctx->isc_rxd_flush(ctx->ifc_softc, rxq->ifr_id, fl->ifl_id, + nm_prev(nic_i, lim)); DBG_COUNTER_INC(rxd_flush); return (0); @@ -1132,6 +1146,7 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl nic_i = fl->ifl_cidx; nm_i = netmap_idx_n2k(kring, nic_i); + MPASS(nm_i == kring->nr_hwtail); for (n = 0; avail > 0 && nm_i != hwtail_lim; n++, avail--) { rxd_info_zero(&ri); ri.iri_frags = rxq->ifr_frags; @@ -1170,9 +1185,9 @@ 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 */ - nm_i = kring->nr_hwcur; + netmap_fl_refill(rxq, kring, false); - return (netmap_fl_refill(rxq, kring, nm_i, false)); + return (0); } static void @@ -1244,14 +1259,12 @@ iflib_netmap_rxq_init(if_ctx_t ctx, iflib_rxq_t rxq) struct netmap_adapter *na = NA(ctx->ifc_ifp); struct netmap_kring *kring; struct netmap_slot *slot; - uint32_t nm_i; slot = netmap_reset(na, NR_RX, rxq->ifr_id, 0); if (slot == NULL) return (0); kring = na->rx_rings[rxq->ifr_id]; - nm_i = netmap_idx_n2k(kring, 0); - netmap_fl_refill(rxq, kring, nm_i, true); + netmap_fl_refill(rxq, kring, true); return (1); } From owner-svn-src-stable-12@freebsd.org Tue Sep 1 20:58:24 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 54B9E37822F; Tue, 1 Sep 2020 20:58:24 +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 4Bgztm1bj3z4G33; Tue, 1 Sep 2020 20:58:24 +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 174761F7A2; Tue, 1 Sep 2020 20:58:24 +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 081KwNV3005417; Tue, 1 Sep 2020 20:58:23 GMT (envelope-from vmaffione@FreeBSD.org) Received: (from vmaffione@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 081KwNUE005416; Tue, 1 Sep 2020 20:58:23 GMT (envelope-from vmaffione@FreeBSD.org) Message-Id: <202009012058.081KwNUE005416@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vmaffione set sender to vmaffione@FreeBSD.org using -f From: Vincenzo Maffione Date: Tue, 1 Sep 2020 20:58:23 +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: r365066 - 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: 365066 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 20:58:24 -0000 Author: vmaffione Date: Tue Sep 1 20:58:23 2020 New Revision: 365066 URL: https://svnweb.freebsd.org/changeset/base/365066 Log: r364770 iflib: netmap: publish all the receive buffer At initialization time, the netmap RX refill function used to prepare the NIC RX ring with N-1 buffers rather than N (with N equal to the number of descriptors in the NIC RX ring). This is not how netmap is supposed to work, as it would keep kring->nr_hwcur not in sync with the NIC "next index to refill" (i.e., fl->ifl_pidx). Instead we prepare N buffers, although we still publish (with isc_rxd_flush()) only the first N-1 buffers, to avoid the NIC producer pointer to overrun the NIC consumer pointer (for NICs where this is a real issue, e.g. Intel ones). 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 Tue Sep 1 20:50:16 2020 (r365065) +++ stable/12/sys/net/iflib.c Tue Sep 1 20:58:23 2020 (r365066) @@ -837,7 +837,6 @@ netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring { struct netmap_adapter *na = kring->na; u_int const lim = kring->nkr_num_slots - 1; - u_int head = kring->rhead; u_int nm_i = kring->nr_hwcur; struct netmap_ring *ring = kring->ring; bus_dmamap_t *map; @@ -845,39 +844,46 @@ netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring if_ctx_t ctx = rxq->ifr_ctx; iflib_fl_t fl = &rxq->ifr_fl[0]; u_int nic_i_first, nic_i; - int i; + int i, n; #if IFLIB_DEBUG_COUNTERS int rf_count = 0; #endif /* - * Netmap requires that we leave (at least) one free slot - * in the ring, so that it can distinguish between an empty - * ring (nr_hwcur == nr_hwtail, i.e. all the buffers owned by the - * user) and a full ring (nr_hwtail == (nr_hwcur - 1) mod N, i.e. - * all the buffers owned by the kernel). - * We thus set head (the refill limit) to nr_hwcur - 1 - * at initialization. The rest of the code will then make sure - * than nr_hwtail never overcomes nr_hwcur. + * This function is used both at initialization and in rxsync. + * At initialization we need to prepare (with isc_rxd_refill()) + * all the (N) netmap buffers in the ring, in such a way to keep + * fl->ifl_pidx and kring->nr_hwcur in sync (except for + * kring->nkr_hwofs); at rxsync time, both indexes point to the + * next buffer to be refilled. + * In any case we publish (with isc_rxd_flush()) up to + * (fl->ifl_pidx - 1) % N (included), to avoid the NIC tail/prod + * pointer to overrun the head/cons pointer, although this is + * not necessary for some NICs (e.g. vmx). */ - if (__predict_false(init)) { - head = nm_prev(nm_i, lim); - } else if (nm_i == head) { - /* Nothing to do. We can leave early. */ - return (0); + if (__predict_false(init)) + n = kring->nkr_num_slots; + else { + n = kring->rhead - nm_i; + if (n == 0) + return (0); /* Nothing to do. */ + if (n < 0) + n += kring->nkr_num_slots; } + /* Start to refill from nr_hwcur, publishing n buffers. */ iru_init(&iru, rxq, 0 /* flid */); map = fl->ifl_sds.ifsd_map; - nic_i = netmap_idx_k2n(kring, nm_i); + nic_i = fl->ifl_pidx; + MPASS(nic_i == netmap_idx_k2n(kring, nm_i)); DBG_COUNTER_INC(fl_refills); - while (nm_i != head) { + while (n > 0) { #if IFLIB_DEBUG_COUNTERS if (++rf_count == 9) DBG_COUNTER_INC(fl_refills_large); #endif nic_i_first = nic_i; - for (i = 0; i < IFLIB_MAX_RX_REFRESH && nm_i != head; i++) { + for (i = 0; n > 0 && i < IFLIB_MAX_RX_REFRESH; n--, i++) { struct netmap_slot *slot = &ring->slot[nm_i]; void *addr = PNMB(na, slot, &fl->ifl_bus_addrs[i]); @@ -908,11 +914,11 @@ netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring iru.iru_count = i; ctx->isc_rxd_refill(ctx->ifc_softc, &iru); } - kring->nr_hwcur = head; + fl->ifl_pidx = nic_i; + MPASS(!init || nm_i == 0); + MPASS(nm_i == kring->rhead); + kring->nr_hwcur = nm_i; - /* The pidx argument of isc_rxd_flush() is the index of the last valid - * slot in the free list ring. We need therefore to decrement nic_i, - * similarly to what happens in iflib_fl_refill() for ifl_pidx. */ bus_dmamap_sync(fl->ifl_ifdi->idi_tag, fl->ifl_ifdi->idi_map, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); ctx->isc_rxd_flush(ctx->ifc_softc, rxq->ifr_id, fl->ifl_id, From owner-svn-src-stable-12@freebsd.org Wed Sep 2 01:35:47 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 55F953C54DA; Wed, 2 Sep 2020 01:35:47 +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 4Bh62q1slLz3ywt; Wed, 2 Sep 2020 01:35:47 +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 220CE2277C; Wed, 2 Sep 2020 01:35:47 +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 0821ZlRh085811; Wed, 2 Sep 2020 01:35:47 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0821ZkYK085806; Wed, 2 Sep 2020 01:35:46 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202009020135.0821ZkYK085806@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 2 Sep 2020 01:35:46 +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: r365233 - in stable: 11/secure/caroot/trusted 12/secure/caroot/trusted X-SVN-Group: stable-12 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in stable: 11/secure/caroot/trusted 12/secure/caroot/trusted X-SVN-Commit-Revision: 365233 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 01:35:47 -0000 Author: kevans Date: Wed Sep 2 01:35:45 2020 New Revision: 365233 URL: https://svnweb.freebsd.org/changeset/base/365233 Log: MFC r364943: carrot: update bundle Stats: - Seven (7) removed - Four (4) added Added: stable/12/secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem - copied unchanged from r364943, head/secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem stable/12/secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem - copied unchanged from r364943, head/secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem stable/12/secure/caroot/trusted/certSIGN_Root_CA_G2.pem - copied unchanged from r364943, head/secure/caroot/trusted/certSIGN_Root_CA_G2.pem stable/12/secure/caroot/trusted/e-Szigno_Root_CA_2017.pem - copied unchanged from r364943, head/secure/caroot/trusted/e-Szigno_Root_CA_2017.pem Deleted: stable/12/secure/caroot/trusted/AddTrust_External_Root.pem stable/12/secure/caroot/trusted/AddTrust_Low-Value_Services_Root.pem stable/12/secure/caroot/trusted/LuxTrust_Global_Root_2.pem stable/12/secure/caroot/trusted/Staat_der_Nederlanden_Root_CA_-_G2.pem stable/12/secure/caroot/trusted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem stable/12/secure/caroot/trusted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem stable/12/secure/caroot/trusted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem Modified: Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Added: stable/11/secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem - copied unchanged from r364943, head/secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem stable/11/secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem - copied unchanged from r364943, head/secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem stable/11/secure/caroot/trusted/certSIGN_Root_CA_G2.pem - copied unchanged from r364943, head/secure/caroot/trusted/certSIGN_Root_CA_G2.pem stable/11/secure/caroot/trusted/e-Szigno_Root_CA_2017.pem - copied unchanged from r364943, head/secure/caroot/trusted/e-Szigno_Root_CA_2017.pem Deleted: stable/11/secure/caroot/trusted/AddTrust_External_Root.pem stable/11/secure/caroot/trusted/AddTrust_Low-Value_Services_Root.pem stable/11/secure/caroot/trusted/LuxTrust_Global_Root_2.pem stable/11/secure/caroot/trusted/Staat_der_Nederlanden_Root_CA_-_G2.pem stable/11/secure/caroot/trusted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem stable/11/secure/caroot/trusted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem stable/11/secure/caroot/trusted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem Modified: Directory Properties: stable/11/ (props changed) Copied: stable/12/secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem (from r364943, head/secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem Wed Sep 2 01:35:45 2020 (r365233, copy of r364943, head/secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem) @@ -0,0 +1,68 @@ +## +## Microsoft ECC Root Certificate Authority 2017 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 66:f2:3d:af:87:de:8b:b1:4a:ea:0c:57:31:01:c2:ec + Signature Algorithm: ecdsa-with-SHA384 + Issuer: C = US, O = Microsoft Corporation, CN = Microsoft ECC Root Certificate Authority 2017 + Validity + Not Before: Dec 18 23:06:45 2019 GMT + Not After : Jul 18 23:16:04 2042 GMT + Subject: C = US, O = Microsoft Corporation, CN = Microsoft ECC Root Certificate Authority 2017 + Subject Public Key Info: + Public Key Algorithm: id-ecPublicKey + Public-Key: (384 bit) + pub: + 04:d4:bc:3d:02:42:75:41:13:23:cd:80:04:86:02: + 51:2f:6a:a8:81:62:0b:65:cc:f6:ca:9d:1e:6f:4a: + 66:51:a2:03:d9:9d:91:fa:b6:16:b1:8c:6e:de:7c: + cd:db:79:a6:2f:ce:bb:ce:71:2f:e5:a5:ab:28:ec: + 63:04:66:99:f8:fa:f2:93:10:05:e1:81:28:42:e3: + c6:68:f4:e6:1b:84:60:4a:89:af:ed:79:0f:3b:ce: + f1:f6:44:f5:01:78:c0 + ASN1 OID: secp384r1 + NIST CURVE: P-384 + X509v3 extensions: + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + C8:CB:99:72:70:52:0C:F8:E6:BE:B2:04:57:29:2A:CF:42:10:ED:35 + 1.3.6.1.4.1.311.21.1: + ... + Signature Algorithm: ecdsa-with-SHA384 + 30:65:02:30:58:f2:4d:ea:0c:f9:5f:5e:ee:60:29:cb:3a:f2: + db:d6:32:84:19:3f:7c:d5:2f:c2:b1:cc:93:ae:50:bb:09:32: + c6:c6:ed:7e:c9:36:94:12:e4:68:85:06:a2:1b:d0:2f:02:31: + 00:99:e9:16:b4:0e:fa:56:48:d4:a4:30:16:91:78:db:54:8c: + 65:01:8a:e7:50:66:c2:31:b7:39:ba:b8:1a:22:07:4e:fc:6b: + 54:16:20:ff:2b:b5:e7:4c:0c:4d:a6:4f:73 +SHA1 Fingerprint=99:9A:64:C3:7F:F4:7D:9F:AB:95:F1:47:69:89:14:60:EE:C4:C3:C5 +-----BEGIN CERTIFICATE----- +MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD +VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw +MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV +UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy +b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR +ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb +hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3 +FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV +L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB +iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M= +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem (from r364943, head/secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem Wed Sep 2 01:35:45 2020 (r365233, copy of r364943, head/secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem) @@ -0,0 +1,136 @@ +## +## Microsoft RSA Root Certificate Authority 2017 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 1e:d3:97:09:5f:d8:b4:b3:47:70:1e:aa:be:7f:45:b3 + Signature Algorithm: sha384WithRSAEncryption + Issuer: C = US, O = Microsoft Corporation, CN = Microsoft RSA Root Certificate Authority 2017 + Validity + Not Before: Dec 18 22:51:22 2019 GMT + Not After : Jul 18 23:00:23 2042 GMT + Subject: C = US, O = Microsoft Corporation, CN = Microsoft RSA Root Certificate Authority 2017 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:ca:5b:be:94:33:8c:29:95:91:16:0a:95:bd:47: + 62:c1:89:f3:99:36:df:46:90:c9:a5:ed:78:6a:6f: + 47:91:68:f8:27:67:50:33:1d:a1:a6:fb:e0:e5:43: + a3:84:02:57:01:5d:9c:48:40:82:53:10:bc:bf:c7: + 3b:68:90:b6:82:2d:e5:f4:65:d0:cc:6d:19:cc:95: + f9:7b:ac:4a:94:ad:0e:de:4b:43:1d:87:07:92:13: + 90:80:83:64:35:39:04:fc:e5:e9:6c:b3:b6:1f:50: + 94:38:65:50:5c:17:46:b9:b6:85:b5:1c:b5:17:e8: + d6:45:9d:d8:b2:26:b0:ca:c4:70:4a:ae:60:a4:dd: + b3:d9:ec:fc:3b:d5:57:72:bc:3f:c8:c9:b2:de:4b: + 6b:f8:23:6c:03:c0:05:bd:95:c7:cd:73:3b:66:80: + 64:e3:1a:ac:2e:f9:47:05:f2:06:b6:9b:73:f5:78: + 33:5b:c7:a1:fb:27:2a:a1:b4:9a:91:8c:91:d3:3a: + 82:3e:76:40:b4:cd:52:61:51:70:28:3f:c5:c5:5a: + f2:c9:8c:49:bb:14:5b:4d:c8:ff:67:4d:4c:12:96: + ad:f5:fe:78:a8:97:87:d7:fd:5e:20:80:dc:a1:4b: + 22:fb:d4:89:ad:ba:ce:47:97:47:55:7b:8f:45:c8: + 67:28:84:95:1c:68:30:ef:ef:49:e0:35:7b:64:e7: + 98:b0:94:da:4d:85:3b:3e:55:c4:28:af:57:f3:9e: + 13:db:46:27:9f:1e:a2:5e:44:83:a4:a5:ca:d5:13: + b3:4b:3f:c4:e3:c2:e6:86:61:a4:52:30:b9:7a:20: + 4f:6f:0f:38:53:cb:33:0c:13:2b:8f:d6:9a:bd:2a: + c8:2d:b1:1c:7d:4b:51:ca:47:d1:48:27:72:5d:87: + eb:d5:45:e6:48:65:9d:af:52:90:ba:5b:a2:18:65: + 57:12:9f:68:b9:d4:15:6b:94:c4:69:22:98:f4:33: + e0:ed:f9:51:8e:41:50:c9:34:4f:76:90:ac:fc:38: + c1:d8:e1:7b:b9:e3:e3:94:e1:46:69:cb:0e:0a:50: + 6b:13:ba:ac:0f:37:5a:b7:12:b5:90:81:1e:56:ae: + 57:22:86:d9:c9:d2:d1:d7:51:e3:ab:3b:c6:55:fd: + 1e:0e:d3:74:0a:d1:da:aa:ea:69:b8:97:28:8f:48: + c4:07:f8:52:43:3a:f4:ca:55:35:2c:b0:a6:6a:c0: + 9c:f9:f2:81:e1:12:6a:c0:45:d9:67:b3:ce:ff:23: + a2:89:0a:54:d4:14:b9:2a:a8:d7:ec:f9:ab:cd:25: + 58:32:79:8f:90:5b:98:39:c4:08:06:c1:ac:7f:0e: + 3d:00:a5 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 09:CB:59:7F:86:B2:70:8F:1A:C3:39:E3:C0:D9:E9:BF:BB:4D:B2:23 + 1.3.6.1.4.1.311.21.1: + ... + Signature Algorithm: sha384WithRSAEncryption + ac:af:3e:5d:c2:11:96:89:8e:a3:e7:92:d6:97:15:b8:13:a2: + a6:42:2e:02:cd:16:05:59:27:ca:20:e8:ba:b8:e8:1a:ec:4d: + a8:97:56:ae:65:43:b1:8f:00:9b:52:cd:55:cd:53:39:6d:62: + 4c:8b:0d:5b:7c:2e:44:bf:83:10:8f:f3:53:82:80:c3:4f:3a: + c7:6e:11:3f:e6:e3:16:91:84:fb:6d:84:7f:34:74:ad:89:a7: + ce:b9:d7:d7:9f:84:64:92:be:95:a1:ad:09:53:33:dd:ee:0a: + ea:4a:51:8e:6f:55:ab:ba:b5:94:46:ae:8c:7f:d8:a2:50:25: + 65:60:80:46:db:33:04:ae:6c:b5:98:74:54:25:dc:93:e4:f8: + e3:55:15:3d:b8:6d:c3:0a:a4:12:c1:69:85:6e:df:64:f1:53: + 99:e1:4a:75:20:9d:95:0f:e4:d6:dc:03:f1:59:18:e8:47:89: + b2:57:5a:94:b6:a9:d8:17:2b:17:49:e5:76:cb:c1:56:99:3a: + 37:b1:ff:69:2c:91:91:93:e1:df:4c:a3:37:76:4d:a1:9f:f8: + 6d:1e:1d:d3:fa:ec:fb:f4:45:1d:13:6d:cf:f7:59:e5:22:27: + 72:2b:86:f3:57:bb:30:ed:24:4d:dc:7d:56:bb:a3:b3:f8:34: + 79:89:c1:e0:f2:02:61:f7:a6:fc:0f:bb:1c:17:0b:ae:41:d9: + 7c:bd:27:a3:fd:2e:3a:d1:93:94:b1:73:1d:24:8b:af:5b:20: + 89:ad:b7:67:66:79:f5:3a:c6:a6:96:33:fe:53:92:c8:46:b1: + 11:91:c6:99:7f:8f:c9:d6:66:31:20:41:10:87:2d:0c:d6:c1: + af:34:98:ca:64:83:fb:13:57:d1:c1:f0:3c:7a:8c:a5:c1:fd: + 95:21:a0:71:c1:93:67:71:12:ea:8f:88:0a:69:19:64:99:23: + 56:fb:ac:2a:2e:70:be:66:c4:0c:84:ef:e5:8b:f3:93:01:f8: + 6a:90:93:67:4b:b2:68:a3:b5:62:8f:e9:3f:8c:7a:3b:5e:0f: + e7:8c:b8:c6:7c:ef:37:fd:74:e2:c8:4f:33:72:e1:94:39:6d: + bd:12:af:be:0c:4e:70:7c:1b:6f:8d:b3:32:93:73:44:16:6d: + e8:f4:f7:e0:95:80:8f:96:5d:38:a4:f4:ab:de:0a:30:87:93: + d8:4d:00:71:62:45:27:4b:3a:42:84:5b:7f:65:b7:67:34:52: + 2d:9c:16:6b:aa:a8:d8:7b:a3:42:4c:71:c7:0c:ca:3e:83:e4: + a6:ef:b7:01:30:5e:51:a3:79:f5:70:69:a6:41:44:0f:86:b0: + 2c:91:c6:3d:ea:ae:0f:84 +SHA1 Fingerprint=73:A5:E6:4A:3B:FF:83:16:FF:0E:DC:CC:61:8A:90:6E:4E:AE:4D:74 +-----BEGIN CERTIFICATE----- +MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl +MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw +NAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG +EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N +aWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ +Nt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0 +ZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1 +HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm +gGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ +jEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc +aDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG +YaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6 +W6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K +UGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH ++FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q +W5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC +LgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC +gMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6 +tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh +SnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2 +TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3 +pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR +xpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp +GWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9 +dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN +AHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB +RA+GsCyRxj3qrg+E +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/trusted/certSIGN_Root_CA_G2.pem (from r364943, head/secure/caroot/trusted/certSIGN_Root_CA_G2.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/trusted/certSIGN_Root_CA_G2.pem Wed Sep 2 01:35:45 2020 (r365233, copy of r364943, head/secure/caroot/trusted/certSIGN_Root_CA_G2.pem) @@ -0,0 +1,132 @@ +## +## certSIGN Root CA G2 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 11:00:34:b6:4e:c6:36:2d:36 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = RO, O = CERTSIGN SA, OU = certSIGN ROOT CA G2 + Validity + Not Before: Feb 6 09:27:35 2017 GMT + Not After : Feb 6 09:27:35 2042 GMT + Subject: C = RO, O = CERTSIGN SA, OU = certSIGN ROOT CA G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:c0:c5:75:19:91:7d:44:74:74:87:fe:0e:3b:96: + dc:d8:01:16:cc:ee:63:91:e7:0b:6f:ce:3b:0a:69: + 1a:7c:c2:e3:af:82:8e:86:d7:5e:8f:57:eb:d3:21: + 59:fd:39:37:42:30:be:50:ea:b6:0f:a9:88:d8:2e: + 2d:69:21:e7:d1:37:18:4e:7d:91:d5:16:5f:6b:5b: + 00:c2:39:43:0d:36:85:52:b9:53:65:0f:1d:42:e5: + 8f:cf:05:d3:ee:dc:0c:1a:d9:b8:8b:78:22:67:e4: + 69:b0:68:c5:3c:e4:6c:5a:46:e7:cd:c7:fa:ef:c4: + ec:4b:bd:6a:a4:ac:fd:cc:28:51:ef:92:b4:29:ab: + ab:35:9a:4c:e4:c4:08:c6:26:cc:f8:69:9f:e4:9c: + f0:29:d3:5c:f9:c6:16:25:9e:23:c3:20:c1:3d:0f: + 3f:38:40:b0:fe:82:44:38:aa:5a:1a:8a:6b:63:58: + 38:b4:15:d3:b6:11:69:7b:1e:54:ee:8c:1a:22:ac: + 72:97:3f:23:59:9b:c9:22:84:c1:07:4f:cc:7f:e2: + 57:ca:12:70:bb:a6:65:f3:69:75:63:bd:95:fb:1b: + 97:cd:e4:a8:af:f6:d1:4e:a8:d9:8a:71:24:cd:36: + 3d:bc:96:c4:f1:6c:a9:ae:e5:cf:0d:6e:28:0d:b0: + 0e:b5:ca:51:7b:78:14:c3:20:2f:7f:fb:14:55:e1: + 11:99:fd:d5:0a:a1:9e:02:e3:62:5f:eb:35:4b:2c: + b8:72:e8:3e:3d:4f:ac:2c:bb:2e:86:e2:a3:76:8f: + e5:93:2a:cf:a5:ab:c8:5c:8d:4b:06:ff:12:46:ac: + 78:cb:14:07:35:e0:a9:df:8b:e9:af:15:4f:16:89: + 5b:bd:f6:8d:c6:59:ae:88:85:0e:c1:89:eb:1f:67: + c5:45:8e:ff:6d:37:36:2b:78:66:83:91:51:2b:3d: + ff:51:77:76:62:a1:ec:67:3e:3e:81:83:e0:56:a9: + 50:1f:1f:7a:99:ab:63:bf:84:17:77:f1:0d:3b:df: + f7:9c:61:b3:35:98:8a:3a:b2:ec:3c:1a:37:3f:7e: + 8f:92:cf:d9:12:14:64:da:10:02:15:41:ff:4f:c4: + eb:1c:a3:c9:fa:99:f7:46:e9:e1:18:d9:b1:b8:32: + 2d:cb:14:0c:50:d8:83:65:83:ee:b9:5c:cf:cb:05: + 5a:4c:fa:19:97:6b:d6:5d:13:d3:c2:5c:54:bc:32: + 73:a0:78:f5:f1:6d:1e:cb:9f:a5:a6:9f:22:dc:d1: + 51:9e:82:79:64:60:29:13:3e:a3:fd:4f:72:6a:ab: + e2:d4:e5:b8:24:55:2c:44:4b:8a:88:44:9c:ca:84: + d3:2a:3b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 82:21:2D:66:C6:D7:A0:E0:15:EB:CE:4C:09:77:C4:60:9E:54:6E:03 + Signature Algorithm: sha256WithRSAEncryption + 60:de:1a:b8:e7:f2:60:82:d5:03:33:81:cb:06:8a:f1:22:49: + e9:e8:ea:91:7f:c6:33:5e:68:19:03:86:3b:43:01:cf:07:70: + e4:08:1e:65:85:91:e6:11:22:b7:f5:02:23:8e:ae:b9:1e:7d: + 1f:7e:6c:e6:bd:25:d5:95:1a:f2:05:a6:af:85:02:6f:ae:f8: + d6:31:ff:25:c9:4a:c8:c7:8a:a9:d9:9f:4b:49:9b:11:57:99: + 92:43:11:de:b6:33:a4:cc:d7:8d:64:7d:d4:cd:3c:28:2c:b4: + 9a:96:ea:4d:f5:c4:44:c4:25:aa:20:80:d8:29:55:f7:e0:41: + fc:06:26:ff:b9:36:f5:43:14:03:66:78:e1:11:b1:da:20:5f: + 46:00:78:00:21:a5:1e:00:28:61:78:6f:a8:01:01:8f:9d:34: + 9a:ff:f4:38:90:fb:b8:d1:b3:72:06:c9:71:e6:81:c5:79:ed: + 0b:a6:79:f2:13:0b:9c:f7:5d:0e:7b:24:93:b4:48:db:86:5f: + de:50:86:78:e7:40:e6:31:a8:90:76:70:61:af:9c:37:2c:11: + b5:82:b7:aa:ae:24:34:5b:72:0c:69:0d:cd:59:9f:f6:71:af: + 9c:0b:d1:0a:38:f9:06:22:83:53:25:0c:fc:51:c4:e6:be:e2: + 39:95:0b:24:ad:af:d1:95:e4:96:d7:74:64:6b:71:4e:02:3c: + aa:85:f3:20:a3:43:39:76:5b:6c:50:fe:9a:9c:14:1e:65:14: + 8a:15:bd:a3:82:45:5a:49:56:6a:d2:9c:b1:63:32:e5:61:e0: + 53:22:0e:a7:0a:49:ea:cb:7e:1f:a8:e2:62:80:f6:10:45:52: + 98:06:18:de:a5:cd:2f:7f:aa:d4:e9:3e:08:72:ec:23:03:02: + 3c:a6:aa:d8:bc:67:74:3d:14:17:fb:54:4b:17:e3:d3:79:3d: + 6d:6b:49:c9:28:0e:2e:74:50:bf:0c:d9:46:3a:10:86:c9:a7: + 3f:e9:a0:ec:7f:eb:a5:77:58:69:71:e6:83:0a:37:f2:86:49: + 6a:be:79:08:90:f6:02:16:64:3e:e5:da:4c:7e:0c:34:c9:f9: + 5f:b6:b3:28:51:a7:a7:2b:aa:49:fa:8d:65:29:4e:e3:6b:13: + a7:94:a3:2d:51:6d:78:0c:44:cb:df:de:08:6f:ce:a3:64:ab: + d3:95:84:d4:b9:52:54:72:7b:96:25:cc:bc:69:e3:48:6e:0d: + d0:c7:9d:27:9a:aa:f8:13:92:dd:1e:df:63:9f:35:a9:16:36: + ec:8c:b8:83:f4:3d:89:8f:cd:b4:17:5e:d7:b3:17:41:10:5d: + 27:73:60:85:57:49:22:07 +SHA1 Fingerprint=26:F9:93:B4:ED:3D:28:27:B0:B9:4B:A7:E9:15:1D:A3:8D:92:E5:32 +-----BEGIN CERTIFICATE----- +MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNV +BAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04g +Uk9PVCBDQSBHMjAeFw0xNzAyMDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJ +BgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJ +R04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDF +dRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05N0Iw +vlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZ +uIt4ImfkabBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhp +n+Sc8CnTXPnGFiWeI8MgwT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKs +cpc/I1mbySKEwQdPzH/iV8oScLumZfNpdWO9lfsbl83kqK/20U6o2YpxJM02PbyW +xPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91QqhngLjYl/rNUssuHLoPj1P +rCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732jcZZroiF +DsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fx +DTvf95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgy +LcsUDFDYg2WD7rlcz8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6C +eWRgKRM+o/1Pcmqr4tTluCRVLERLiohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSCIS1mxteg4BXrzkwJ +d8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOBywaK8SJJ6ejq +kX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC +b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQl +qiCA2ClV9+BB/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0 +OJD7uNGzcgbJceaBxXntC6Z58hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+c +NywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5BiKDUyUM/FHE5r7iOZULJK2v0ZXk +ltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklWatKcsWMy5WHgUyIO +pwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tUSxfj +03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZk +PuXaTH4MNMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE +1LlSVHJ7liXMvGnjSG4N0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MX +QRBdJ3NghVdJIgc= +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/trusted/e-Szigno_Root_CA_2017.pem (from r364943, head/secure/caroot/trusted/e-Szigno_Root_CA_2017.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/trusted/e-Szigno_Root_CA_2017.pem Wed Sep 2 01:35:45 2020 (r365233, copy of r364943, head/secure/caroot/trusted/e-Szigno_Root_CA_2017.pem) @@ -0,0 +1,65 @@ +## +## e-Szigno Root CA 2017 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 01:54:48:ef:21:fd:97:59:0d:f5:04:0a + Signature Algorithm: ecdsa-with-SHA256 + Issuer: C = HU, L = Budapest, O = Microsec Ltd., organizationIdentifier = VATHU-23584497, CN = e-Szigno Root CA 2017 + Validity + Not Before: Aug 22 12:07:06 2017 GMT + Not After : Aug 22 12:07:06 2042 GMT + Subject: C = HU, L = Budapest, O = Microsec Ltd., organizationIdentifier = VATHU-23584497, CN = e-Szigno Root CA 2017 + Subject Public Key Info: + Public Key Algorithm: id-ecPublicKey + Public-Key: (256 bit) + pub: + 04:96:dc:3d:8a:d8:b0:7b:6f:c6:27:be:44:90:b1: + b3:56:15:7b:8e:43:24:7d:1a:84:59:ee:63:68:b2: + c6:5e:87:d0:15:48:1e:a8:90:ad:bd:53:a2:da:de: + 3a:90:a6:60:5f:68:32:b5:86:41:df:87:5b:2c:7b: + c5:fe:7c:7a:da + ASN1 OID: prime256v1 + NIST CURVE: P-256 + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 87:11:15:08:D1:AA:C1:78:0C:B1:AF:CE:C6:C9:90:EF:BF:30:04:C0 + X509v3 Authority Key Identifier: + keyid:87:11:15:08:D1:AA:C1:78:0C:B1:AF:CE:C6:C9:90:EF:BF:30:04:C0 + + Signature Algorithm: ecdsa-with-SHA256 + 30:46:02:21:00:b5:57:dd:d7:8a:55:0b:36:e1:86:44:fa:d4: + d9:68:8d:b8:dc:23:8a:8a:0d:d4:2f:7d:ea:73:ec:bf:4d:6c: + a8:02:21:00:cb:a5:b4:12:fa:e7:b5:e8:cf:7e:93:fc:f3:35: + 8f:6f:4e:5a:7c:b4:bc:4e:b2:fc:72:aa:5b:59:f9:e7:dc:31 +SHA1 Fingerprint=89:D4:83:03:4F:9E:9A:48:80:5F:72:37:D4:A9:A6:EF:CB:7C:1F:D1 +-----BEGIN CERTIFICATE----- +MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNV +BAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRk +LjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJv +b3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZaFw00MjA4MjIxMjA3MDZaMHExCzAJ +BgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMg +THRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25v +IFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtv +xie+RJCxs1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+H +Wyx7xf58etqjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBSHERUI0arBeAyxr87GyZDvvzAEwDAfBgNVHSMEGDAWgBSHERUI0arB +eAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEAtVfd14pVCzbhhkT61Nlo +jbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxOsvxyqltZ ++efcMQ== +-----END CERTIFICATE----- From owner-svn-src-stable-12@freebsd.org Wed Sep 2 10:10:29 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 167153D316A; Wed, 2 Sep 2020 10:10:29 +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 4BhKSh6jk4z4Xm7; Wed, 2 Sep 2020 10:10:28 +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 CA38D88F5; Wed, 2 Sep 2020 10:10:28 +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 082AASVT003605; Wed, 2 Sep 2020 10:10:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 082AASvR003604; Wed, 2 Sep 2020 10:10:28 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202009021010.082AASvR003604@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 2 Sep 2020 10:10: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: r365239 - stable/12/sys/dev/usb/controller X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/12/sys/dev/usb/controller X-SVN-Commit-Revision: 365239 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 10:10:29 -0000 Author: hselasky Date: Wed Sep 2 10:10:28 2020 New Revision: 365239 URL: https://svnweb.freebsd.org/changeset/base/365239 Log: MFC r364347: Check the XHCI endpoint state before issuing XHCI endpoint commands. Differential Revision: https://reviews.freebsd.org/D26064 Reviewed by: kp@ and bz@ Sponsored by: Mellanox Technologies Modified: stable/12/sys/dev/usb/controller/xhci.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/usb/controller/xhci.c ============================================================================== --- stable/12/sys/dev/usb/controller/xhci.c Wed Sep 2 10:00:30 2020 (r365238) +++ stable/12/sys/dev/usb/controller/xhci.c Wed Sep 2 10:10:28 2020 (r365239) @@ -3807,6 +3807,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) { @@ -3860,16 +3882,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-stable-12@freebsd.org Wed Sep 2 10:13:16 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 990C03D3808; Wed, 2 Sep 2020 10:13:16 +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 4BhKWw3dPcz4Y80; Wed, 2 Sep 2020 10:13:16 +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 60F3E8F50; Wed, 2 Sep 2020 10:13:16 +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 082ADGfQ009363; Wed, 2 Sep 2020 10:13:16 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 082ADG0u009362; Wed, 2 Sep 2020 10:13:16 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202009021013.082ADG0u009362@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 2 Sep 2020 10:13: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: r365241 - stable/12/sys/dev/sound/usb X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/12/sys/dev/sound/usb X-SVN-Commit-Revision: 365241 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 10:13:16 -0000 Author: hselasky Date: Wed Sep 2 10:13:15 2020 New Revision: 365241 URL: https://svnweb.freebsd.org/changeset/base/365241 Log: MFC r364374: Print current buffer latency in dmesg for the USB audio driver and not just the maximum. Sponsored by: Mellanox Technologies Modified: stable/12/sys/dev/sound/usb/uaudio.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/sound/usb/uaudio.c ============================================================================== --- stable/12/sys/dev/sound/usb/uaudio.c Wed Sep 2 10:11:21 2020 (r365240) +++ stable/12/sys/dev/sound/usb/uaudio.c Wed Sep 2 10:13:15 2020 (r365241) @@ -1029,10 +1029,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) @@ -1058,10 +1059,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-stable-12@freebsd.org Wed Sep 2 10:16:36 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 07E953D3A89; Wed, 2 Sep 2020 10:16:36 +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 4BhKbl6TgPz4YnR; Wed, 2 Sep 2020 10:16: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 C20199284; Wed, 2 Sep 2020 10:16: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 082AGZZm009627; Wed, 2 Sep 2020 10:16:35 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 082AGZYN009626; Wed, 2 Sep 2020 10:16:35 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202009021016.082AGZYN009626@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 2 Sep 2020 10:16: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: r365243 - stable/12/share/man/man4 X-SVN-Group: stable-12 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/12/share/man/man4 X-SVN-Commit-Revision: 365243 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 10:16:36 -0000 Author: hselasky Date: Wed Sep 2 10:16:35 2020 New Revision: 365243 URL: https://svnweb.freebsd.org/changeset/base/365243 Log: MFC r364758: Add mlx5en(4) to the list of supported netdump network drivers. Sponsored by: Mellanox Technologies Modified: stable/12/share/man/man4/netdump.4 Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man4/netdump.4 ============================================================================== --- stable/12/share/man/man4/netdump.4 Wed Sep 2 10:14:09 2020 (r365242) +++ stable/12/share/man/man4/netdump.4 Wed Sep 2 10:16:35 2020 (r365243) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 5, 2018 +.Dd August 25, 2020 .Dt NETDUMP 4 .Os .Sh NAME @@ -107,6 +107,7 @@ The following network drivers support netdump: .Xr ix 4 , .Xr ixl 4 , .Xr mlx4en 4 , +.Xr mlx5en 4 , .Xr re 4 , .Xr vtnet 4 . .Sh SYSCTL VARIABLES From owner-svn-src-stable-12@freebsd.org Wed Sep 2 12:45:15 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BE7663D71FC for ; Wed, 2 Sep 2020 12:45:15 +0000 (UTC) (envelope-from kevans@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 4BhNvH4FZyz4hwd for ; Wed, 2 Sep 2020 12:45:15 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 708DE235A7 for ; Wed, 2 Sep 2020 12:45:15 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f180.google.com with SMTP id b14so4138281qkn.4 for ; Wed, 02 Sep 2020 05:45:15 -0700 (PDT) X-Gm-Message-State: AOAM53123ez7melRq81e00ufVVJ9pAtPUOSMFcZ4Zn5kBAUesEiq2bnQ VuBSbw/zVFyoWRBCxbzYpRRqRol1kpHGmjiF9Vo= X-Google-Smtp-Source: ABdhPJw49sqw44i7X6tRWxoaskCx10/m7L1BAoqGoqSZbEj5KD8KOTdfhaa0aV6oAm9QmInJnx/iz3Pg4hI9YrEoR+s= X-Received: by 2002:a37:a189:: with SMTP id k131mr6561244qke.34.1599050714731; Wed, 02 Sep 2020 05:45:14 -0700 (PDT) MIME-Version: 1.0 References: <202009020135.0821ZkYK085806@repo.freebsd.org> <202009020626.0826Q38g057727@nuc.oldach.net> In-Reply-To: <202009020626.0826Q38g057727@nuc.oldach.net> From: Kyle Evans Date: Wed, 2 Sep 2020 07:45:03 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r365233 - in stable: 11/secure/caroot/trusted 12/secure/caroot/trusted To: Helge Oldach Cc: svn-src-stable-12@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 12:45:15 -0000 On Wed, Sep 2, 2020 at 1:26 AM Helge Oldach wrote: > > Hi, > > Kyle Evans wrote on Wed, 02 Sep 2020 03:35:46 +0200 (CEST): > > Author: kevans > > Date: Wed Sep 2 01:35:45 2020 > > New Revision: 365233 > > URL: https://svnweb.freebsd.org/changeset/base/365233 > > > > Log: > > MFC r364943: carrot: update bundle > > > > Stats: > > - Seven (7) removed > > I'm kind of confused by the caroot update process. > > secure/caroot/README states: > > 1) Any no-longer-trusted certificates should be moved to the > blacklisted directory (svn mv) > > Apparently that hasn't happened here. The impact is that during a build > from source and installworld retired certificates will *not* be removed > from the system. IMHO that is kind of a POLA violation, as users need to > manually wipe /usr/share/certs/trusted/ prior to installworld to achieve > the desired result. > > Am I missing something? > Alas, it is not you that is missing something, it is me. :-) You and the instructions are 100% correct; I will fix this posthaste. Thanks, Kyle Evans From owner-svn-src-stable-12@freebsd.org Wed Sep 2 17:46:57 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5C7283DECE1; Wed, 2 Sep 2020 17:46:57 +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 4BhWbP0vVGz3bn8; Wed, 2 Sep 2020 17:46:57 +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 DCC30E2AE; Wed, 2 Sep 2020 17:46:56 +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 082HkuHo086361; Wed, 2 Sep 2020 17:46:56 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 082HkuwY086360; Wed, 2 Sep 2020 17:46:56 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202009021746.082HkuwY086360@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 2 Sep 2020 17:46:56 +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: r365263 - stable/12/bin/date X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/bin/date X-SVN-Commit-Revision: 365263 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 17:46:57 -0000 Author: emaste Date: Wed Sep 2 17:46:56 2020 New Revision: 365263 URL: https://svnweb.freebsd.org/changeset/base/365263 Log: MFC r364790: date.1: note possibly surprising behaviour of -j -f PR: 248918 Modified: stable/12/bin/date/date.1 Directory Properties: stable/12/ (props changed) Modified: stable/12/bin/date/date.1 ============================================================================== --- stable/12/bin/date/date.1 Wed Sep 2 17:36:30 2020 (r365262) +++ stable/12/bin/date/date.1 Wed Sep 2 17:46:56 2020 (r365263) @@ -32,7 +32,7 @@ .\" @(#)date.1 8.3 (Berkeley) 4/28/95 .\" $FreeBSD$ .\" -.Dd August 4, 2018 +.Dd August 25, 2020 .Dt DATE 1 .Os .Sh NAME @@ -154,6 +154,9 @@ This allows you to use the flag in addition to the .Cm + option to convert one date format to another. +Note that any date or time components unspecified by the +.Fl f +format string take their values from the current time. .It Fl n By default, if the .Xr timed 8 From owner-svn-src-stable-12@freebsd.org Wed Sep 2 19:02:49 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 444B23C66C0; Wed, 2 Sep 2020 19:02:49 +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 4BhYGx142Sz457P; Wed, 2 Sep 2020 19:02:49 +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 07CFCF0CB; Wed, 2 Sep 2020 19:02:49 +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 082J2mw5036166; Wed, 2 Sep 2020 19:02:48 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 082J2mw8036163; Wed, 2 Sep 2020 19:02:48 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202009021902.082J2mw8036163@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 2 Sep 2020 19:02:48 +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: r365270 - in stable: 11/sys/conf 11/sys/modules/ipsec 11/sys/modules/tcp/tcpmd5 12/sys/conf 12/sys/modules/ipsec 12/sys/modules/tcp/tcpmd5 X-SVN-Group: stable-12 X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in stable: 11/sys/conf 11/sys/modules/ipsec 11/sys/modules/tcp/tcpmd5 12/sys/conf 12/sys/modules/ipsec 12/sys/modules/tcp/tcpmd5 X-SVN-Commit-Revision: 365270 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 19:02:49 -0000 Author: jhb Date: Wed Sep 2 19:02:48 2020 New Revision: 365270 URL: https://svnweb.freebsd.org/changeset/base/365270 Log: MFC 361632: Honor opt_ipsec.h from kernel builds. To make this simpler, set the default contents of opt_ipsec.h for standalone modules in sys/conf/config.mk. Modified: stable/12/sys/conf/config.mk stable/12/sys/modules/ipsec/Makefile stable/12/sys/modules/tcp/tcpmd5/Makefile Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/sys/conf/config.mk stable/11/sys/modules/ipsec/Makefile stable/11/sys/modules/tcp/tcpmd5/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/12/sys/conf/config.mk ============================================================================== --- stable/12/sys/conf/config.mk Wed Sep 2 18:44:01 2020 (r365269) +++ stable/12/sys/conf/config.mk Wed Sep 2 19:02:48 2020 (r365270) @@ -19,6 +19,8 @@ opt_inet.h: opt_inet6.h: @echo "#define INET6 1" > ${.TARGET} .endif +opt_ipsec.h: + @echo "#define IPSEC_SUPPORT 1" > ${.TARGET} .if ${MK_RATELIMIT} != "no" opt_ratelimit.h: @echo "#define RATELIMIT 1" > ${.TARGET} Modified: stable/12/sys/modules/ipsec/Makefile ============================================================================== --- stable/12/sys/modules/ipsec/Makefile Wed Sep 2 18:44:01 2020 (r365269) +++ stable/12/sys/modules/ipsec/Makefile Wed Sep 2 19:02:48 2020 (r365270) @@ -8,7 +8,4 @@ SRCS= if_ipsec.c ipsec.c ipsec_input.c ipsec_mbuf.c ip opt_inet.h opt_inet6.h opt_ipsec.h opt_sctp.h SRCS.INET= udpencap.c -opt_ipsec.h: - @echo "#define IPSEC_SUPPORT 1" > ${.TARGET} - .include Modified: stable/12/sys/modules/tcp/tcpmd5/Makefile ============================================================================== --- stable/12/sys/modules/tcp/tcpmd5/Makefile Wed Sep 2 18:44:01 2020 (r365269) +++ stable/12/sys/modules/tcp/tcpmd5/Makefile Wed Sep 2 19:02:48 2020 (r365270) @@ -5,7 +5,4 @@ KMOD= tcpmd5 SRCS= xform_tcp.c opt_inet.h opt_inet6.h opt_ipsec.h -opt_ipsec.h: - @echo "#define IPSEC_SUPPORT 1" > ${.TARGET} - .include From owner-svn-src-stable-12@freebsd.org Wed Sep 2 20:36:35 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0AF893C8EC9; Wed, 2 Sep 2020 20:36:35 +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 4BhbM66Cn7z4FZr; Wed, 2 Sep 2020 20:36:34 +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 B943F101B6; Wed, 2 Sep 2020 20:36:34 +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 082KaYIo092822; Wed, 2 Sep 2020 20:36:34 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 082KaXeH092815; Wed, 2 Sep 2020 20:36:33 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202009022036.082KaXeH092815@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 2 Sep 2020 20:36:33 +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: r365277 - in stable: 11/sys/net 11/sys/netipsec 12/sys/net 12/sys/netipsec X-SVN-Group: stable-12 X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in stable: 11/sys/net 11/sys/netipsec 12/sys/net 12/sys/netipsec X-SVN-Commit-Revision: 365277 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 20:36:35 -0000 Author: jhb Date: Wed Sep 2 20:36:33 2020 New Revision: 365277 URL: https://svnweb.freebsd.org/changeset/base/365277 Log: MFC 361633: Consistently include opt_ipsec.h for consumers of . This fixes ipsec.ko to include all of IPSEC_DEBUG. Modified: stable/12/sys/net/if_enc.c stable/12/sys/net/if_ipsec.c stable/12/sys/netipsec/ipsec.h stable/12/sys/netipsec/ipsec_mbuf.c stable/12/sys/netipsec/xform_ah.c stable/12/sys/netipsec/xform_esp.c stable/12/sys/netipsec/xform_ipcomp.c Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/sys/net/if_enc.c stable/11/sys/net/if_ipsec.c stable/11/sys/netipsec/ipsec.h stable/11/sys/netipsec/ipsec_mbuf.c stable/11/sys/netipsec/xform_ah.c stable/11/sys/netipsec/xform_esp.c stable/11/sys/netipsec/xform_ipcomp.c Directory Properties: stable/11/ (props changed) Modified: stable/12/sys/net/if_enc.c ============================================================================== --- stable/12/sys/net/if_enc.c Wed Sep 2 20:04:26 2020 (r365276) +++ stable/12/sys/net/if_enc.c Wed Sep 2 20:36:33 2020 (r365277) @@ -32,6 +32,7 @@ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_ipsec.h" #include #include Modified: stable/12/sys/net/if_ipsec.c ============================================================================== --- stable/12/sys/net/if_ipsec.c Wed Sep 2 20:04:26 2020 (r365276) +++ stable/12/sys/net/if_ipsec.c Wed Sep 2 20:36:33 2020 (r365277) @@ -30,6 +30,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_ipsec.h" #include #include Modified: stable/12/sys/netipsec/ipsec.h ============================================================================== --- stable/12/sys/netipsec/ipsec.h Wed Sep 2 20:04:26 2020 (r365276) +++ stable/12/sys/netipsec/ipsec.h Wed Sep 2 20:36:33 2020 (r365277) @@ -39,11 +39,6 @@ #ifndef _NETIPSEC_IPSEC_H_ #define _NETIPSEC_IPSEC_H_ -#if defined(_KERNEL) && !defined(_LKM) && !defined(KLD_MODULE) -#include "opt_inet.h" -#include "opt_ipsec.h" -#endif - #include #include Modified: stable/12/sys/netipsec/ipsec_mbuf.c ============================================================================== --- stable/12/sys/netipsec/ipsec_mbuf.c Wed Sep 2 20:04:26 2020 (r365276) +++ stable/12/sys/netipsec/ipsec_mbuf.c Wed Sep 2 20:36:33 2020 (r365277) @@ -32,6 +32,8 @@ * IPsec-specific mbuf routines. */ +#include "opt_ipsec.h" + #include #include #include Modified: stable/12/sys/netipsec/xform_ah.c ============================================================================== --- stable/12/sys/netipsec/xform_ah.c Wed Sep 2 20:04:26 2020 (r365276) +++ stable/12/sys/netipsec/xform_ah.c Wed Sep 2 20:36:33 2020 (r365277) @@ -38,6 +38,7 @@ */ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_ipsec.h" #include #include Modified: stable/12/sys/netipsec/xform_esp.c ============================================================================== --- stable/12/sys/netipsec/xform_esp.c Wed Sep 2 20:04:26 2020 (r365276) +++ stable/12/sys/netipsec/xform_esp.c Wed Sep 2 20:36:33 2020 (r365277) @@ -37,6 +37,7 @@ */ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_ipsec.h" #include #include Modified: stable/12/sys/netipsec/xform_ipcomp.c ============================================================================== --- stable/12/sys/netipsec/xform_ipcomp.c Wed Sep 2 20:04:26 2020 (r365276) +++ stable/12/sys/netipsec/xform_ipcomp.c Wed Sep 2 20:36:33 2020 (r365277) @@ -33,6 +33,7 @@ /* IP payload compression protocol (IPComp), see RFC 2393 */ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_ipsec.h" #include #include From owner-svn-src-stable-12@freebsd.org Wed Sep 2 21:36:56 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4BE9A3CA726; Wed, 2 Sep 2020 21:36:56 +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 4Bhchm1KJdz4L1m; Wed, 2 Sep 2020 21:36:56 +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 10B8C10E14; Wed, 2 Sep 2020 21:36:56 +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 082Latlp029949; Wed, 2 Sep 2020 21:36:55 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 082LatjO029946; Wed, 2 Sep 2020 21:36:55 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202009022136.082LatjO029946@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 2 Sep 2020 21:36: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: r365281 - in stable: 11/sys/conf 11/sys/modules 11/sys/modules/tcp 12/sys/conf 12/sys/modules 12/sys/modules/tcp X-SVN-Group: stable-12 X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in stable: 11/sys/conf 11/sys/modules 11/sys/modules/tcp 12/sys/conf 12/sys/modules 12/sys/modules/tcp X-SVN-Commit-Revision: 365281 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 21:36:56 -0000 Author: jhb Date: Wed Sep 2 21:36:55 2020 New Revision: 365281 URL: https://svnweb.freebsd.org/changeset/base/365281 Log: MFC 361638,361712: Only build ipsec modules for kernels with IPSEC_SUPPORT. 361638: Only build ipsec modules if the kernel includes IPSEC_SUPPORT. Honoring the kernel-supplied opt_ipsec.h in r361632 causes builds of ipsec modules to fail if the kernel doesn't include IPSEC_SUPPORT. However, the module can never be loaded into such a kernel, so only build the modules if the kernel includes IPSEC_SUPPORT. 361712: (kevans) modules: don't build ipsec/tcpmd5 if the kernel is configured for IPSEC IPSEC_SUPPORT can currently only cope with either IPSEC || IPSEC_SUPPORT, not both. Refrain from building if IPSEC is set, as the resulting module won't be able to load anyways if it's built into the kernel. KERN_OPTS is safe here; for tied modules, it will reflect the kernel configuration. For untied modules, it will defer to whatever is set in ^/sys/conf/config.mk, which doesn't set IPSEC for modules. The latter situation has some risk to it for uncommon scenarios, but such is the life of untied kernel modules. Modified: stable/12/sys/conf/config.mk stable/12/sys/modules/Makefile stable/12/sys/modules/tcp/Makefile Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/sys/conf/config.mk stable/11/sys/modules/Makefile stable/11/sys/modules/tcp/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/12/sys/conf/config.mk ============================================================================== --- stable/12/sys/conf/config.mk Wed Sep 2 21:17:54 2020 (r365280) +++ stable/12/sys/conf/config.mk Wed Sep 2 21:36:55 2020 (r365281) @@ -19,8 +19,10 @@ opt_inet.h: opt_inet6.h: @echo "#define INET6 1" > ${.TARGET} .endif +.if ${MK_IPSEC_SUPPORT} != "no" opt_ipsec.h: @echo "#define IPSEC_SUPPORT 1" > ${.TARGET} +.endif .if ${MK_RATELIMIT} != "no" opt_ratelimit.h: @echo "#define RATELIMIT 1" > ${.TARGET} @@ -50,6 +52,9 @@ KERN_OPTS+= INET TCP_OFFLOAD .endif .if ${MK_INET6_SUPPORT} != "no" KERN_OPTS+= INET6 +.endif +.if ${MK_IPSEC_SUPPORT} != "no" +KERN_OPTS+= IPSEC_SUPPORT .endif .if ${MK_SCTP_SUPPORT} != "no" KERN_OPTS+= SCTP_SUPPORT Modified: stable/12/sys/modules/Makefile ============================================================================== --- stable/12/sys/modules/Makefile Wed Sep 2 21:17:54 2020 (r365280) +++ stable/12/sys/modules/Makefile Wed Sep 2 21:36:55 2020 (r365281) @@ -8,6 +8,8 @@ SUBDIR_PARALLEL= # Modules that include binary-only blobs of microcode should be selectable by # MK_SOURCELESS_UCODE option (see below). +.include "${SYSDIR}/conf/config.mk" + .if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES) SUBDIR=${MODULES_OVERRIDE} .else @@ -459,7 +461,7 @@ _if_enc= if_enc _if_gif= if_gif _if_gre= if_gre _ipfw_pmod= ipfw_pmod -.if ${MK_IPSEC_SUPPORT} != "no" +.if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC} _ipsec= ipsec .endif .if ${MK_SCTP_SUPPORT} != "no" || ${MK_SCTP} != "no" @@ -868,8 +870,6 @@ afterinstall: .PHONY kldxref ${DESTDIR}${KMODDIR}; \ fi .endif - -.include "${SYSDIR}/conf/config.mk" SUBDIR:= ${SUBDIR:u:O} Modified: stable/12/sys/modules/tcp/Makefile ============================================================================== --- stable/12/sys/modules/tcp/Makefile Wed Sep 2 21:17:54 2020 (r365280) +++ stable/12/sys/modules/tcp/Makefile Wed Sep 2 21:36:55 2020 (r365281) @@ -15,7 +15,7 @@ _tcp_rack= rack .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ defined(ALL_MODULES) -.if ${MK_IPSEC_SUPPORT} != "no" +.if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC} _tcpmd5= tcpmd5 .endif .endif From owner-svn-src-stable-12@freebsd.org Wed Sep 2 21:47:08 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C43C33CB0A7; Wed, 2 Sep 2020 21:47:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BhcwX4p05z4Ldw; Wed, 2 Sep 2020 21:47:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-274.local (unknown [IPv6:2601:648:8681:1cb0:dce5:13fe:b1b9:a95d]) (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 14CCA27A0E; Wed, 2 Sep 2020 21:47:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r365281 - in stable: 11/sys/conf 11/sys/modules 11/sys/modules/tcp 12/sys/conf 12/sys/modules 12/sys/modules/tcp From: John Baldwin To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org References: <202009022136.082LatjO029946@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: Wed, 2 Sep 2020 14:47:06 -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: <202009022136.082LatjO029946@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 21:47:08 -0000 On 9/2/20 2:36 PM, John Baldwin wrote: > Author: jhb > Date: Wed Sep 2 21:36:55 2020 > New Revision: 365281 > URL: https://svnweb.freebsd.org/changeset/base/365281 > > Log: > MFC 361638,361712: Only build ipsec modules for kernels with IPSEC_SUPPORT. > > 361638: > Only build ipsec modules if the kernel includes IPSEC_SUPPORT. > > Honoring the kernel-supplied opt_ipsec.h in r361632 causes builds of > ipsec modules to fail if the kernel doesn't include IPSEC_SUPPORT. > However, the module can never be loaded into such a kernel, so only > build the modules if the kernel includes IPSEC_SUPPORT. > > 361712: (kevans) > modules: don't build ipsec/tcpmd5 if the kernel is configured for IPSEC > > IPSEC_SUPPORT can currently only cope with either IPSEC || IPSEC_SUPPORT, > not both. Refrain from building if IPSEC is set, as the resulting module > won't be able to load anyways if it's built into the kernel. > > KERN_OPTS is safe here; for tied modules, it will reflect the kernel > configuration. For untied modules, it will defer to whatever is set in > ^/sys/conf/config.mk, which doesn't set IPSEC for modules. The latter > situation has some risk to it for uncommon scenarios, but such is the life > of untied kernel modules. This should fix the build breakage from r365270 (sorry). -- John Baldwin From owner-svn-src-stable-12@freebsd.org Thu Sep 3 08:38:05 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 51D9D3DF523; Thu, 3 Sep 2020 08:38:05 +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 4BhvMd1Tqyz45c4; Thu, 3 Sep 2020 08:38:05 +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 15FB118B60; Thu, 3 Sep 2020 08:38:05 +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 0838c4VA038103; Thu, 3 Sep 2020 08:38:04 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0838c4Ef038100; Thu, 3 Sep 2020 08:38:04 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202009030838.0838c4Ef038100@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Thu, 3 Sep 2020 08:38: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: r365292 - 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: 365292 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 08:38:05 -0000 Author: rscheff Date: Thu Sep 3 08:38:04 2020 New Revision: 365292 URL: https://svnweb.freebsd.org/changeset/base/365292 Log: MFC r364195: Improve SACK support code for RFC6675 and PRR Adding proper accounting of sacked_bytes and (per-ACK) delivered data to the SACK scoreboard. This will allow more aspects of RFC6675 to be implemented as well as Proportional Rate Reduction (RFC6937). Prior to this change, the pipe calculation controlled with net.inet.tcp.rfc6675_pipe was also susceptible to incorrect results when more than 3 (or 4) holes in the sequence space were present, which can no longer all fit into a single ACK's SACK option. Reviewed by: kbowling, rgrimes (mentor) Approved by: rgrimes (blanket) MFC after: 3 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D18624 Modified: stable/12/sys/netinet/tcp_input.c stable/12/sys/netinet/tcp_sack.c stable/12/sys/netinet/tcp_var.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netinet/tcp_input.c ============================================================================== --- stable/12/sys/netinet/tcp_input.c Thu Sep 3 08:16:57 2020 (r365291) +++ stable/12/sys/netinet/tcp_input.c Thu Sep 3 08:38:04 2020 (r365292) @@ -2715,9 +2715,16 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, stru tp->t_dupacks = 0; /* * If this ack also has new SACK info, increment the - * counter as per rfc6675. + * counter as per rfc6675. The variable + * sack_changed tracks all changes to the SACK + * scoreboard, including when partial ACKs without + * SACK options are received, and clear the scoreboard + * from the left side. Such partial ACKs should not be + * counted as dupacks here. */ - if ((tp->t_flags & TF_SACK_PERMIT) && sack_changed) + if ((tp->t_flags & TF_SACK_PERMIT) && + (to.to_flags & TOF_SACK) && + sack_changed) tp->t_dupacks++; } Modified: stable/12/sys/netinet/tcp_sack.c ============================================================================== --- stable/12/sys/netinet/tcp_sack.c Thu Sep 3 08:16:57 2020 (r365291) +++ stable/12/sys/netinet/tcp_sack.c Thu Sep 3 08:38:04 2020 (r365292) @@ -534,9 +534,7 @@ tcp_sackhole_remove(struct tcpcb *tp, struct sackhole * tp->snd_holes is an ordered list of holes (oldest to newest, in terms of * the sequence space). * Returns 1 if incoming ACK has previously unknown SACK information, - * 0 otherwise. Note: We treat (snd_una, th_ack) as a sack block so any changes - * to that (i.e. left edge moving) would also be considered a change in SACK - * information which is slightly different than rfc6675. + * 0 otherwise. */ int tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tcp_seq th_ack) @@ -544,16 +542,21 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc struct sackhole *cur, *temp; struct sackblk sack, sack_blocks[TCP_MAX_SACK + 1], *sblkp; int i, j, num_sack_blks, sack_changed; + int delivered_data, left_edge_delta; INP_WLOCK_ASSERT(tp->t_inpcb); num_sack_blks = 0; sack_changed = 0; + delivered_data = 0; + left_edge_delta = 0; /* * If SND.UNA will be advanced by SEG.ACK, and if SACK holes exist, * treat [SND.UNA, SEG.ACK) as if it is a SACK block. + * Account changes to SND.UNA always in delivered data. */ if (SEQ_LT(tp->snd_una, th_ack) && !TAILQ_EMPTY(&tp->snd_holes)) { + left_edge_delta = th_ack - tp->snd_una; sack_blocks[num_sack_blks].start = tp->snd_una; sack_blocks[num_sack_blks++].end = th_ack; } @@ -562,7 +565,6 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc * received new blocks from the other side. */ if (to->to_flags & TOF_SACK) { - tp->sackhint.sacked_bytes = 0; /* reset */ for (i = 0; i < to->to_nsacks; i++) { bcopy((to->to_sacks + i * TCPOLEN_SACK), &sack, sizeof(sack)); @@ -575,8 +577,6 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc SEQ_GT(sack.end, tp->snd_una) && SEQ_LEQ(sack.end, tp->snd_max)) { sack_blocks[num_sack_blks++] = sack; - tp->sackhint.sacked_bytes += - (sack.end-sack.start); } } } @@ -601,7 +601,7 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc } } } - if (TAILQ_EMPTY(&tp->snd_holes)) + if (TAILQ_EMPTY(&tp->snd_holes)) { /* * Empty scoreboard. Need to initialize snd_fack (it may be * uninitialized or have a bogus value). Scoreboard holes @@ -610,6 +610,8 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc * scoreboard). */ tp->snd_fack = SEQ_MAX(tp->snd_una, th_ack); + tp->sackhint.sacked_bytes = 0; /* reset */ + } /* * In the while-loop below, incoming SACK blocks (sack_blocks[]) and * SACK holes (snd_holes) are traversed from their tails with just @@ -633,6 +635,7 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc */ temp = tcp_sackhole_insert(tp, tp->snd_fack,sblkp->start,NULL); if (temp != NULL) { + delivered_data += sblkp->end - sblkp->start; tp->snd_fack = sblkp->end; /* Go to the previous sack block. */ sblkp--; @@ -650,11 +653,15 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc SEQ_LT(tp->snd_fack, sblkp->start)) sblkp--; if (sblkp >= sack_blocks && - SEQ_LT(tp->snd_fack, sblkp->end)) + SEQ_LT(tp->snd_fack, sblkp->end)) { + delivered_data += sblkp->end - tp->snd_fack; tp->snd_fack = sblkp->end; + sack_changed = 1; + } } } else if (SEQ_LT(tp->snd_fack, sblkp->end)) { /* fack is advanced. */ + delivered_data += sblkp->end - tp->snd_fack; tp->snd_fack = sblkp->end; sack_changed = 1; } @@ -688,6 +695,7 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc /* Data acks at least the beginning of hole. */ if (SEQ_GEQ(sblkp->end, cur->end)) { /* Acks entire hole, so delete hole. */ + delivered_data += (cur->end - cur->start); temp = cur; cur = TAILQ_PREV(cur, sackhole_head, scblink); tcp_sackhole_remove(tp, temp); @@ -699,6 +707,7 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc continue; } else { /* Move start of hole forward. */ + delivered_data += (sblkp->end - cur->start); cur->start = sblkp->end; cur->rxmit = SEQ_MAX(cur->rxmit, cur->start); } @@ -706,6 +715,7 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc /* Data acks at least the end of hole. */ if (SEQ_GEQ(sblkp->end, cur->end)) { /* Move end of hole backward. */ + delivered_data += (cur->end - sblkp->start); cur->end = sblkp->start; cur->rxmit = SEQ_MIN(cur->rxmit, cur->end); } else { @@ -725,6 +735,7 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc cur->end = sblkp->start; cur->rxmit = SEQ_MIN(cur->rxmit, cur->end); + delivered_data += (sblkp->end - sblkp->start); } } } @@ -739,6 +750,10 @@ tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tc else sblkp--; } + tp->sackhint.delivered_data = delivered_data; + tp->sackhint.sacked_bytes += delivered_data - left_edge_delta; + KASSERT((delivered_data >= 0), ("delivered_data < 0")); + KASSERT((tp->sackhint.sacked_bytes >= 0), ("sacked_bytes < 0")); return (sack_changed); } Modified: stable/12/sys/netinet/tcp_var.h ============================================================================== --- stable/12/sys/netinet/tcp_var.h Thu Sep 3 08:16:57 2020 (r365291) +++ stable/12/sys/netinet/tcp_var.h Thu Sep 3 08:38:04 2020 (r365292) @@ -70,12 +70,12 @@ struct sackhole { struct sackhint { struct sackhole *nexthole; - int sack_bytes_rexmit; + int32_t sack_bytes_rexmit; tcp_seq last_sack_ack; /* Most recent/largest sacked ack */ - int ispare; /* explicit pad for 64bit alignment */ - int sacked_bytes; /* - * Total sacked bytes reported by the + int32_t delivered_data; /* Newly acked data from last SACK */ + + int32_t sacked_bytes; /* Total sacked bytes reported by the * receiver via sack option */ uint32_t _pad1[1]; /* TBD */ From owner-svn-src-stable-12@freebsd.org Thu Sep 3 08:41:39 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B68CB3DF3ED; Thu, 3 Sep 2020 08:41:39 +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 4BhvRl4VDWz4615; Thu, 3 Sep 2020 08:41:39 +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 7B91118DC7; Thu, 3 Sep 2020 08:41:39 +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 0838fdgq040677; Thu, 3 Sep 2020 08:41:39 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0838fdO3040676; Thu, 3 Sep 2020 08:41:39 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202009030841.0838fdO3040676@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Thu, 3 Sep 2020 08:41:39 +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: r365293 - 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: 365293 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 08:41:39 -0000 Author: rscheff Date: Thu Sep 3 08:41:38 2020 New Revision: 365293 URL: https://svnweb.freebsd.org/changeset/base/365293 Log: MFC r364196: TCP Cubic: After leaving slowstart fix unintended cwnd jump. Initializing K to zero in D23655 introduced a miscalculation, where cwnd would suddenly jump to cwnd_max instead of gradually increasing, after leaving slow-start. Properly calculating K instead of resetting it to zero resolves this issue. Also making sure, that cwnd is recalculated at the earliest opportunity once slow-start is over. Reported by: chengc_netapp.com Reviewed by: chengc_netapp.com, tuexen (mentor), rgrimes (mentor) Approved by: tuexen (mentor), rgrimes (mentor) MFC after: 3 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D25746 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 Thu Sep 3 08:38:04 2020 (r365292) +++ stable/12/sys/netinet/cc/cc_cubic.c Thu Sep 3 08:41:38 2020 (r365293) @@ -132,19 +132,29 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type) /* * Regular ACK and we're not in cong/fast recovery and we're cwnd - * limited and we're either not doing ABC or are slow starting or are - * doing ABC and we've sent a cwnd's worth of bytes. + * 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. */ 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))) { + (V_tcp_do_rfc3465 && (ccv->flags & CCF_ABC_SENTAWND)))) { /* 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) { cubic_data->flags |= CUBICFLAG_IN_SLOWSTART; newreno_cc_algo.ack_received(ccv, type); } else { + if (cubic_data->flags & (CUBICFLAG_IN_SLOWSTART | + CUBICFLAG_IN_APPLIMIT)) { + cubic_data->flags &= ~(CUBICFLAG_IN_SLOWSTART | + CUBICFLAG_IN_APPLIMIT); + cubic_data->t_last_cong = ticks; + cubic_data->K = cubic_k(cubic_data->max_cwnd / + CCV(ccv, t_maxseg)); + } if ((ticks_since_cong = ticks - cubic_data->t_last_cong) < 0) { /* @@ -152,14 +162,6 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type) */ ticks_since_cong = INT_MAX; cubic_data->t_last_cong = ticks - INT_MAX; - } - - if (cubic_data->flags & (CUBICFLAG_IN_SLOWSTART | - CUBICFLAG_IN_APPLIMIT)) { - cubic_data->flags &= ~(CUBICFLAG_IN_SLOWSTART | - CUBICFLAG_IN_APPLIMIT); - cubic_data->t_last_cong = ticks; - cubic_data->K = 0; } /* * The mean RTT is used to best reflect the equations in From owner-svn-src-stable-12@freebsd.org Thu Sep 3 08:45:22 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A54943DFA7B; Thu, 3 Sep 2020 08:45:22 +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 4BhvX23sRlz46T3; Thu, 3 Sep 2020 08:45:22 +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 67DAA186F8; Thu, 3 Sep 2020 08:45:22 +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 0838jMYT043917; Thu, 3 Sep 2020 08:45:22 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0838jMmU043916; Thu, 3 Sep 2020 08:45:22 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202009030845.0838jMmU043916@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Thu, 3 Sep 2020 08:45:22 +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: r365294 - 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: 365294 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 08:45:22 -0000 Author: rscheff Date: Thu Sep 3 08:45:21 2020 New Revision: 365294 URL: https://svnweb.freebsd.org/changeset/base/365294 Log: MFC r364197: TCP Cubic: Have Fast Convergence Heuristic work for ECN, and align concave region The Cubic concave region was not aligned nicely for the very first exit from slow start, where a 50% cwnd reduction is done instead of the normal 30%. This addresses an issue, where a short line-rate burst could result from that sudden jump of cwnd. In addition, the Fast Convergence Heuristic has been expanded to work also with ECN induced congestion response. Submitted by: chengc_netapp.com Reported by: chengc_netapp.com Reviewed by: tuexen (mentor), rgrimes (mentor) Approved by: tuexen (mentor), rgrimes (mentor) MFC after: 3 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D25976 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 Thu Sep 3 08:41:38 2020 (r365293) +++ stable/12/sys/netinet/cc/cc_cubic.c Thu Sep 3 08:45:21 2020 (r365294) @@ -286,8 +286,7 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { cubic_ssthresh_update(ccv); cubic_data->flags |= CUBICFLAG_CONG_EVENT; - cubic_data->prev_max_cwnd = cubic_data->max_cwnd; - cubic_data->max_cwnd = CCV(ccv, snd_cwnd); + cubic_data->t_last_cong = ticks; cubic_data->K = cubic_k(cubic_data->max_cwnd / CCV(ccv, t_maxseg)); } ENTER_RECOVERY(CCV(ccv, t_flags)); @@ -298,8 +297,6 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { cubic_ssthresh_update(ccv); cubic_data->flags |= CUBICFLAG_CONG_EVENT; - cubic_data->prev_max_cwnd = cubic_data->max_cwnd; - cubic_data->max_cwnd = CCV(ccv, snd_cwnd); cubic_data->t_last_cong = ticks; cubic_data->K = cubic_k(cubic_data->max_cwnd / CCV(ccv, t_maxseg)); CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); @@ -361,11 +358,6 @@ cubic_post_recovery(struct cc_var *ccv) cubic_data = ccv->cc_data; pipe = 0; - /* Fast convergence heuristic. */ - if (cubic_data->max_cwnd < cubic_data->prev_max_cwnd) - cubic_data->max_cwnd = (cubic_data->max_cwnd * CUBIC_FC_FACTOR) - >> CUBIC_SHIFT; - if (IN_FASTRECOVERY(CCV(ccv, t_flags))) { /* * If inflight data is less than ssthresh, set cwnd @@ -392,7 +384,6 @@ cubic_post_recovery(struct cc_var *ccv) CUBIC_BETA) >> CUBIC_SHIFT, 2 * CCV(ccv, t_maxseg)); } - cubic_data->t_last_cong = ticks; /* Calculate the average RTT between congestion epochs. */ if (cubic_data->epoch_ack_count > 0 && @@ -403,7 +394,6 @@ cubic_post_recovery(struct cc_var *ccv) cubic_data->epoch_ack_count = 0; cubic_data->sum_rtt_ticks = 0; - cubic_data->K = cubic_k(cubic_data->max_cwnd / CCV(ccv, t_maxseg)); } /* @@ -457,18 +447,32 @@ cubic_ssthresh_update(struct cc_var *ccv) { struct cubic *cubic_data; uint32_t ssthresh; + uint32_t cwnd; cubic_data = ccv->cc_data; + cwnd = CCV(ccv, snd_cwnd); + /* Fast convergence heuristic. */ + if (cwnd < cubic_data->max_cwnd) { + cwnd = ((uint64_t)cwnd * CUBIC_FC_FACTOR) >> CUBIC_SHIFT; + } + cubic_data->prev_max_cwnd = cubic_data->max_cwnd; + cubic_data->max_cwnd = cwnd; + /* - * On the first congestion event, set ssthresh to cwnd * 0.5, on - * subsequent congestion events, set it to cwnd * beta. + * On the first congestion event, set ssthresh to cwnd * 0.5 + * and reduce max_cwnd to cwnd * beta. This aligns the cubic concave + * region appropriately. On subsequent congestion events, set + * ssthresh to cwnd * beta. */ - if ((cubic_data->flags & CUBICFLAG_CONG_EVENT) == 0) - ssthresh = CCV(ccv, snd_cwnd) >> 1; - else - ssthresh = ((uint64_t)CCV(ccv, snd_cwnd) * + if ((cubic_data->flags & CUBICFLAG_CONG_EVENT) == 0) { + ssthresh = cwnd >> 1; + cubic_data->max_cwnd = ((uint64_t)cwnd * CUBIC_BETA) >> CUBIC_SHIFT; + } else { + ssthresh = ((uint64_t)cwnd * + CUBIC_BETA) >> CUBIC_SHIFT; + } CCV(ccv, snd_ssthresh) = max(ssthresh, 2 * CCV(ccv, t_maxseg)); } From owner-svn-src-stable-12@freebsd.org Thu Sep 3 09:09:45 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 55E123E03BC; Thu, 3 Sep 2020 09:09:45 +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 4Bhw491dLfz47hB; Thu, 3 Sep 2020 09:09:45 +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 1B17219432; Thu, 3 Sep 2020 09:09:45 +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 08399iYn056863; Thu, 3 Sep 2020 09:09:44 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 08399ikC056862; Thu, 3 Sep 2020 09:09:44 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202009030909.08399ikC056862@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Thu, 3 Sep 2020 09:09:44 +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: r365295 - 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: 365295 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 09:09:45 -0000 Author: rscheff Date: Thu Sep 3 09:09:44 2020 New Revision: 365295 URL: https://svnweb.freebsd.org/changeset/base/365295 Log: MFC r364354: 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: stable/12/sys/netinet/cc/cc_cubic.c Modified: stable/12/sys/netinet/cc/cc_cubic.c ============================================================================== --- stable/12/sys/netinet/cc/cc_cubic.c Thu Sep 3 08:45:21 2020 (r365294) +++ stable/12/sys/netinet/cc/cc_cubic.c Thu Sep 3 09:09:44 2020 (r365295) @@ -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-stable-12@freebsd.org Thu Sep 3 13:22:09 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BF5B33E6437; Thu, 3 Sep 2020 13:22:09 +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 4Bj1gP4j4cz4QlW; Thu, 3 Sep 2020 13:22:09 +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 851C21C1BE; Thu, 3 Sep 2020 13:22:09 +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 083DM9nb013122; Thu, 3 Sep 2020 13:22:09 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 083DM90W013121; Thu, 3 Sep 2020 13:22:09 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202009031322.083DM90W013121@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Thu, 3 Sep 2020 13:22: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: r365297 - stable/12/bin/ls X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/bin/ls X-SVN-Commit-Revision: 365297 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 13:22:09 -0000 Author: gbe (doc committer) Date: Thu Sep 3 13:22:09 2020 New Revision: 365297 URL: https://svnweb.freebsd.org/changeset/base/365297 Log: MFC r364449, r365004: ls(1): Update POSIX conformance - Update the POSIX references for non-standard ls(1) options - Simplify the STANDARDS section by mention both supported POSIX versions Verified by checking [1]. [1] https://pubs.opengroup.org/onlinepubs/9699919799.2016edition/toc.htm PR: 140435 (based on) Submitted by: Dan Lukes Reviewed by: hrs, bcr Approved by: hrs, bcr Differential Revision: https://reviews.freebsd.org/D26210 Modified: stable/12/bin/ls/ls.1 Directory Properties: stable/12/ (props changed) Modified: stable/12/bin/ls/ls.1 ============================================================================== --- stable/12/bin/ls/ls.1 Thu Sep 3 10:11:12 2020 (r365296) +++ stable/12/bin/ls/ls.1 Thu Sep 3 13:22:09 2020 (r365297) @@ -32,7 +32,7 @@ .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 .\" $FreeBSD$ .\" -.Dd May 21, 2020 +.Dd August 31, 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,20 +184,20 @@ 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 . This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl a Include directory entries whose names begin with a dot @@ -209,7 +209,7 @@ but use .Tn C escape codes whenever possible. This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl c Use time when file status was last changed for sorting or printing. .It Fl -color Ns = Ns Ar when @@ -292,7 +292,7 @@ and .Fl t options. As allowed by -.St -p1003.1-2001 , +.St -p1003.1-2008 , this option has no effect on the .Fl d , .Fl l , @@ -308,7 +308,7 @@ where it was used to display the group name in the lon .Pq Fl l format output. This option is incompatible with -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl h When used with the .Fl l @@ -316,7 +316,7 @@ option, use unit suffixes: Byte, Kilobyte, Megabyte, G and Petabyte in order to reduce the number of digits to four or fewer using base 2 for sizes. This option is not defined in -.St -p1003.1-2001 . +.St -p1003.1-2008 . .It Fl i For each file, print the file's file serial number (inode number). .It Fl k @@ -343,7 +343,7 @@ Include the file flags in a long .Pq Fl l output. This option is incompatible with -.St -p1003.1-2001 . +.St -p1003.1-2008 . See .Xr chflags 1 for a list of file flags and their meanings. @@ -895,13 +895,14 @@ and the .Nm utility conforms to -.St -p1003.1-2001 . +.St -p1003.1-2001 +and +.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 . +are non-standard extensions. .Pp The ACL support is compatible with .Tn IEEE From owner-svn-src-stable-12@freebsd.org Thu Sep 3 13:56:31 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 397D63E7047; Thu, 3 Sep 2020 13:56:31 +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 4Bj2R273zWz4T6x; Thu, 3 Sep 2020 13:56:30 +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 D73591C9A7; Thu, 3 Sep 2020 13:56:30 +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 083DuU54035838; Thu, 3 Sep 2020 13:56:30 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 083DuU3m035837; Thu, 3 Sep 2020 13:56:30 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202009031356.083DuU3m035837@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 3 Sep 2020 13:56:30 +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: r365298 - stable/12/sys/dev/sound/pci X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/dev/sound/pci X-SVN-Commit-Revision: 365298 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 13:56:31 -0000 Author: markj Date: Thu Sep 3 13:56:30 2020 New Revision: 365298 URL: https://svnweb.freebsd.org/changeset/base/365298 Log: MFC r364873: snd_ich(4): Handle errors from ich_init() properly during resume. PR: 248941 Modified: stable/12/sys/dev/sound/pci/ich.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/sound/pci/ich.c ============================================================================== --- stable/12/sys/dev/sound/pci/ich.c Thu Sep 3 13:22:09 2020 (r365297) +++ stable/12/sys/dev/sound/pci/ich.c Thu Sep 3 13:56:30 2020 (r365298) @@ -1190,16 +1190,17 @@ static int ich_pci_resume(device_t dev) { struct sc_info *sc; - int i; + int err, i; sc = pcm_getdevinfo(dev); ICH_LOCK(sc); /* Reinit audio device */ - if (ich_init(sc) == -1) { + err = ich_init(sc); + if (err != 0) { device_printf(dev, "unable to reinitialize the card\n"); ICH_UNLOCK(sc); - return (ENXIO); + return (err); } /* Reinit mixer */ ich_pci_codec_reset(sc); From owner-svn-src-stable-12@freebsd.org Thu Sep 3 13:56:48 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 635B13E7317; Thu, 3 Sep 2020 13:56:48 +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 4Bj2RN1xyQz4Sxr; Thu, 3 Sep 2020 13:56:48 +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 243E51C8C9; Thu, 3 Sep 2020 13:56:48 +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 083DumhT035910; Thu, 3 Sep 2020 13:56:48 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 083DulXf035909; Thu, 3 Sep 2020 13:56:47 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202009031356.083DulXf035909@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 3 Sep 2020 13:56:47 +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: r365299 - stable/12/sys/dev/asmc X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/dev/asmc X-SVN-Commit-Revision: 365299 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 13:56:48 -0000 Author: markj Date: Thu Sep 3 13:56:47 2020 New Revision: 365299 URL: https://svnweb.freebsd.org/changeset/base/365299 Log: MFC r364871: asmc(4): Handle errors from asmc_key_read() properly. PR: 248939 Modified: stable/12/sys/dev/asmc/asmc.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/asmc/asmc.c ============================================================================== --- stable/12/sys/dev/asmc/asmc.c Thu Sep 3 13:56:30 2020 (r365298) +++ stable/12/sys/dev/asmc/asmc.c Thu Sep 3 13:56:47 2020 (r365299) @@ -1062,7 +1062,7 @@ asmc_fan_count(device_t dev) { uint8_t buf[1]; - if (asmc_key_read(dev, ASMC_KEY_FANCOUNT, buf, sizeof buf) < 0) + if (asmc_key_read(dev, ASMC_KEY_FANCOUNT, buf, sizeof buf) != 0) return (-1); return (buf[0]); @@ -1076,7 +1076,7 @@ asmc_fan_getvalue(device_t dev, const char *key, int f char fankey[5]; snprintf(fankey, sizeof(fankey), key, fan); - if (asmc_key_read(dev, fankey, buf, sizeof buf) < 0) + if (asmc_key_read(dev, fankey, buf, sizeof buf) != 0) return (-1); speed = (buf[0] << 6) | (buf[1] >> 2); @@ -1090,7 +1090,7 @@ asmc_fan_getstring(device_t dev, const char *key, int char* desc; snprintf(fankey, sizeof(fankey), key, fan); - if (asmc_key_read(dev, fankey, buf, buflen) < 0) + if (asmc_key_read(dev, fankey, buf, buflen) != 0) return (NULL); desc = buf+4; @@ -1229,7 +1229,7 @@ asmc_temp_getvalue(device_t dev, const char *key) /* * Check for invalid temperatures. */ - if (asmc_key_read(dev, key, buf, sizeof buf) < 0) + if (asmc_key_read(dev, key, buf, sizeof buf) != 0) return (-1); return (buf[0]); From owner-svn-src-stable-12@freebsd.org Thu Sep 3 13:57:06 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B107D3E6DE3; Thu, 3 Sep 2020 13:57:06 +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 4Bj2Rk4H8Yz4TQC; Thu, 3 Sep 2020 13:57:06 +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 766971C57D; Thu, 3 Sep 2020 13:57:06 +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 083Dv6IP035986; Thu, 3 Sep 2020 13:57:06 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 083Dv633035985; Thu, 3 Sep 2020 13:57:06 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202009031357.083Dv633035985@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 3 Sep 2020 13:57:06 +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: r365300 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 365300 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 13:57:06 -0000 Author: markj Date: Thu Sep 3 13:57:05 2020 New Revision: 365300 URL: https://svnweb.freebsd.org/changeset/base/365300 Log: MFC r364876: Fix writing of the final block of encrypted, compressed kernel dumps. Modified: stable/12/sys/kern/kern_shutdown.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/kern_shutdown.c ============================================================================== --- stable/12/sys/kern/kern_shutdown.c Thu Sep 3 13:56:47 2020 (r365299) +++ stable/12/sys/kern/kern_shutdown.c Thu Sep 3 13:57:05 2020 (r365300) @@ -1302,6 +1302,7 @@ kerneldumpcomp_write_cb(void *base, size_t length, off } resid = length - rlength; memmove(di->blockbuf, (uint8_t *)base + rlength, resid); + bzero((uint8_t *)di->blockbuf + resid, di->blocksize - resid); di->kdcomp->kdc_resid = resid; return (EAGAIN); } @@ -1518,9 +1519,10 @@ dump_finish(struct dumperinfo *di, struct kerneldumphe error = compressor_flush(di->kdcomp->kdc_stream); if (error == EAGAIN) { /* We have residual data in di->blockbuf. */ - error = dump_write(di, di->blockbuf, 0, di->dumpoff, - di->blocksize); - di->dumpoff += di->kdcomp->kdc_resid; + error = _dump_append(di, di->blockbuf, 0, di->blocksize); + if (error == 0) + /* Compensate for _dump_append()'s adjustment. */ + di->dumpoff -= di->blocksize - di->kdcomp->kdc_resid; di->kdcomp->kdc_resid = 0; } if (error != 0) From owner-svn-src-stable-12@freebsd.org Thu Sep 3 13:57:21 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9521B3E706C; Thu, 3 Sep 2020 13:57:21 +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 4Bj2S13TgPz4TQp; Thu, 3 Sep 2020 13:57:21 +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 5BC921C57E; Thu, 3 Sep 2020 13:57:21 +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 083DvL5I036045; Thu, 3 Sep 2020 13:57:21 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 083DvL7F036044; Thu, 3 Sep 2020 13:57:21 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202009031357.083DvL7F036044@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 3 Sep 2020 13:57:21 +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: r365301 - stable/12/sys/dev/fdc X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/dev/fdc X-SVN-Commit-Revision: 365301 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 13:57:21 -0000 Author: markj Date: Thu Sep 3 13:57:20 2020 New Revision: 365301 URL: https://svnweb.freebsd.org/changeset/base/365301 Log: MFC r364872: fdc(4): Handle errors from fdc_in() properly. PR: 248940 Modified: stable/12/sys/dev/fdc/fdc.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/fdc/fdc.c ============================================================================== --- stable/12/sys/dev/fdc/fdc.c Thu Sep 3 13:57:05 2020 (r365300) +++ stable/12/sys/dev/fdc/fdc.c Thu Sep 3 13:57:20 2020 (r365301) @@ -491,7 +491,7 @@ fdc_cmd(struct fdc_data *fdc, int n_out, ...) n_in = va_arg(ap, int); for (n = 0; n < n_in; n++) { int *ptr = va_arg(ap, int *); - if (fdc_in(fdc, ptr) < 0) { + if (fdc_in(fdc, ptr) != 0) { char msg[50]; snprintf(msg, sizeof(msg), "cmd %02x failed at in byte %d of %d\n", @@ -586,7 +586,7 @@ fdc_sense_int(struct fdc_data *fdc, int *st0p, int *cy return (FD_NOT_VALID); } - if (fdc_in(fdc, &cyl) < 0) + if (fdc_in(fdc, &cyl) != 0) return fdc_err(fdc, "can't get cyl num\n"); if (cylp) From owner-svn-src-stable-12@freebsd.org Thu Sep 3 18:16:33 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F41713C6470; Thu, 3 Sep 2020 18:16:32 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from hz.grosbein.net (hz.grosbein.net [IPv6:2a01:4f8:c2c:26d8::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hz.grosbein.net", Issuer "hz.grosbein.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bj8C36vjYz3YDh; Thu, 3 Sep 2020 18:16:30 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from eg.sd.rdtc.ru (eg.sd.rdtc.ru [IPv6:2a03:3100:c:13:0:0:0:5]) by hz.grosbein.net (8.15.2/8.15.2) with ESMTPS id 083IG8wK030393 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 3 Sep 2020 18:16:11 GMT (envelope-from eugen@grosbein.net) X-Envelope-From: eugen@grosbein.net X-Envelope-To: jhb@FreeBSD.org Received: from [10.58.0.10] (dadvw [10.58.0.10]) by eg.sd.rdtc.ru (8.16.1/8.16.1) with ESMTPS id 083IGBnt008373 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Fri, 4 Sep 2020 01:16:12 +0700 (+07) (envelope-from eugen@grosbein.net) Subject: Re: svn commit: r365281 - in stable: 11/sys/conf 11/sys/modules 11/sys/modules/tcp 12/sys/conf 12/sys/modules 12/sys/modules/tcp To: John Baldwin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org References: <202009022136.082LatjO029946@repo.freebsd.org> From: Eugene Grosbein Message-ID: Date: Fri, 4 Sep 2020 01:16:02 +0700 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_00,LOCAL_FROM, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Report: * -2.3 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record * -0.0 SPF_PASS SPF: sender matches SPF record * 2.6 LOCAL_FROM From my domains * -0.3 NICE_REPLY_A Looks like a legit reply (A) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on hz.grosbein.net X-Rspamd-Queue-Id: 4Bj8C36vjYz3YDh X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=permerror (mx1.freebsd.org: domain of eugen@grosbein.net uses mechanism not recognized by this client) smtp.mailfrom=eugen@grosbein.net X-Spamd-Result: default: False [-1.74 / 15.00]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; FREEFALL_USER(0.00)[eugen]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-0.87)[-0.868]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[grosbein.net]; NEURAL_HAM_MEDIUM(-0.91)[-0.911]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_SPAM_SHORT(0.14)[0.138]; R_SPF_PERMFAIL(0.00)[empty SPF record]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-stable-12,svn-src-stable,svn-src-all] X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 18:16:33 -0000 03.09.2020 4:47, John Baldwin wrote: > On 9/2/20 2:36 PM, John Baldwin wrote: >> Author: jhb >> Date: Wed Sep 2 21:36:55 2020 >> New Revision: 365281 >> URL: https://svnweb.freebsd.org/changeset/base/365281 >> >> Log: >> MFC 361638,361712: Only build ipsec modules for kernels with IPSEC_SUPPORT. >> >> 361638: >> Only build ipsec modules if the kernel includes IPSEC_SUPPORT. >> >> Honoring the kernel-supplied opt_ipsec.h in r361632 causes builds of >> ipsec modules to fail if the kernel doesn't include IPSEC_SUPPORT. >> However, the module can never be loaded into such a kernel, so only >> build the modules if the kernel includes IPSEC_SUPPORT. >> >> 361712: (kevans) >> modules: don't build ipsec/tcpmd5 if the kernel is configured for IPSEC >> >> IPSEC_SUPPORT can currently only cope with either IPSEC || IPSEC_SUPPORT, >> not both. Refrain from building if IPSEC is set, as the resulting module >> won't be able to load anyways if it's built into the kernel. >> >> KERN_OPTS is safe here; for tied modules, it will reflect the kernel >> configuration. For untied modules, it will defer to whatever is set in >> ^/sys/conf/config.mk, which doesn't set IPSEC for modules. The latter >> situation has some risk to it for uncommon scenarios, but such is the life >> of untied kernel modules. > > This should fix the build breakage from r365270 (sorry). buildworld is still broken for me at stable/11 amd64 r365304. Specifically, I build stable/11 for my PPPoE servers that use no IPSec as module nor have it in the kernel in any way. /etc/make.conf contains: MODULES_WITH_WORLD= KERNCONF?= PPPOE WITHOUT_LLVM_TARGET_ALL= WITH_LLVM_TARGET_X86= WITHOUT_CLANG_FULL= WITHOUT_LLDB= WITHOUT_KERNEL_SYMBOLS= WITHOUT_DEBUG_FILES= WITHOUT_TESTS= WITHOUT_INET6= It fails early: ... -------------------------------------------------------------- >>> stage 2.2: rebuilding the object tree -------------------------------------------------------------- ... ===> sys/modules/sysvipc/sysvmsg (obj) --- obj_subdir_sys/modules/tcp --- make[6]: "/home/src/sys/modules/tcp/Makefile" line 18: Malformed conditional (${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}) make[6]: Fatal errors encountered -- cannot continue Rollback for both of r365270 and r365281 fixes this. From owner-svn-src-stable-12@freebsd.org Thu Sep 3 18:40:12 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 215283C71F4; Thu, 3 Sep 2020 18:40:12 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from hz.grosbein.net (hz.grosbein.net [IPv6:2a01:4f8:c2c:26d8::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hz.grosbein.net", Issuer "hz.grosbein.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bj8kM3ckKz3ZwS; Thu, 3 Sep 2020 18:40:11 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from eg.sd.rdtc.ru (eg.sd.rdtc.ru [IPv6:2a03:3100:c:13:0:0:0:5]) by hz.grosbein.net (8.15.2/8.15.2) with ESMTPS id 083IdvoH030819 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 3 Sep 2020 18:39:58 GMT (envelope-from eugen@grosbein.net) X-Envelope-From: eugen@grosbein.net X-Envelope-To: jhb@FreeBSD.org Received: from [10.58.0.10] (dadvw [10.58.0.10]) by eg.sd.rdtc.ru (8.16.1/8.16.1) with ESMTPS id 083Ie3wI008705 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Fri, 4 Sep 2020 01:40:04 +0700 (+07) (envelope-from eugen@grosbein.net) Subject: Re: svn commit: r365281 - in stable: 11/sys/conf 11/sys/modules 11/sys/modules/tcp 12/sys/conf 12/sys/modules 12/sys/modules/tcp To: John Baldwin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org References: <202009022136.082LatjO029946@repo.freebsd.org> From: Eugene Grosbein Message-ID: <7795ab88-6220-150b-38e9-0ffae40a6093@grosbein.net> Date: Fri, 4 Sep 2020 01:39:53 +0700 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_00,LOCAL_FROM, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Report: * -2.3 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record * -0.0 SPF_PASS SPF: sender matches SPF record * 2.6 LOCAL_FROM From my domains * -0.3 NICE_REPLY_A Looks like a legit reply (A) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on hz.grosbein.net X-Rspamd-Queue-Id: 4Bj8kM3ckKz3ZwS X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=permerror (mx1.freebsd.org: domain of eugen@grosbein.net uses mechanism not recognized by this client) smtp.mailfrom=eugen@grosbein.net X-Spamd-Result: default: False [-1.49 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.87)[-0.873]; FREEFALL_USER(0.00)[eugen]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[grosbein.net]; NEURAL_HAM_LONG(-0.88)[-0.881]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_SPAM_SHORT(0.37)[0.367]; R_SPF_PERMFAIL(0.00)[empty SPF record]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-stable-12,svn-src-stable,svn-src-all] X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 18:40:12 -0000 04.09.2020 1:16, Eugene Grosbein wrote: >> This should fix the build breakage from r365270 (sorry). > > buildworld is still broken for me at stable/11 amd64 r365304. > Specifically, I build stable/11 for my PPPoE servers that use no IPSec as module nor have it in the kernel in any way. > > /etc/make.conf contains: > > MODULES_WITH_WORLD= > KERNCONF?= PPPOE > WITHOUT_LLVM_TARGET_ALL= > WITH_LLVM_TARGET_X86= > WITHOUT_CLANG_FULL= > WITHOUT_LLDB= > WITHOUT_KERNEL_SYMBOLS= > WITHOUT_DEBUG_FILES= > WITHOUT_TESTS= > WITHOUT_INET6= > > It fails early: > > ... > -------------------------------------------------------------- >>>> stage 2.2: rebuilding the object tree > -------------------------------------------------------------- > ... > ===> sys/modules/sysvipc/sysvmsg (obj) > --- obj_subdir_sys/modules/tcp --- > make[6]: "/home/src/sys/modules/tcp/Makefile" line 18: Malformed conditional (${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}) > make[6]: Fatal errors encountered -- cannot continue > > > Rollback for both of r365270 and r365281 fixes this. Oops, I was too quick. Rollback of these allows it running OK until >>> stage 4.3: building everything but then it fails there: ===> sys/modules/if_enc (all) Building /usr/local/obj/home/src/sys/modules/if_enc/if_enc.o --- if_enc.o --- /home/src/sys/net/if_enc.c:33:10: fatal error: 'opt_ipsec.h' file not found #include "opt_ipsec.h" ^~~~~~~~~~~~~ Additional rollback of r365277 gave me successfull buildworld. From owner-svn-src-stable-12@freebsd.org Thu Sep 3 23:17:26 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5E7333CE05C; Thu, 3 Sep 2020 23:17:26 +0000 (UTC) (envelope-from mhorne@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BjGtG1sw9z48vW; Thu, 3 Sep 2020 23:17:26 +0000 (UTC) (envelope-from mhorne@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 23B2D233D7; Thu, 3 Sep 2020 23:17:26 +0000 (UTC) (envelope-from mhorne@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 083NHQNE087580; Thu, 3 Sep 2020 23:17:26 GMT (envelope-from mhorne@FreeBSD.org) Received: (from mhorne@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 083NHQOQ087579; Thu, 3 Sep 2020 23:17:26 GMT (envelope-from mhorne@FreeBSD.org) Message-Id: <202009032317.083NHQOQ087579@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mhorne set sender to mhorne@FreeBSD.org using -f From: Mitchell Horne Date: Thu, 3 Sep 2020 23:17: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: r365317 - stable/12/sys/riscv/riscv X-SVN-Group: stable-12 X-SVN-Commit-Author: mhorne X-SVN-Commit-Paths: stable/12/sys/riscv/riscv X-SVN-Commit-Revision: 365317 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 23:17:26 -0000 Author: mhorne Date: Thu Sep 3 23:17:25 2020 New Revision: 365317 URL: https://svnweb.freebsd.org/changeset/base/365317 Log: MFC r364193: Enable interrupts while handling traps Modified: stable/12/sys/riscv/riscv/trap.c Modified: stable/12/sys/riscv/riscv/trap.c ============================================================================== --- stable/12/sys/riscv/riscv/trap.c Thu Sep 3 22:40:51 2020 (r365316) +++ stable/12/sys/riscv/riscv/trap.c Thu Sep 3 23:17:25 2020 (r365317) @@ -194,14 +194,22 @@ data_abort(struct trapframe *frame, int usermode) "Kernel page fault") != 0) goto fatal; - if (usermode) + if (usermode) { map = &td->td_proc->p_vmspace->vm_map; - else if (stval >= VM_MAX_USER_ADDRESS) - map = kernel_map; - else { - if (pcb->pcb_onfault == 0) - goto fatal; - map = &td->td_proc->p_vmspace->vm_map; + } else { + /* + * Enable interrupts for the duration of the page fault. For + * user faults this was done already in do_trap_user(). + */ + intr_enable(); + + if (stval >= VM_MAX_USER_ADDRESS) { + map = kernel_map; + } else { + if (pcb->pcb_onfault == 0) + goto fatal; + map = &td->td_proc->p_vmspace->vm_map; + } } va = trunc_page(stval); @@ -320,6 +328,7 @@ do_trap_user(struct trapframe *frame) riscv_cpu_intr(frame); return; } + intr_enable(); CTR3(KTR_TRAP, "do_trap_user: curthread: %p, sepc: %lx, frame: %p", curthread, frame->tf_sepc, frame); From owner-svn-src-stable-12@freebsd.org Fri Sep 4 00:22:25 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 773F73D0442; Fri, 4 Sep 2020 00:22:25 +0000 (UTC) (envelope-from jamie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BjJKF2cdDz4FqZ; Fri, 4 Sep 2020 00:22:25 +0000 (UTC) (envelope-from jamie@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 3D08923FAE; Fri, 4 Sep 2020 00:22:25 +0000 (UTC) (envelope-from jamie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0840MP2G029439; Fri, 4 Sep 2020 00:22:25 GMT (envelope-from jamie@FreeBSD.org) Received: (from jamie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0840MPOU029438; Fri, 4 Sep 2020 00:22:25 GMT (envelope-from jamie@FreeBSD.org) Message-Id: <202009040022.0840MPOU029438@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jamie set sender to jamie@FreeBSD.org using -f From: Jamie Gritton Date: Fri, 4 Sep 2020 00:22: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: r365320 - stable/12/usr.sbin/jail X-SVN-Group: stable-12 X-SVN-Commit-Author: jamie X-SVN-Commit-Paths: stable/12/usr.sbin/jail X-SVN-Commit-Revision: 365320 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 00:22:25 -0000 Author: jamie Date: Fri Sep 4 00:22:24 2020 New Revision: 365320 URL: https://svnweb.freebsd.org/changeset/base/365320 Log: MFC r364850: Don't allow jail.conf variables to have the same names as jail parameters. It was already not allowed in many cases, but crashed instead of giving an error. PR: 248444 Modified: stable/12/usr.sbin/jail/config.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/jail/config.c ============================================================================== --- stable/12/usr.sbin/jail/config.c Fri Sep 4 00:12:28 2020 (r365319) +++ stable/12/usr.sbin/jail/config.c Fri Sep 4 00:22:24 2020 (r365320) @@ -366,8 +366,13 @@ add_param(struct cfjail *j, const struct cfparam *p, e break; if (dp != NULL) { /* Found it - append or replace. */ + if ((flags ^ dp->flags) & PF_VAR) { + jail_warnx(j, "variable \"$%s\" cannot have the same " + "name as a parameter.", name); + return; + } if (dp->flags & PF_IMMUTABLE) { - jail_warnx(j, "cannot redefine variable \"%s\".", + jail_warnx(j, "cannot redefine parameter \"%s\".", dp->name); return; } @@ -394,6 +399,14 @@ add_param(struct cfjail *j, const struct cfparam *p, e for (ipnum = IP__NULL + 1; ipnum < IP_NPARAM; ipnum++) if (!(intparams[ipnum].flags & PF_CONV) && equalopts(name, intparams[ipnum].name)) { + if (flags & PF_VAR) { + jail_warnx(j, + "variable \"$%s\" " + "cannot have the same " + "name as a parameter.", + name); + return; + } j->intparams[ipnum] = np; np->flags |= intparams[ipnum].flags; break; From owner-svn-src-stable-12@freebsd.org Fri Sep 4 00:24:32 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 52C4B3D017A; Fri, 4 Sep 2020 00:24:32 +0000 (UTC) (envelope-from jamie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BjJMh1Pcdz4G9Z; Fri, 4 Sep 2020 00:24:32 +0000 (UTC) (envelope-from jamie@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 13255242D7; Fri, 4 Sep 2020 00:24:32 +0000 (UTC) (envelope-from jamie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0840OVF7030590; Fri, 4 Sep 2020 00:24:31 GMT (envelope-from jamie@FreeBSD.org) Received: (from jamie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0840OVZ9030589; Fri, 4 Sep 2020 00:24:31 GMT (envelope-from jamie@FreeBSD.org) Message-Id: <202009040024.0840OVZ9030589@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jamie set sender to jamie@FreeBSD.org using -f From: Jamie Gritton Date: Fri, 4 Sep 2020 00:24:31 +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: r365321 - stable/12/sys/sys X-SVN-Group: stable-12 X-SVN-Commit-Author: jamie X-SVN-Commit-Paths: stable/12/sys/sys X-SVN-Commit-Revision: 365321 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 00:24:32 -0000 Author: jamie Date: Fri Sep 4 00:24:31 2020 New Revision: 365321 URL: https://svnweb.freebsd.org/changeset/base/365321 Log: MFC r364970: Add __BEGIN_DECLS to jail.h to keep C++ happy. PR: 238928 Reported by: yuri@ Modified: stable/12/sys/sys/jail.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/sys/jail.h ============================================================================== --- stable/12/sys/sys/jail.h Fri Sep 4 00:22:24 2020 (r365320) +++ stable/12/sys/sys/jail.h Fri Sep 4 00:24:31 2020 (r365321) @@ -110,11 +110,13 @@ struct xprison { struct iovec; +__BEGIN_DECLS int jail(struct jail *); int jail_set(struct iovec *, unsigned int, int); int jail_get(struct iovec *, unsigned int, int); int jail_attach(int); int jail_remove(int); +__END_DECLS #else /* _KERNEL */ From owner-svn-src-stable-12@freebsd.org Fri Sep 4 00:25:03 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5B99B3D0734; Fri, 4 Sep 2020 00:25:03 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BjJNH1lnGz4G00; Fri, 4 Sep 2020 00:25:03 +0000 (UTC) (envelope-from gonzo@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 20192242DA; Fri, 4 Sep 2020 00:25:03 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0840P3MC030696; Fri, 4 Sep 2020 00:25:03 GMT (envelope-from gonzo@FreeBSD.org) Received: (from gonzo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0840P32q030695; Fri, 4 Sep 2020 00:25:03 GMT (envelope-from gonzo@FreeBSD.org) Message-Id: <202009040025.0840P32q030695@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gonzo set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko Date: Fri, 4 Sep 2020 00:25: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: r365322 - stable/12/sys/dev/extres/clk X-SVN-Group: stable-12 X-SVN-Commit-Author: gonzo X-SVN-Commit-Paths: stable/12/sys/dev/extres/clk X-SVN-Commit-Revision: 365322 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 00:25:03 -0000 Author: gonzo Date: Fri Sep 4 00:25:02 2020 New Revision: 365322 URL: https://svnweb.freebsd.org/changeset/base/365322 Log: MFC r363122: Assigned clocks: fix off-by-one bug, don't leak allocated memory. MFC after: 1 week Modified: stable/12/sys/dev/extres/clk/clk.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/extres/clk/clk.c ============================================================================== --- stable/12/sys/dev/extres/clk/clk.c Fri Sep 4 00:24:31 2020 (r365321) +++ stable/12/sys/dev/extres/clk/clk.c Fri Sep 4 00:25:02 2020 (r365322) @@ -1420,15 +1420,17 @@ clk_set_assigned(device_t dev, phandle_t node) } /* First set it's parent if needed */ - if (i <= nparents) + if (i < nparents) clk_set_assigned_parent(dev, clk, i); /* Then set a new frequency */ - if (i <= nrates && rates[i] != 0) + if (i < nrates && rates[i] != 0) clk_set_assigned_rates(dev, clk, rates[i]); clk_release(clk); } + if (rates != NULL) + OF_prop_free(rates); return (0); } From owner-svn-src-stable-12@freebsd.org Fri Sep 4 11:22:19 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 20CFE3DDE0D; Fri, 4 Sep 2020 11:22: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 4BjZyg0223z3cBt; Fri, 4 Sep 2020 11:22: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 D96C5BF76; Fri, 4 Sep 2020 11:22:18 +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 084BMIAO040629; Fri, 4 Sep 2020 11:22:18 GMT (envelope-from mw@FreeBSD.org) Received: (from mw@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 084BMIYn040628; Fri, 4 Sep 2020 11:22:18 GMT (envelope-from mw@FreeBSD.org) Message-Id: <202009041122.084BMIYn040628@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mw set sender to mw@FreeBSD.org using -f From: Marcin Wojtas Date: Fri, 4 Sep 2020 11:22: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: r365326 - stable/12/sys/sys X-SVN-Group: stable-12 X-SVN-Commit-Author: mw X-SVN-Commit-Paths: stable/12/sys/sys X-SVN-Commit-Revision: 365326 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 11:22:19 -0000 Author: mw Date: Fri Sep 4 11:22:18 2020 New Revision: 365326 URL: https://svnweb.freebsd.org/changeset/base/365326 Log: MFC: r346593 Add barrier in buf ring peek function to prevent race in ARM and ARM64. Obtained from: Semihalf Sponsored by: Amazon, Inc. Modified: stable/12/sys/sys/buf_ring.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/sys/buf_ring.h ============================================================================== --- stable/12/sys/sys/buf_ring.h Fri Sep 4 04:31:56 2020 (r365325) +++ stable/12/sys/sys/buf_ring.h Fri Sep 4 11:22:18 2020 (r365326) @@ -310,14 +310,23 @@ buf_ring_peek_clear_sc(struct buf_ring *br) if (!mtx_owned(br->br_lock)) panic("lock not held on single consumer dequeue"); #endif - /* - * I believe it is safe to not have a memory barrier - * here because we control cons and tail is worst case - * a lagging indicator so we worst case we might - * return NULL immediately after a buffer has been enqueued - */ + if (br->br_cons_head == br->br_prod_tail) return (NULL); + +#if defined(__arm__) || defined(__aarch64__) + /* + * The barrier is required there on ARM and ARM64 to ensure, that + * br->br_ring[br->br_cons_head] will not be fetched before the above + * condition is checked. + * Without the barrier, it is possible, that buffer will be fetched + * before the enqueue will put mbuf into br, then, in the meantime, the + * enqueue will update the array and the br_prod_tail, and the + * conditional check will be true, so we will return previously fetched + * (and invalid) buffer. + */ + atomic_thread_fence_acq(); +#endif #ifdef DEBUG_BUFRING /* From owner-svn-src-stable-12@freebsd.org Fri Sep 4 13:09:57 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0DBC53C1F28; Fri, 4 Sep 2020 13:09:57 +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 4BjdLr1YRwz4279; Fri, 4 Sep 2020 13:09:55 +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 084D9kvY017845 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 4 Sep 2020 16:09:49 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 084D9kvY017845 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 084D9kI4017844; Fri, 4 Sep 2020 16:09:46 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 4 Sep 2020 16:09:46 +0300 From: Konstantin Belousov To: Marcin Wojtas Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: Re: svn commit: r365326 - stable/12/sys/sys Message-ID: <20200904130946.GG94807@kib.kiev.ua> References: <202009041122.084BMIYn040628@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202009041122.084BMIYn040628@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: 4BjdLr1YRwz4279 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-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 13:09:57 -0000 On Fri, Sep 04, 2020 at 11:22:18AM +0000, Marcin Wojtas wrote: > Author: mw > Date: Fri Sep 4 11:22:18 2020 > New Revision: 365326 > URL: https://svnweb.freebsd.org/changeset/base/365326 > > Log: > MFC: r346593 > > Add barrier in buf ring peek function to prevent race in ARM and ARM64. > > Obtained from: Semihalf > Sponsored by: Amazon, Inc. > > Modified: > stable/12/sys/sys/buf_ring.h > Directory Properties: > stable/12/ (props changed) > > Modified: stable/12/sys/sys/buf_ring.h > ============================================================================== > --- stable/12/sys/sys/buf_ring.h Fri Sep 4 04:31:56 2020 (r365325) > +++ stable/12/sys/sys/buf_ring.h Fri Sep 4 11:22:18 2020 (r365326) > @@ -310,14 +310,23 @@ buf_ring_peek_clear_sc(struct buf_ring *br) > if (!mtx_owned(br->br_lock)) > panic("lock not held on single consumer dequeue"); > #endif > - /* > - * I believe it is safe to not have a memory barrier > - * here because we control cons and tail is worst case > - * a lagging indicator so we worst case we might > - * return NULL immediately after a buffer has been enqueued > - */ > + > if (br->br_cons_head == br->br_prod_tail) > return (NULL); > + > +#if defined(__arm__) || defined(__aarch64__) > + /* > + * The barrier is required there on ARM and ARM64 to ensure, that > + * br->br_ring[br->br_cons_head] will not be fetched before the above > + * condition is checked. > + * Without the barrier, it is possible, that buffer will be fetched > + * before the enqueue will put mbuf into br, then, in the meantime, the > + * enqueue will update the array and the br_prod_tail, and the > + * conditional check will be true, so we will return previously fetched > + * (and invalid) buffer. > + */ > + atomic_thread_fence_acq(); > +#endif Putting the semantic of the change aside, why did you added the fence (it is a fence, not barrier as stated in the comment) only to arm* ? If it is needed, it is needed for all arches. > > #ifdef DEBUG_BUFRING > /* From owner-svn-src-stable-12@freebsd.org Fri Sep 4 13:17:56 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3BD553C22CE; Fri, 4 Sep 2020 13:17:56 +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 4BjdX40sf0z42sl; Fri, 4 Sep 2020 13:17:56 +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 00FB6CF6F; Fri, 4 Sep 2020 13:17:56 +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 084DHtxE010737; Fri, 4 Sep 2020 13:17:55 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 084DHtP7010736; Fri, 4 Sep 2020 13:17:55 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202009041317.084DHtP7010736@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 4 Sep 2020 13: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: r365329 - stable/12/sys/dev/qlxgb X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/dev/qlxgb X-SVN-Commit-Revision: 365329 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 13:17:56 -0000 Author: markj Date: Fri Sep 4 13:17:55 2020 New Revision: 365329 URL: https://svnweb.freebsd.org/changeset/base/365329 Log: MFC r365060: qlxgb: Initialize if_mtu before setting max_frame_size. PR: 249050 Modified: stable/12/sys/dev/qlxgb/qla_os.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/qlxgb/qla_os.c ============================================================================== --- stable/12/sys/dev/qlxgb/qla_os.c Fri Sep 4 13:05:00 2020 (r365328) +++ stable/12/sys/dev/qlxgb/qla_os.c Fri Sep 4 13:17:55 2020 (r365329) @@ -672,6 +672,7 @@ qla_init_ifnet(device_t dev, qla_host_t *ha) if_initname(ifp, device_get_name(dev), device_get_unit(dev)); + ifp->if_mtu = ETHERMTU; ifp->if_baudrate = IF_Gbps(10); ifp->if_init = qla_init; ifp->if_softc = ha; From owner-svn-src-stable-12@freebsd.org Fri Sep 4 13:36:34 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D6BCD3C2D86 for ; Fri, 4 Sep 2020 13:36:34 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) (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 4BjdxZ0nttz43pQ for ; Fri, 4 Sep 2020 13:36:33 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: by mail-wr1-f67.google.com with SMTP id j2so6778980wrx.7 for ; Fri, 04 Sep 2020 06:36:33 -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:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=5xrhtPTmjjeuEYVDZ4OEFtzGfLaJIMXboJ6zads1oJg=; b=YlWYt3T9+Ofee7hq+jEacwFUQwTa9a+KtB1jDXeqoodHvkIyUcZCb57j5ZBVJ5fwCO M3TGOrgnvob6c4N6MQ1qcSQZ6kouTHk25HSSXXIm8/sN9yw6pBdL+kDB+1wXHM5doRDO zAH1dUgOoPSRZLtHUm6lDzOiNxRZeYntqPx6/b2iZ/34lc8W50gHlr+tuoiSmjIZ+tKv qsB2crmfjnfIZYpgKfn+qOkl4grRdZzKDF6qJPXOE0DA6Cry8295n6tJEadfhhPPU8eX KcQ0oOn5TJBFPgape/x3HsADm8PaqbiQO0G4PNmJJDtX5n3FRjbZ984uGKePyHUMsIex lEAQ== X-Gm-Message-State: AOAM533M8n1i4kQj1d3HUS7+n9IKwpoPl092cpuJFrr4Fy9b2Oc9EdM7 mmzdQ1DTr6ymvhfu7qUJzp6p6g== X-Google-Smtp-Source: ABdhPJz3xMIi3L+prDTIMriSuy5RPADIt4MVC26xJkACFDAKc8/KmjjoNbiNdxnRgDP86vxv4n/14w== X-Received: by 2002:adf:f24d:: with SMTP id b13mr7519752wrp.316.1599226592511; Fri, 04 Sep 2020 06:36:32 -0700 (PDT) Received: from [192.168.149.251] (trinity-students-nat.trin.cam.ac.uk. [131.111.193.104]) by smtp.gmail.com with ESMTPSA id u126sm15308055wmu.9.2020.09.04.06.36.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 04 Sep 2020 06:36:31 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Subject: Re: svn commit: r365326 - stable/12/sys/sys From: Jessica Clarke In-Reply-To: <20200904130946.GG94807@kib.kiev.ua> Date: Fri, 4 Sep 2020 14:36:29 +0100 Cc: Marcin Wojtas , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <202009041122.084BMIYn040628@repo.freebsd.org> <20200904130946.GG94807@kib.kiev.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.3608.120.23.2.1) X-Rspamd-Queue-Id: 4BjdxZ0nttz43pQ X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.221.67 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com X-Spamd-Result: default: False [-2.21 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_HAM_SHORT(-0.69)[-0.691]; FREEMAIL_TO(0.00)[gmail.com]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MID_RHS_MATCH_FROM(0.00)[]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996]; FREEFALL_USER(0.00)[jrtc27]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.02)[-1.022]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-stable-12@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.221.67:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.221.67:from]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-stable-12] X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 13:36:34 -0000 On 4 Sep 2020, at 14:09, Konstantin Belousov = wrote: > On Fri, Sep 04, 2020 at 11:22:18AM +0000, Marcin Wojtas wrote: >> Author: mw >> Date: Fri Sep 4 11:22:18 2020 >> New Revision: 365326 >> URL: https://svnweb.freebsd.org/changeset/base/365326 >>=20 >> Log: >> MFC: r346593 >>=20 >> Add barrier in buf ring peek function to prevent race in ARM and = ARM64. >>=20 >> Obtained from: Semihalf >> Sponsored by: Amazon, Inc. >>=20 >> Modified: >> stable/12/sys/sys/buf_ring.h >> Directory Properties: >> stable/12/ (props changed) >>=20 >> Modified: stable/12/sys/sys/buf_ring.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 >> --- stable/12/sys/sys/buf_ring.h Fri Sep 4 04:31:56 2020 = (r365325) >> +++ stable/12/sys/sys/buf_ring.h Fri Sep 4 11:22:18 2020 = (r365326) >> @@ -310,14 +310,23 @@ buf_ring_peek_clear_sc(struct buf_ring *br) >> if (!mtx_owned(br->br_lock)) >> panic("lock not held on single consumer dequeue"); >> #endif=09 >> - /* >> - * I believe it is safe to not have a memory barrier >> - * here because we control cons and tail is worst case >> - * a lagging indicator so we worst case we might >> - * return NULL immediately after a buffer has been enqueued >> - */ >> + >> if (br->br_cons_head =3D=3D br->br_prod_tail) >> return (NULL); >> + >> +#if defined(__arm__) || defined(__aarch64__) >> + /* >> + * The barrier is required there on ARM and ARM64 to ensure, = that >> + * br->br_ring[br->br_cons_head] will not be fetched before the = above >> + * condition is checked. >> + * Without the barrier, it is possible, that buffer will be = fetched >> + * before the enqueue will put mbuf into br, then, in the = meantime, the >> + * enqueue will update the array and the br_prod_tail, and the >> + * conditional check will be true, so we will return previously = fetched >> + * (and invalid) buffer. >> + */ >> + atomic_thread_fence_acq(); >> +#endif >=20 > Putting the semantic of the change aside, why did you added the fence = (it is > a fence, not barrier as stated in the comment) only to arm* ? If it = is > needed, it is needed for all arches. Agreed. The code looks fine, though I would have made it an acquire load of br_prod_tail myself to be able to take advantage load-acquire instructions when present, and better document what the exact issue is. I also don't think the comment needs to be quite so extensive (especially since atomic_load_acq_32 is somewhat self-documenting in terms of one half of the race); if we had a comment like this for every fence in the kernel we'd never get anything done. There's also an ARM-specific fence in buf_ring_dequeue_sc: > /* > * This is a workaround to allow using buf_ring on ARM and = ARM64. > * ARM64TODO: Fix buf_ring in a generic way. > * REMARKS: It is suspected that br_cons_head does not require > * load_acq operation, but this change was extensively tested > * and confirmed it's working. To be reviewed once again in > * FreeBSD-12. > * > * Preventing following situation: >=20 > * Core(0) - buf_ring_enqueue() = Core(1) - buf_ring_dequeue_sc() > * ----------------------------------------- = ---------------------------------------------- > * > * = cons_head =3D br->br_cons_head; > * atomic_cmpset_acq_32(&br->br_prod_head, ...)); > * = buf =3D br->br_ring[cons_head]; > > * br->br_ring[prod_head] =3D buf; > * atomic_store_rel_32(&br->br_prod_tail, ...); > * = prod_tail =3D br->br_prod_tail; > * = if (cons_head =3D=3D prod_tail)=20 > * = return (NULL); > * = `=09 > * > * <1> Load (on core 1) from br->br_ring[cons_head] can be = reordered (speculative readed) by CPU. > */=09 > #if defined(__arm__) || defined(__aarch64__) > cons_head =3D atomic_load_acq_32(&br->br_cons_head); > #else > cons_head =3D br->br_cons_head; > #endif > prod_tail =3D atomic_load_acq_32(&br->br_prod_tail); The comment is completely correct that the ARM-specific fence is a waste of time. It's the single-consumer path, so such fences are just synchronising with the current thread and thus pointless. The important one is the load-acquire of br_prod_tail, as has been discovered (sort of) in the peek case leading to this comment, which already stops the reordering in question. Jess From owner-svn-src-stable-12@freebsd.org Fri Sep 4 15:33:43 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E53B53C5A39; Fri, 4 Sep 2020 15:33:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BjhXl5njsz4Cfl; Fri, 4 Sep 2020 15:33:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-274.local (unknown [IPv6:2601:648:8681:1cb0:fc3e:e311:1088:b5c0]) (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 189341A770; Fri, 4 Sep 2020 15:33:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r365281 - in stable: 11/sys/conf 11/sys/modules 11/sys/modules/tcp 12/sys/conf 12/sys/modules 12/sys/modules/tcp To: Eugene Grosbein , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org References: <202009022136.082LatjO029946@repo.freebsd.org> <7795ab88-6220-150b-38e9-0ffae40a6093@grosbein.net> From: John Baldwin 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: Fri, 4 Sep 2020 08:33:41 -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: <7795ab88-6220-150b-38e9-0ffae40a6093@grosbein.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 15:33:44 -0000 On 9/3/20 11:39 AM, Eugene Grosbein wrote: > 04.09.2020 1:16, Eugene Grosbein wrote: > >>> This should fix the build breakage from r365270 (sorry). >> >> buildworld is still broken for me at stable/11 amd64 r365304. >> Specifically, I build stable/11 for my PPPoE servers that use no IPSec as module nor have it in the kernel in any way. >> >> /etc/make.conf contains: >> >> MODULES_WITH_WORLD= >> KERNCONF?= PPPOE >> WITHOUT_LLVM_TARGET_ALL= >> WITH_LLVM_TARGET_X86= >> WITHOUT_CLANG_FULL= >> WITHOUT_LLDB= >> WITHOUT_KERNEL_SYMBOLS= >> WITHOUT_DEBUG_FILES= >> WITHOUT_TESTS= >> WITHOUT_INET6= >> >> It fails early: >> >> ... >> -------------------------------------------------------------- >>>>> stage 2.2: rebuilding the object tree >> -------------------------------------------------------------- >> ... >> ===> sys/modules/sysvipc/sysvmsg (obj) >> --- obj_subdir_sys/modules/tcp --- >> make[6]: "/home/src/sys/modules/tcp/Makefile" line 18: Malformed conditional (${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}) >> make[6]: Fatal errors encountered -- cannot continue >> >> >> Rollback for both of r365270 and r365281 fixes this. > > Oops, I was too quick. Rollback of these allows it running OK until >>> stage 4.3: building everything > but then it fails there: > > ===> sys/modules/if_enc (all) > Building /usr/local/obj/home/src/sys/modules/if_enc/if_enc.o > --- if_enc.o --- > /home/src/sys/net/if_enc.c:33:10: fatal error: 'opt_ipsec.h' file not found > #include "opt_ipsec.h" > ^~~~~~~~~~~~~ > > Additional rollback of r365277 gave me successfull buildworld. Ah, it is MODULES_WITH_WORLD that is tripping you up. What is probably needed to fix this is merging kmod.opts.mk. I can work on that. -- John Baldwin From owner-svn-src-stable-12@freebsd.org Fri Sep 4 21:21:25 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C9B283CFA74; Fri, 4 Sep 2020 21:21:25 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BjrFx5LDnz4cXm; Fri, 4 Sep 2020 21:21:25 +0000 (UTC) (envelope-from erj@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 9A649129E8; Fri, 4 Sep 2020 21:21:25 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 084LLPJ0008843; Fri, 4 Sep 2020 21:21:25 GMT (envelope-from erj@FreeBSD.org) Received: (from erj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 084LLNIJ008833; Fri, 4 Sep 2020 21:21:23 GMT (envelope-from erj@FreeBSD.org) Message-Id: <202009042121.084LLNIJ008833@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: erj set sender to erj@FreeBSD.org using -f From: Eric Joyner Date: Fri, 4 Sep 2020 21:21:23 +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: r365339 - stable/12/sys/dev/ixl X-SVN-Group: stable-12 X-SVN-Commit-Author: erj X-SVN-Commit-Paths: stable/12/sys/dev/ixl X-SVN-Commit-Revision: 365339 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 21:21:25 -0000 Author: erj Date: Fri Sep 4 21:21:23 2020 New Revision: 365339 URL: https://svnweb.freebsd.org/changeset/base/365339 Log: MFC r365231: ixl(4): Add support for X710-T*L devices PR: 249058 Sponsored by: Intel Corporation Modified: stable/12/sys/dev/ixl/i40e_adminq_cmd.h stable/12/sys/dev/ixl/i40e_common.c stable/12/sys/dev/ixl/i40e_devids.h stable/12/sys/dev/ixl/i40e_prototype.h stable/12/sys/dev/ixl/i40e_type.h stable/12/sys/dev/ixl/if_ixl.c stable/12/sys/dev/ixl/ixl_pf.h stable/12/sys/dev/ixl/ixl_pf_main.c stable/12/sys/dev/ixl/virtchnl.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/ixl/i40e_adminq_cmd.h ============================================================================== --- stable/12/sys/dev/ixl/i40e_adminq_cmd.h Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/i40e_adminq_cmd.h Fri Sep 4 21:21:23 2020 (r365339) @@ -1940,6 +1940,8 @@ enum i40e_aq_phy_type { I40E_PHY_TYPE_25GBASE_LR = 0x22, I40E_PHY_TYPE_25GBASE_AOC = 0x23, I40E_PHY_TYPE_25GBASE_ACC = 0x24, + I40E_PHY_TYPE_2_5GBASE_T = 0x30, + I40E_PHY_TYPE_5GBASE_T = 0x31, I40E_PHY_TYPE_MAX, I40E_PHY_TYPE_NOT_SUPPORTED_HIGH_TEMP = 0xFD, I40E_PHY_TYPE_EMPTY = 0xFE, @@ -1981,19 +1983,25 @@ enum i40e_aq_phy_type { BIT_ULL(I40E_PHY_TYPE_25GBASE_SR) | \ BIT_ULL(I40E_PHY_TYPE_25GBASE_LR) | \ BIT_ULL(I40E_PHY_TYPE_25GBASE_AOC) | \ - BIT_ULL(I40E_PHY_TYPE_25GBASE_ACC)) + BIT_ULL(I40E_PHY_TYPE_25GBASE_ACC) | \ + BIT_ULL(I40E_PHY_TYPE_2_5GBASE_T) | \ + BIT_ULL(I40E_PHY_TYPE_5GBASE_T)) +#define I40E_LINK_SPEED_2_5GB_SHIFT 0x0 #define I40E_LINK_SPEED_100MB_SHIFT 0x1 #define I40E_LINK_SPEED_1000MB_SHIFT 0x2 #define I40E_LINK_SPEED_10GB_SHIFT 0x3 #define I40E_LINK_SPEED_40GB_SHIFT 0x4 #define I40E_LINK_SPEED_20GB_SHIFT 0x5 #define I40E_LINK_SPEED_25GB_SHIFT 0x6 +#define I40E_LINK_SPEED_5GB_SHIFT 0x7 enum i40e_aq_link_speed { I40E_LINK_SPEED_UNKNOWN = 0, I40E_LINK_SPEED_100MB = (1 << I40E_LINK_SPEED_100MB_SHIFT), I40E_LINK_SPEED_1GB = (1 << I40E_LINK_SPEED_1000MB_SHIFT), + I40E_LINK_SPEED_2_5GB = (1 << I40E_LINK_SPEED_2_5GB_SHIFT), + I40E_LINK_SPEED_5GB = (1 << I40E_LINK_SPEED_5GB_SHIFT), I40E_LINK_SPEED_10GB = (1 << I40E_LINK_SPEED_10GB_SHIFT), I40E_LINK_SPEED_40GB = (1 << I40E_LINK_SPEED_40GB_SHIFT), I40E_LINK_SPEED_20GB = (1 << I40E_LINK_SPEED_20GB_SHIFT), @@ -2030,6 +2038,8 @@ struct i40e_aq_get_phy_abilities_resp { #define I40E_AQ_EEE_1000BASE_KX 0x0010 #define I40E_AQ_EEE_10GBASE_KX4 0x0020 #define I40E_AQ_EEE_10GBASE_KR 0x0040 +#define I40E_AQ_EEE_2_5GBASE_T 0x0100 +#define I40E_AQ_EEE_5GBASE_T 0x0200 __le32 eeer_val; u8 d3_lpan; #define I40E_AQ_SET_PHY_D3_LPAN_ENA 0x01 @@ -2040,6 +2050,8 @@ struct i40e_aq_get_phy_abilities_resp { #define I40E_AQ_PHY_TYPE_EXT_25G_LR 0x08 #define I40E_AQ_PHY_TYPE_EXT_25G_AOC 0x10 #define I40E_AQ_PHY_TYPE_EXT_25G_ACC 0x20 +#define I40E_AQ_PHY_TYPE_EXT_2_5GBASE_T 0x40 +#define I40E_AQ_PHY_TYPE_EXT_5GBASE_T 0x80 u8 fec_cfg_curr_mod_ext_info; #define I40E_AQ_ENABLE_FEC_KR 0x01 #define I40E_AQ_ENABLE_FEC_RS 0x02 @@ -2282,15 +2294,32 @@ enum i40e_aq_phy_reg_type { I40E_AQC_PHY_REG_EXERNAL_MODULE = 0x3 }; +#pragma pack(1) /* Run PHY Activity (0x0626) */ struct i40e_aqc_run_phy_activity { - __le16 activity_id; - u8 flags; - u8 reserved1; - __le32 control; - __le32 data; - u8 reserved2[4]; + u8 cmd_flags; + __le16 activity_id; +#define I40E_AQ_RUN_PHY_ACT_ID_USR_DFND 0x10 + u8 reserved; + union { + struct { + __le32 dnl_opcode; +#define I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT_DUR 0x801a +#define I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT 0x801b +#define I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_DUR 0x1801b + __le32 data; + u8 reserved2[4]; + } cmd; + struct { + __le32 cmd_status; +#define I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC 0x4 +#define I40E_AQ_RUN_PHY_ACT_CMD_STAT_MASK 0xFFFF + __le32 data0; + __le32 data1; + } resp; + } params; }; +#pragma pack() I40E_CHECK_CMD_LENGTH(i40e_aqc_run_phy_activity); Modified: stable/12/sys/dev/ixl/i40e_common.c ============================================================================== --- stable/12/sys/dev/ixl/i40e_common.c Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/i40e_common.c Fri Sep 4 21:21:23 2020 (r365339) @@ -62,6 +62,10 @@ enum i40e_status_code i40e_set_mac_type(struct i40e_hw case I40E_DEV_ID_QSFP_C: case I40E_DEV_ID_10G_BASE_T: case I40E_DEV_ID_10G_BASE_T4: + case I40E_DEV_ID_10G_BASE_T_BC: + case I40E_DEV_ID_10G_B: + case I40E_DEV_ID_10G_SFP: + case I40E_DEV_ID_5G_BASE_T_BC: case I40E_DEV_ID_20G_KR2: case I40E_DEV_ID_20G_KR2_A: case I40E_DEV_ID_25G_B: @@ -1251,6 +1255,8 @@ static enum i40e_media_type i40e_get_media_type(struct break; case I40E_PHY_TYPE_100BASE_TX: case I40E_PHY_TYPE_1000BASE_T: + case I40E_PHY_TYPE_2_5GBASE_T: + case I40E_PHY_TYPE_5GBASE_T: case I40E_PHY_TYPE_10GBASE_T: media = I40E_MEDIA_TYPE_BASET; break; @@ -1516,7 +1522,8 @@ static u32 i40e_led_is_mine(struct i40e_hw *hw, int id u32 gpio_val = 0; u32 port; - if (!hw->func_caps.led[idx]) + if (!I40E_IS_X710TL_DEVICE(hw->device_id) && + !hw->func_caps.led[idx]) return 0; gpio_val = rd32(hw, I40E_GLGEN_GPIO_CTL(idx)); port = (gpio_val & I40E_GLGEN_GPIO_CTL_PRT_NUM_MASK) >> @@ -1635,6 +1642,19 @@ void i40e_led_set(struct i40e_hw *hw, u32 mode, bool b break; } + if (I40E_IS_X710TL_DEVICE(hw->device_id)) { + u32 pin_func = 0; + + if (mode & I40E_FW_LED) + pin_func = I40E_PIN_FUNC_SDP; + else + pin_func = I40E_PIN_FUNC_LED; + + gpio_val &= ~I40E_GLGEN_GPIO_CTL_PIN_FUNC_MASK; + gpio_val |= ((pin_func << + I40E_GLGEN_GPIO_CTL_PIN_FUNC_SHIFT) & + I40E_GLGEN_GPIO_CTL_PIN_FUNC_MASK); + } gpio_val &= ~I40E_GLGEN_GPIO_CTL_LED_MODE_MASK; /* this & is a bit of paranoia, but serves as a range check */ gpio_val |= ((mode << I40E_GLGEN_GPIO_CTL_LED_MODE_SHIFT) & @@ -6230,7 +6250,72 @@ enum i40e_status_code i40e_aq_debug_dump(struct i40e_h return status; } + /** + * i40e_enable_eee + * @hw: pointer to the hardware structure + * @enable: state of Energy Efficient Ethernet mode to be set + * + * Enables or disables Energy Efficient Ethernet (EEE) mode + * accordingly to @enable parameter. + **/ +enum i40e_status_code i40e_enable_eee(struct i40e_hw *hw, bool enable) +{ + struct i40e_aq_get_phy_abilities_resp abilities; + struct i40e_aq_set_phy_config config; + enum i40e_status_code status; + __le16 eee_capability; + + /* Get initial PHY capabilities */ + status = i40e_aq_get_phy_capabilities(hw, FALSE, TRUE, &abilities, + NULL); + if (status) + goto err; + + /* Check whether NIC configuration is compatible with Energy Efficient + * Ethernet (EEE) mode. + */ + if (abilities.eee_capability == 0) { + status = I40E_ERR_CONFIG; + goto err; + } + + /* Cache initial EEE capability */ + eee_capability = abilities.eee_capability; + + /* Get current configuration */ + status = i40e_aq_get_phy_capabilities(hw, FALSE, false, &abilities, + NULL); + if (status) + goto err; + + /* Cache current configuration */ + config.phy_type = abilities.phy_type; + config.phy_type_ext = abilities.phy_type_ext; + config.link_speed = abilities.link_speed; + config.abilities = abilities.abilities | + I40E_AQ_PHY_ENABLE_ATOMIC_LINK; + config.eeer = abilities.eeer_val; + config.low_power_ctrl = abilities.d3_lpan; + config.fec_config = abilities.fec_cfg_curr_mod_ext_info & + I40E_AQ_PHY_FEC_CONFIG_MASK; + + /* Set desired EEE state */ + if (enable) { + config.eee_capability = eee_capability; + config.eeer |= I40E_PRTPM_EEER_TX_LPI_EN_MASK; + } else { + config.eee_capability = 0; + config.eeer &= ~I40E_PRTPM_EEER_TX_LPI_EN_MASK; + } + + /* Save modified config */ + status = i40e_aq_set_phy_config(hw, &config, NULL); +err: + return status; +} + +/** * i40e_read_bw_from_alt_ram * @hw: pointer to the hardware structure * @max_bw: pointer for max_bw read @@ -6550,6 +6635,8 @@ enum i40e_status_code i40e_write_phy_register(struct i break; case I40E_DEV_ID_10G_BASE_T: case I40E_DEV_ID_10G_BASE_T4: + case I40E_DEV_ID_10G_BASE_T_BC: + case I40E_DEV_ID_5G_BASE_T_BC: case I40E_DEV_ID_10G_BASE_T_X722: case I40E_DEV_ID_25G_B: case I40E_DEV_ID_25G_SFP28: @@ -6586,6 +6673,8 @@ enum i40e_status_code i40e_read_phy_register(struct i4 break; case I40E_DEV_ID_10G_BASE_T: case I40E_DEV_ID_10G_BASE_T4: + case I40E_DEV_ID_10G_BASE_T_BC: + case I40E_DEV_ID_5G_BASE_T_BC: case I40E_DEV_ID_10G_BASE_T_X722: case I40E_DEV_ID_25G_B: case I40E_DEV_ID_25G_SFP28: @@ -6842,6 +6931,196 @@ restore_config: } /** + * i40e_get_phy_lpi_status - read LPI status from PHY or MAC register + * @hw: pointer to the hw struct + * @stat: pointer to structure with status of rx and tx lpi + * + * Read LPI state directly from external PHY register or from MAC + * register, depending on device ID and current link speed. + */ +enum i40e_status_code i40e_get_phy_lpi_status(struct i40e_hw *hw, + struct i40e_hw_port_stats *stat) +{ + enum i40e_status_code ret = I40E_SUCCESS; + u32 val; + + stat->rx_lpi_status = 0; + stat->tx_lpi_status = 0; + + if ((hw->device_id == I40E_DEV_ID_10G_BASE_T_BC || + hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) && + (hw->phy.link_info.link_speed == I40E_LINK_SPEED_2_5GB || + hw->phy.link_info.link_speed == I40E_LINK_SPEED_5GB)) { + ret = i40e_aq_get_phy_register(hw, + I40E_AQ_PHY_REG_ACCESS_EXTERNAL, + I40E_BCM_PHY_PCS_STATUS1_PAGE, + TRUE, + I40E_BCM_PHY_PCS_STATUS1_REG, + &val, NULL); + + if (ret != I40E_SUCCESS) + return ret; + + stat->rx_lpi_status = !!(val & I40E_BCM_PHY_PCS_STATUS1_RX_LPI); + stat->tx_lpi_status = !!(val & I40E_BCM_PHY_PCS_STATUS1_TX_LPI); + + return ret; + } + + val = rd32(hw, I40E_PRTPM_EEE_STAT); + stat->rx_lpi_status = (val & I40E_PRTPM_EEE_STAT_RX_LPI_STATUS_MASK) >> + I40E_PRTPM_EEE_STAT_RX_LPI_STATUS_SHIFT; + stat->tx_lpi_status = (val & I40E_PRTPM_EEE_STAT_TX_LPI_STATUS_MASK) >> + I40E_PRTPM_EEE_STAT_TX_LPI_STATUS_SHIFT; + + return ret; +} + +/** + * i40e_get_lpi_counters - read LPI counters from EEE statistics + * @hw: pointer to the hw struct + * @tx_counter: pointer to memory for TX LPI counter + * @rx_counter: pointer to memory for RX LPI counter + * @is_clear: returns TRUE if counters are clear after read + * + * Read Low Power Idle (LPI) mode counters from Energy Efficient + * Ethernet (EEE) statistics. + **/ +enum i40e_status_code i40e_get_lpi_counters(struct i40e_hw *hw, + u32 *tx_counter, u32 *rx_counter, + bool *is_clear) +{ + /* only X710-T*L requires special handling of counters + * for other devices we just read the MAC registers + */ + if ((hw->device_id == I40E_DEV_ID_10G_BASE_T_BC || + hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) && + hw->phy.link_info.link_speed != I40E_LINK_SPEED_1GB) { + enum i40e_status_code retval; + u32 cmd_status; + + *is_clear = FALSE; + retval = i40e_aq_run_phy_activity(hw, + I40E_AQ_RUN_PHY_ACT_ID_USR_DFND, + I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT, + &cmd_status, tx_counter, rx_counter, NULL); + + if (!retval && cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) + retval = I40E_ERR_ADMIN_QUEUE_ERROR; + + return retval; + } + + *is_clear = TRUE; + *tx_counter = rd32(hw, I40E_PRTPM_TLPIC); + *rx_counter = rd32(hw, I40E_PRTPM_RLPIC); + + return I40E_SUCCESS; +} + +/** + * i40e_get_lpi_duration - read LPI time duration from EEE statistics + * @hw: pointer to the hw struct + * @stat: pointer to structure with status of rx and tx lpi + * @tx_duration: pointer to memory for TX LPI time duration + * @rx_duration: pointer to memory for RX LPI time duration + * + * Read Low Power Idle (LPI) mode time duration from Energy Efficient + * Ethernet (EEE) statistics. + */ +enum i40e_status_code i40e_get_lpi_duration(struct i40e_hw *hw, + struct i40e_hw_port_stats *stat, + u64 *tx_duration, u64 *rx_duration) +{ + u32 tx_time_dur, rx_time_dur; + enum i40e_status_code retval; + u32 cmd_status; + + if (hw->device_id != I40E_DEV_ID_10G_BASE_T_BC && + hw->device_id != I40E_DEV_ID_5G_BASE_T_BC) + return I40E_ERR_NOT_IMPLEMENTED; + + retval = i40e_aq_run_phy_activity + (hw, I40E_AQ_RUN_PHY_ACT_ID_USR_DFND, + I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_DUR, + &cmd_status, &tx_time_dur, &rx_time_dur, NULL); + + if (retval) + return retval; + if ((cmd_status & I40E_AQ_RUN_PHY_ACT_CMD_STAT_MASK) != + I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) + return I40E_ERR_ADMIN_QUEUE_ERROR; + + if (hw->phy.link_info.link_speed == I40E_LINK_SPEED_1GB && + !tx_time_dur && !rx_time_dur && + stat->tx_lpi_status && stat->rx_lpi_status) { + retval = i40e_aq_run_phy_activity + (hw, I40E_AQ_RUN_PHY_ACT_ID_USR_DFND, + I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT_DUR, + &cmd_status, + &tx_time_dur, &rx_time_dur, NULL); + + if (retval) + return retval; + if ((cmd_status & I40E_AQ_RUN_PHY_ACT_CMD_STAT_MASK) != + I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) + return I40E_ERR_ADMIN_QUEUE_ERROR; + tx_time_dur = 0; + rx_time_dur = 0; + } + + *tx_duration = tx_time_dur; + *rx_duration = rx_time_dur; + + return retval; +} + +/** + * i40e_lpi_stat_update - update LPI counters with values relative to offset + * @hw: pointer to the hw struct + * @offset_loaded: flag indicating need of writing current value to offset + * @tx_offset: pointer to offset of TX LPI counter + * @tx_stat: pointer to value of TX LPI counter + * @rx_offset: pointer to offset of RX LPI counter + * @rx_stat: pointer to value of RX LPI counter + * + * Update Low Power Idle (LPI) mode counters while having regard to passed + * offsets. + **/ +enum i40e_status_code i40e_lpi_stat_update(struct i40e_hw *hw, + bool offset_loaded, u64 *tx_offset, + u64 *tx_stat, u64 *rx_offset, + u64 *rx_stat) +{ + enum i40e_status_code retval; + u32 tx_counter, rx_counter; + bool is_clear; + + retval = i40e_get_lpi_counters(hw, &tx_counter, &rx_counter, &is_clear); + if (retval) + goto err; + + if (is_clear) { + *tx_stat += tx_counter; + *rx_stat += rx_counter; + } else { + if (!offset_loaded) { + *tx_offset = tx_counter; + *rx_offset = rx_counter; + } + + *tx_stat = (tx_counter >= *tx_offset) ? + (u32)(tx_counter - *tx_offset) : + (u32)((tx_counter + BIT_ULL(32)) - *tx_offset); + *rx_stat = (rx_counter >= *rx_offset) ? + (u32)(rx_counter - *rx_offset) : + (u32)((rx_counter + BIT_ULL(32)) - *rx_offset); + } +err: + return retval; +} + +/** * i40e_aq_rx_ctl_read_register - use FW to read from an Rx control register * @hw: pointer to the hw struct * @reg_addr: register address @@ -7083,6 +7362,52 @@ i40e_aq_get_phy_register_ext(struct i40e_hw *hw, return status; } + +/** + * i40e_aq_run_phy_activity + * @hw: pointer to the hw struct + * @activity_id: ID of DNL activity to run + * @dnl_opcode: opcode passed to DNL script + * @cmd_status: pointer to memory to write return value of DNL script + * @data0: pointer to memory for first 4 bytes of data returned by DNL script + * @data1: pointer to memory for last 4 bytes of data returned by DNL script + * @cmd_details: pointer to command details structure or NULL + * + * Run DNL admin command. + **/ +enum i40e_status_code +i40e_aq_run_phy_activity(struct i40e_hw *hw, u16 activity_id, u32 dnl_opcode, + u32 *cmd_status, u32 *data0, u32 *data1, + struct i40e_asq_cmd_details *cmd_details) +{ + struct i40e_aqc_run_phy_activity *cmd; + enum i40e_status_code retval; + struct i40e_aq_desc desc; + + cmd = (struct i40e_aqc_run_phy_activity *)&desc.params.raw; + + if (!cmd_status || !data0 || !data1) { + retval = I40E_ERR_PARAM; + goto err; + } + + i40e_fill_default_direct_cmd_desc(&desc, + i40e_aqc_opc_run_phy_activity); + + cmd->activity_id = CPU_TO_LE16(activity_id); + cmd->params.cmd.dnl_opcode = CPU_TO_LE32(dnl_opcode); + + retval = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); + if (retval) + goto err; + + *cmd_status = LE32_TO_CPU(cmd->params.resp.cmd_status); + *data0 = LE32_TO_CPU(cmd->params.resp.data0); + *data1 = LE32_TO_CPU(cmd->params.resp.data1); +err: + return retval; +} + /** * i40e_aq_send_msg_to_pf Modified: stable/12/sys/dev/ixl/i40e_devids.h ============================================================================== --- stable/12/sys/dev/ixl/i40e_devids.h Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/i40e_devids.h Fri Sep 4 21:21:23 2020 (r365339) @@ -54,6 +54,13 @@ #define I40E_DEV_ID_10G_BASE_T4 0x1589 #define I40E_DEV_ID_25G_B 0x158A #define I40E_DEV_ID_25G_SFP28 0x158B +#define I40E_DEV_ID_10G_BASE_T_BC 0x15FF +#define I40E_DEV_ID_10G_B 0x104F +#define I40E_DEV_ID_10G_SFP 0x104E +#define I40E_DEV_ID_5G_BASE_T_BC 0x101F +#define I40E_IS_X710TL_DEVICE(d) \ + (((d) == I40E_DEV_ID_10G_BASE_T_BC) || \ + ((d) == I40E_DEV_ID_5G_BASE_T_BC)) #define I40E_DEV_ID_VF 0x154C #define I40E_DEV_ID_VF_HV 0x1571 #define I40E_DEV_ID_ADAPTIVE_VF 0x1889 Modified: stable/12/sys/dev/ixl/i40e_prototype.h ============================================================================== --- stable/12/sys/dev/ixl/i40e_prototype.h Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/i40e_prototype.h Fri Sep 4 21:21:23 2020 (r365339) @@ -104,6 +104,17 @@ enum i40e_status_code i40e_led_get_reg(struct i40e_hw u32 *reg_val); enum i40e_status_code i40e_led_set_reg(struct i40e_hw *hw, u16 led_addr, u32 reg_val); +enum i40e_status_code i40e_get_phy_lpi_status(struct i40e_hw *hw, + struct i40e_hw_port_stats *stats); +enum i40e_status_code i40e_get_lpi_counters(struct i40e_hw *hw, u32 *tx_counter, + u32 *rx_counter, bool *is_clear); +enum i40e_status_code i40e_lpi_stat_update(struct i40e_hw *hw, + bool offset_loaded, u64 *tx_offset, + u64 *tx_stat, u64 *rx_offset, + u64 *rx_stat); +enum i40e_status_code i40e_get_lpi_duration(struct i40e_hw *hw, + struct i40e_hw_port_stats *stat, + u64 *tx_duration, u64 *rx_duration); /* admin send queue commands */ enum i40e_status_code i40e_aq_get_firmware_version(struct i40e_hw *hw, @@ -479,6 +490,7 @@ void i40e_nvmupd_check_wait_event(struct i40e_hw *hw, struct i40e_aq_desc *desc); void i40e_nvmupd_clear_wait_state(struct i40e_hw *hw); void i40e_set_pci_config_data(struct i40e_hw *hw, u16 link_status); +enum i40e_status_code i40e_enable_eee(struct i40e_hw *hw, bool enable); enum i40e_status_code i40e_set_mac_type(struct i40e_hw *hw); @@ -506,6 +518,10 @@ i40e_virtchnl_link_speed(enum i40e_aq_link_speed link_ return VIRTCHNL_LINK_SPEED_100MB; case I40E_LINK_SPEED_1GB: return VIRTCHNL_LINK_SPEED_1GB; + case I40E_LINK_SPEED_2_5GB: + return VIRTCHNL_LINK_SPEED_2_5GB; + case I40E_LINK_SPEED_5GB: + return VIRTCHNL_LINK_SPEED_5GB; case I40E_LINK_SPEED_10GB: return VIRTCHNL_LINK_SPEED_10GB; case I40E_LINK_SPEED_40GB: @@ -575,6 +591,11 @@ i40e_aq_get_phy_register_ext(struct i40e_hw *hw, i40e_aq_set_phy_register_ext(hw, ps, da, pc, FALSE, 0, ra, rv, cd) #define i40e_aq_get_phy_register(hw, ps, da, pc, ra, rv, cd) \ i40e_aq_get_phy_register_ext(hw, ps, da, pc, FALSE, 0, ra, rv, cd) + +enum i40e_status_code +i40e_aq_run_phy_activity(struct i40e_hw *hw, u16 activity_id, u32 opcode, + u32 *cmd_status, u32 *data0, u32 *data1, + struct i40e_asq_cmd_details *cmd_details); enum i40e_status_code i40e_aq_set_arp_proxy_config(struct i40e_hw *hw, struct i40e_aqc_arp_proxy_data *proxy_config, Modified: stable/12/sys/dev/ixl/i40e_type.h ============================================================================== --- stable/12/sys/dev/ixl/i40e_type.h Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/i40e_type.h Fri Sep 4 21:21:23 2020 (r365339) @@ -347,6 +347,12 @@ struct i40e_phy_info { I40E_PHY_TYPE_OFFSET) #define I40E_CAP_PHY_TYPE_25GBASE_ACC BIT_ULL(I40E_PHY_TYPE_25GBASE_ACC + \ I40E_PHY_TYPE_OFFSET) +/* Offset for 2.5G/5G PHY Types value to bit number conversion */ +#define I40E_PHY_TYPE_OFFSET2 (-10) +#define I40E_CAP_PHY_TYPE_2_5GBASE_T BIT_ULL(I40E_PHY_TYPE_2_5GBASE_T + \ + I40E_PHY_TYPE_OFFSET2) +#define I40E_CAP_PHY_TYPE_5GBASE_T BIT_ULL(I40E_PHY_TYPE_5GBASE_T + \ + I40E_PHY_TYPE_OFFSET2) #define I40E_HW_CAP_MAX_GPIO 30 #define I40E_HW_CAP_MDIO_PORT_MODE_MDIO 0 #define I40E_HW_CAP_MDIO_PORT_MODE_I2C 1 @@ -1490,6 +1496,8 @@ struct i40e_hw_port_stats { u32 rx_lpi_status; u64 tx_lpi_count; /* etlpic */ u64 rx_lpi_count; /* erlpic */ + u64 tx_lpi_duration; + u64 rx_lpi_duration; }; /* Checksum and Shadow RAM pointers */ @@ -1542,6 +1550,7 @@ struct i40e_hw_port_stats { #define I40E_SR_FEATURE_CONFIGURATION_PTR 0x49 #define I40E_SR_CONFIGURATION_METADATA_PTR 0x4D #define I40E_SR_IMMEDIATE_VALUES_PTR 0x4E +#define I40E_SR_5TH_FREE_PROVISION_AREA_PTR 0x50 /* Auxiliary field, mask and shift definition for Shadow RAM and NVM Flash */ #define I40E_SR_VPD_MODULE_MAX_SIZE 1024 @@ -1728,4 +1737,9 @@ struct i40e_lldp_variables { #define I40E_FLEX_56_MASK (0x1ULL << I40E_FLEX_56_SHIFT) #define I40E_FLEX_57_SHIFT 6 #define I40E_FLEX_57_MASK (0x1ULL << I40E_FLEX_57_SHIFT) +#define I40E_BCM_PHY_PCS_STATUS1_PAGE 0x3 +#define I40E_BCM_PHY_PCS_STATUS1_REG 0x0001 +#define I40E_BCM_PHY_PCS_STATUS1_RX_LPI BIT(8) +#define I40E_BCM_PHY_PCS_STATUS1_TX_LPI BIT(9) + #endif /* _I40E_TYPE_H_ */ Modified: stable/12/sys/dev/ixl/if_ixl.c ============================================================================== --- stable/12/sys/dev/ixl/if_ixl.c Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/if_ixl.c Fri Sep 4 21:21:23 2020 (r365339) @@ -48,7 +48,7 @@ * Driver version *********************************************************************/ #define IXL_DRIVER_VERSION_MAJOR 2 -#define IXL_DRIVER_VERSION_MINOR 2 +#define IXL_DRIVER_VERSION_MINOR 3 #define IXL_DRIVER_VERSION_BUILD 0 #define IXL_DRIVER_VERSION_STRING \ @@ -82,6 +82,10 @@ static pci_vendor_info_t ixl_vendor_info_array[] = PVIDV(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_SFP_I_X722, "Intel(R) Ethernet Connection X722 for 10GbE SFP+"), PVIDV(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_25G_B, "Intel(R) Ethernet Controller XXV710 for 25GbE backplane"), PVIDV(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_25G_SFP28, "Intel(R) Ethernet Controller XXV710 for 25GbE SFP28"), + PVIDV(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_10G_BASE_T_BC, "Intel(R) Ethernet Controller X710 for 10GBASE-T"), + PVIDV(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_10G_SFP, "Intel(R) Ethernet Controller X710 for 10GbE SFP+"), + PVIDV(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_10G_B, "Intel(R) Ethernet Controller X710 for 10GbE backplane"), + PVIDV(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_5G_BASE_T_BC, "Intel(R) Ethernet Controller V710 for 5GBASE-T"), /* required last entry */ PVID_END }; @@ -599,6 +603,12 @@ ixl_if_attach_pre(if_ctx_t ctx) pf->state |= IXL_PF_STATE_FW_LLDP_DISABLED; } + /* Try enabling Energy Efficient Ethernet (EEE) mode */ + if (i40e_enable_eee(hw, true) == I40E_SUCCESS) + atomic_set_32(&pf->state, IXL_PF_STATE_EEE_ENABLED); + else + atomic_clear_32(&pf->state, IXL_PF_STATE_EEE_ENABLED); + /* Get MAC addresses from hardware */ i40e_get_mac_addr(hw, hw->mac.addr); error = i40e_validate_mac_addr(hw->mac.addr); @@ -1491,6 +1501,14 @@ ixl_if_media_status(if_ctx_t ctx, struct ifmediareq *i break; case I40E_PHY_TYPE_1000BASE_T_OPTICAL: ifmr->ifm_active |= IFM_1000_T; + break; + /* 2.5 G */ + case I40E_PHY_TYPE_2_5GBASE_T: + ifmr->ifm_active |= IFM_2500_T; + break; + /* 5 G */ + case I40E_PHY_TYPE_5GBASE_T: + ifmr->ifm_active |= IFM_5000_T; break; /* 10 G */ case I40E_PHY_TYPE_10GBASE_SFPP_CU: Modified: stable/12/sys/dev/ixl/ixl_pf.h ============================================================================== --- stable/12/sys/dev/ixl/ixl_pf.h Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/ixl_pf.h Fri Sep 4 21:21:23 2020 (r365339) @@ -87,6 +87,7 @@ enum ixl_pf_state { IXL_PF_STATE_GLOB_RESET_REQ = (1 << 7), IXL_PF_STATE_EMP_RESET_REQ = (1 << 8), IXL_PF_STATE_FW_LLDP_DISABLED = (1 << 9), + IXL_PF_STATE_EEE_ENABLED = (1 << 10), }; #define IXL_PF_IN_RECOVERY_MODE(pf) \ @@ -191,7 +192,9 @@ struct ixl_pf { "\t 0x4 - advertise 10G\n" \ "\t 0x8 - advertise 20G\n" \ "\t0x10 - advertise 25G\n" \ -"\t0x20 - advertise 40G\n\n" \ +"\t0x20 - advertise 40G\n" \ +"\t0x40 - advertise 2.5G\n" \ +"\t0x80 - advertise 5G\n\n" \ "Set to 0 to disable link.\n" \ "Use \"sysctl -x\" to view flags properly." @@ -203,7 +206,9 @@ struct ixl_pf { "\t 0x4 - 10G\n" \ "\t 0x8 - 20G\n" \ "\t0x10 - 25G\n" \ -"\t0x20 - 40G\n\n" \ +"\t0x20 - 40G\n" \ +"\t0x40 - 2.5G\n" \ +"\t0x80 - 5G\n\n" \ "Use \"sysctl -x\" to view flags properly." #define IXL_SYSCTL_HELP_FC \ Modified: stable/12/sys/dev/ixl/ixl_pf_main.c ============================================================================== --- stable/12/sys/dev/ixl/ixl_pf_main.c Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/ixl_pf_main.c Fri Sep 4 21:21:23 2020 (r365339) @@ -61,6 +61,8 @@ static int ixl_sysctl_unallocated_queues(SYSCTL_HANDLE static int ixl_sysctl_pf_tx_itr(SYSCTL_HANDLER_ARGS); static int ixl_sysctl_pf_rx_itr(SYSCTL_HANDLER_ARGS); +static int ixl_sysctl_eee_enable(SYSCTL_HANDLER_ARGS); + /* Debug Sysctls */ static int ixl_sysctl_link_status(SYSCTL_HANDLER_ARGS); static int ixl_sysctl_phy_abilities(SYSCTL_HANDLER_ARGS); @@ -631,6 +633,12 @@ ixl_add_ifmedia(struct ifmedia *media, u64 phy_types) if (phy_types & (I40E_CAP_PHY_TYPE_1000BASE_LX)) ifmedia_add(media, IFM_ETHER | IFM_1000_LX, 0, NULL); + if (phy_types & (I40E_CAP_PHY_TYPE_2_5GBASE_T)) + ifmedia_add(media, IFM_ETHER | IFM_2500_T, 0, NULL); + + if (phy_types & (I40E_CAP_PHY_TYPE_5GBASE_T)) + ifmedia_add(media, IFM_ETHER | IFM_5000_T, 0, NULL); + if (phy_types & (I40E_CAP_PHY_TYPE_XAUI) || phy_types & (I40E_CAP_PHY_TYPE_XFI) || phy_types & (I40E_CAP_PHY_TYPE_10GBASE_SFPP_CU)) @@ -1898,6 +1906,13 @@ ixl_update_stats_counters(struct ixl_pf *pf) ixl_stat_update32(hw, I40E_GLPRT_RJC(hw->port), pf->stat_offsets_loaded, &osd->rx_jabber, &nsd->rx_jabber); + /* EEE */ + i40e_get_phy_lpi_status(hw, nsd); + + i40e_lpi_stat_update(hw, pf->stat_offsets_loaded, + &osd->tx_lpi_count, &nsd->tx_lpi_count, + &osd->rx_lpi_count, &nsd->rx_lpi_count); + pf->stat_offsets_loaded = true; /* End hw stats */ @@ -2161,6 +2176,8 @@ ixl_add_device_sysctls(struct ixl_pf *pf) struct sysctl_oid *fec_node; struct sysctl_oid_list *fec_list; + struct sysctl_oid *eee_node; + struct sysctl_oid_list *eee_list; /* Set up sysctls */ SYSCTL_ADD_PROC(ctx, ctx_list, @@ -2237,6 +2254,32 @@ ixl_add_device_sysctls(struct ixl_pf *pf) OID_AUTO, "fw_lldp", CTLTYPE_INT | CTLFLAG_RW, pf, 0, ixl_sysctl_fw_lldp, "I", IXL_SYSCTL_HELP_FW_LLDP); + eee_node = SYSCTL_ADD_NODE(ctx, ctx_list, + OID_AUTO, "eee", CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, + "Energy Efficient Ethernet (EEE) Sysctls"); + eee_list = SYSCTL_CHILDREN(eee_node); + + SYSCTL_ADD_PROC(ctx, eee_list, + OID_AUTO, "enable", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, + pf, 0, ixl_sysctl_eee_enable, "I", + "Enable Energy Efficient Ethernet (EEE)"); + + SYSCTL_ADD_UINT(ctx, eee_list, OID_AUTO, "tx_lpi_status", + CTLFLAG_RD | CTLFLAG_MPSAFE, &pf->stats.tx_lpi_status, 0, + "TX LPI status"); + + SYSCTL_ADD_UINT(ctx, eee_list, OID_AUTO, "rx_lpi_status", + CTLFLAG_RD | CTLFLAG_MPSAFE, &pf->stats.rx_lpi_status, 0, + "RX LPI status"); + + SYSCTL_ADD_UQUAD(ctx, eee_list, OID_AUTO, "tx_lpi_count", + CTLFLAG_RD | CTLFLAG_MPSAFE, &pf->stats.tx_lpi_count, + "TX LPI count"); + + SYSCTL_ADD_UQUAD(ctx, eee_list, OID_AUTO, "rx_lpi_count", + CTLFLAG_RD | CTLFLAG_MPSAFE, &pf->stats.rx_lpi_count, + "RX LPI count"); + /* Add sysctls meant to print debug information, but don't list them * in "sysctl -a" output. */ debug_node = SYSCTL_ADD_NODE(ctx, ctx_list, @@ -2348,6 +2391,8 @@ ixl_link_speed_string(enum i40e_aq_link_speed link_spe "40 Gbps", "20 Gbps", "25 Gbps", + "2.5 Gbps", + "5 Gbps" }; int index; @@ -2370,6 +2415,12 @@ ixl_link_speed_string(enum i40e_aq_link_speed link_spe case I40E_LINK_SPEED_25GB: index = 6; break; + case I40E_LINK_SPEED_2_5GB: + index = 7; + break; + case I40E_LINK_SPEED_5GB: + index = 8; + break; case I40E_LINK_SPEED_UNKNOWN: default: index = 0; @@ -2403,14 +2454,16 @@ ixl_sysctl_current_speed(SYSCTL_HANDLER_ARGS) static u8 ixl_convert_sysctl_aq_link_speed(u8 speeds, bool to_aq) { -#define SPEED_MAP_SIZE 6 +#define SPEED_MAP_SIZE 8 static u16 speedmap[SPEED_MAP_SIZE] = { (I40E_LINK_SPEED_100MB | (0x1 << 8)), (I40E_LINK_SPEED_1GB | (0x2 << 8)), (I40E_LINK_SPEED_10GB | (0x4 << 8)), (I40E_LINK_SPEED_20GB | (0x8 << 8)), (I40E_LINK_SPEED_25GB | (0x10 << 8)), - (I40E_LINK_SPEED_40GB | (0x20 << 8)) + (I40E_LINK_SPEED_40GB | (0x20 << 8)), + (I40E_LINK_SPEED_2_5GB | (0x40 << 8)), + (I40E_LINK_SPEED_5GB | (0x80 << 8)), }; u8 retval = 0; @@ -2482,6 +2535,8 @@ ixl_set_advertised_speeds(struct ixl_pf *pf, int speed ** 0x8 - 20G ** 0x10 - 25G ** 0x20 - 40G +** 0x40 - 2.5G +** 0x80 - 5G */ static int ixl_sysctl_supported_speeds(SYSCTL_HANDLER_ARGS) @@ -2501,6 +2556,8 @@ ixl_sysctl_supported_speeds(SYSCTL_HANDLER_ARGS) ** 0x8 - advertise 20G ** 0x10 - advertise 25G ** 0x20 - advertise 40G +** 0x40 - advertise 2.5G +** 0x80 - advertise 5G ** ** Set to 0 to disable link */ @@ -2525,7 +2582,7 @@ ixl_sysctl_set_advertise(SYSCTL_HANDLER_ARGS) } /* Error out if bits outside of possible flag range are set */ - if ((requested_ls & ~((u8)0x3F)) != 0) { + if ((requested_ls & ~((u8)0xFF)) != 0) { device_printf(dev, "Input advertised speed out of range; " "valid flags are: 0x%02x\n", ixl_convert_sysctl_aq_link_speed(pf->supported_speeds, false)); @@ -2564,6 +2621,10 @@ ixl_max_aq_speed_to_value(u8 link_speeds) return IF_Gbps(20); if (link_speeds & I40E_LINK_SPEED_10GB) return IF_Gbps(10); + if (link_speeds & I40E_LINK_SPEED_5GB) + return IF_Gbps(5); + if (link_speeds & I40E_LINK_SPEED_2_5GB) + return IF_Mbps(2500); if (link_speeds & I40E_LINK_SPEED_1GB) return IF_Gbps(1); if (link_speeds & I40E_LINK_SPEED_100MB) @@ -2848,8 +2909,8 @@ ixl_phy_type_string(u32 bit_pos, bool ext) "25GBASE-LR", "25GBASE-AOC", "25GBASE-ACC", - "Reserved (6)", - "Reserved (7)" + "2.5GBASE-T", + "5GBASE-T" }; if (ext && bit_pos > 7) return "Invalid_Ext"; @@ -4074,6 +4135,43 @@ ixl_sysctl_fw_lldp(SYSCTL_HANDLER_ARGS) return ixl_stop_fw_lldp(pf); return ixl_start_fw_lldp(pf); +} + +static int +ixl_sysctl_eee_enable(SYSCTL_HANDLER_ARGS) +{ + struct ixl_pf *pf = (struct ixl_pf *)arg1; + int state, new_state; + int sysctl_handle_status = 0; + enum i40e_status_code cmd_status; + + /* Init states' values */ + state = new_state = (!!(pf->state & IXL_PF_STATE_EEE_ENABLED)); + + /* Get requested mode */ + sysctl_handle_status = sysctl_handle_int(oidp, &new_state, 0, req); + if ((sysctl_handle_status) || (req->newptr == NULL)) + return (sysctl_handle_status); + + /* Check if state has changed */ + if (new_state == state) + return (0); + + /* Set new state */ + cmd_status = i40e_enable_eee(&pf->hw, (bool)(!!new_state)); + + /* Save new state or report error */ + if (!cmd_status) { + if (new_state == 0) + atomic_clear_32(&pf->state, IXL_PF_STATE_EEE_ENABLED); + else + atomic_set_32(&pf->state, IXL_PF_STATE_EEE_ENABLED); + } else if (cmd_status == I40E_ERR_CONFIG) + return (EPERM); + else + return (EIO); + + return (0); } int Modified: stable/12/sys/dev/ixl/virtchnl.h ============================================================================== --- stable/12/sys/dev/ixl/virtchnl.h Fri Sep 4 19:30:15 2020 (r365338) +++ stable/12/sys/dev/ixl/virtchnl.h Fri Sep 4 21:21:23 2020 (r365339) @@ -77,12 +77,14 @@ enum virtchnl_status_code { VIRTCHNL_STATUS_NOT_SUPPORTED = -64, }; +#define VIRTCHNL_LINK_SPEED_2_5GB_SHIFT 0x0 #define VIRTCHNL_LINK_SPEED_100MB_SHIFT 0x1 #define VIRTCHNL_LINK_SPEED_1000MB_SHIFT 0x2 #define VIRTCHNL_LINK_SPEED_10GB_SHIFT 0x3 #define VIRTCHNL_LINK_SPEED_40GB_SHIFT 0x4 #define VIRTCHNL_LINK_SPEED_20GB_SHIFT 0x5 #define VIRTCHNL_LINK_SPEED_25GB_SHIFT 0x6 +#define VIRTCHNL_LINK_SPEED_5GB_SHIFT 0x7 enum virtchnl_link_speed { VIRTCHNL_LINK_SPEED_UNKNOWN = 0, @@ -92,6 +94,8 @@ enum virtchnl_link_speed { VIRTCHNL_LINK_SPEED_40GB = BIT(VIRTCHNL_LINK_SPEED_40GB_SHIFT), VIRTCHNL_LINK_SPEED_20GB = BIT(VIRTCHNL_LINK_SPEED_20GB_SHIFT), VIRTCHNL_LINK_SPEED_25GB = BIT(VIRTCHNL_LINK_SPEED_25GB_SHIFT), + VIRTCHNL_LINK_SPEED_2_5GB = BIT(VIRTCHNL_LINK_SPEED_2_5GB_SHIFT), + VIRTCHNL_LINK_SPEED_5GB = BIT(VIRTCHNL_LINK_SPEED_5GB_SHIFT), }; /* for hsplit_0 field of Rx HMC context */ From owner-svn-src-stable-12@freebsd.org Sat Sep 5 02:16:13 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 777583D6DA4; Sat, 5 Sep 2020 02:16:13 +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 4Bjyp52MVxz4thx; Sat, 5 Sep 2020 02:16:13 +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 2FBE91623F; Sat, 5 Sep 2020 02:16:13 +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 0852GD2W090088; Sat, 5 Sep 2020 02:16:13 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0852GBBg090078; Sat, 5 Sep 2020 02:16:11 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202009050216.0852GBBg090078@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Sat, 5 Sep 2020 02:16:11 +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: r365356 - in stable/12/sys: cddl/contrib/opensolaris/uts/common/fs/zfs conf modules modules/krpc modules/xdr rpc sys xdr X-SVN-Group: stable-12 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in stable/12/sys: cddl/contrib/opensolaris/uts/common/fs/zfs conf modules modules/krpc modules/xdr rpc sys xdr X-SVN-Commit-Revision: 365356 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Sep 2020 02:16:13 -0000 Author: kevans Date: Sat Sep 5 02:16:10 2020 New Revision: 365356 URL: https://svnweb.freebsd.org/changeset/base/365356 Log: MFC r360035-r360037: Split XDR off, minimize ZFS dependency __FreeBSD_version bumped to indicate the change. r360035: Move M_RPC malloc type into XDR. Both RPC and XDR libraries use this type, but since RPC depends on XDR (not vice versa) we need it defined in XDR to make the module loadable without RPC. r360036: Split XDR into separate kernel module. Make krpc depend on xdr. r360037: Make ZFS depend on xdr.ko only. It doesn't need kernel RPC. Added: stable/12/sys/modules/xdr/ - copied from r360036, head/sys/modules/xdr/ Modified: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c stable/12/sys/conf/files stable/12/sys/conf/options stable/12/sys/modules/Makefile stable/12/sys/modules/krpc/Makefile stable/12/sys/rpc/rpc_generic.c stable/12/sys/rpc/rpc_prot.c stable/12/sys/sys/param.h stable/12/sys/xdr/xdr.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Sat Sep 5 02:16:10 2020 (r365356) @@ -7342,5 +7342,5 @@ static moduledata_t zfs_mod = { DECLARE_MODULE(zfsctrl, zfs_mod, SI_SUB_VFS, SI_ORDER_ANY); MODULE_VERSION(zfsctrl, 1); MODULE_DEPEND(zfsctrl, opensolaris, 1, 1, 1); -MODULE_DEPEND(zfsctrl, krpc, 1, 1, 1); +MODULE_DEPEND(zfsctrl, xdr, 1, 1, 1); MODULE_DEPEND(zfsctrl, acl_nfs4, 1, 1, 1); Modified: stable/12/sys/conf/files ============================================================================== --- stable/12/sys/conf/files Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/conf/files Sat Sep 5 02:16:10 2020 (r365356) @@ -5044,9 +5044,9 @@ xen/xenbus/xenbusb.c optional xenhvm xen/xenbus/xenbusb_front.c optional xenhvm xen/xenbus/xenbusb_back.c optional xenhvm xen/xenmem/xenmem_if.m optional xenhvm -xdr/xdr.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_array.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_mbuf.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_mem.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_reference.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_sizeof.c optional krpc | nfslockd | nfscl | nfsd +xdr/xdr.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_array.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_mbuf.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_mem.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_reference.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_sizeof.c optional xdr | krpc | nfslockd | nfscl | nfsd Modified: stable/12/sys/conf/options ============================================================================== --- stable/12/sys/conf/options Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/conf/options Sat Sep 5 02:16:10 2020 (r365356) @@ -472,6 +472,7 @@ TCP_RFC7413_MAX_KEYS opt_inet.h TCP_RFC7413_MAX_PSKS opt_inet.h TCP_SIGNATURE opt_ipsec.h VLAN_ARRAY opt_vlan.h +XDR XBONEHACK # Modified: stable/12/sys/modules/Makefile ============================================================================== --- stable/12/sys/modules/Makefile Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/modules/Makefile Sat Sep 5 02:16:10 2020 (r365356) @@ -422,6 +422,7 @@ SUBDIR= \ ${_wpi} \ ${_wpifw} \ ${_x86bios} \ + xdr \ ${_xe} \ xl \ xz \ Modified: stable/12/sys/modules/krpc/Makefile ============================================================================== --- stable/12/sys/modules/krpc/Makefile Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/modules/krpc/Makefile Sat Sep 5 02:16:10 2020 (r365356) @@ -1,6 +1,6 @@ # $FreeBSD$ -.PATH: ${SRCTOP}/sys/rpc ${SRCTOP}/sys/xdr +.PATH: ${SRCTOP}/sys/rpc KMOD= krpc SRCS= auth_none.c \ auth_unix.c \ @@ -22,13 +22,6 @@ SRCS= auth_none.c \ svc_dg.c \ svc_generic.c \ svc_vc.c \ - -SRCS+= xdr.c \ - xdr_array.c \ - xdr_mbuf.c \ - xdr_mem.c \ - xdr_reference.c \ - xdr_sizeof.c SRCS+= opt_inet6.h Modified: stable/12/sys/rpc/rpc_generic.c ============================================================================== --- stable/12/sys/rpc/rpc_generic.c Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/rpc/rpc_generic.c Sat Sep 5 02:16:10 2020 (r365356) @@ -886,3 +886,4 @@ DECLARE_MODULE(krpc, krpc_mod, SI_SUB_VFS, SI_ORDER_AN /* So that loader and kldload(2) can find us, wherever we are.. */ MODULE_VERSION(krpc, 1); +MODULE_DEPEND(krpc, xdr, 1, 1, 1); Modified: stable/12/sys/rpc/rpc_prot.c ============================================================================== --- stable/12/sys/rpc/rpc_prot.c Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/rpc/rpc_prot.c Sat Sep 5 02:16:10 2020 (r365356) @@ -61,8 +61,6 @@ __FBSDID("$FreeBSD$"); #include #include -MALLOC_DEFINE(M_RPC, "rpc", "Remote Procedure Call"); - #define assert(exp) KASSERT(exp, ("bad arguments")) static enum clnt_stat accepted(enum accept_stat, struct rpc_err *); Modified: stable/12/sys/sys/param.h ============================================================================== --- stable/12/sys/sys/param.h Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/sys/param.h Sat Sep 5 02:16:10 2020 (r365356) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1201523 /* Master, propagated to newvers */ +#define __FreeBSD_version 1201524 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, Modified: stable/12/sys/xdr/xdr.c ============================================================================== --- stable/12/sys/xdr/xdr.c Sat Sep 5 00:50:52 2020 (r365355) +++ stable/12/sys/xdr/xdr.c Sat Sep 5 02:16:10 2020 (r365356) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -65,6 +66,8 @@ typedef u_quad_t u_longlong_t; /* ANSI unsign #define XDR_FALSE ((long) 0) #define XDR_TRUE ((long) 1) +MALLOC_DEFINE(M_RPC, "rpc", "Remote Procedure Call"); + /* * for unit alignment */ @@ -834,3 +837,20 @@ xdr_u_longlong_t(XDR *xdrs, u_longlong_t *ullp) */ return (xdr_uint64_t(xdrs, (uint64_t *)ullp)); } + +/* + * Kernel module glue + */ +static int +xdr_modevent(module_t mod, int type, void *data) +{ + + return (0); +} +static moduledata_t xdr_mod = { + "xdr", + xdr_modevent, + NULL, +}; +DECLARE_MODULE(xdr, xdr_mod, SI_SUB_VFS, SI_ORDER_ANY); +MODULE_VERSION(xdr, 1); From owner-svn-src-stable-12@freebsd.org Sat Sep 5 02:22:11 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 74FF93D70BC; Sat, 5 Sep 2020 02:22:11 +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 4Bjywy6TSmz4vGT; Sat, 5 Sep 2020 02:22:10 +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 AB7A91678A; Sat, 5 Sep 2020 02:22:10 +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 0852MAZr095201; Sat, 5 Sep 2020 02:22:10 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0852M9qH095194; Sat, 5 Sep 2020 02:22:09 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202009050222.0852M9qH095194@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Sat, 5 Sep 2020 02:22: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: r365357 - in stable: 11/secure/caroot/blacklisted 12/secure/caroot/blacklisted X-SVN-Group: stable-12 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in stable: 11/secure/caroot/blacklisted 12/secure/caroot/blacklisted X-SVN-Commit-Revision: 365357 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Sep 2020 02:22:11 -0000 Author: kevans Date: Sat Sep 5 02:22:07 2020 New Revision: 365357 URL: https://svnweb.freebsd.org/changeset/base/365357 Log: MFC r365248: caroot: properly remove old distrusted roots The proper procedure was not followed in r364943; all of these that were deleted should have instead been moved over to the blacklist so that certctl can DTRT. Users must still `certctl rehash` after this, but this should generally be done by one of mergemaster/etcupdate/freebsd-update/pkgbase already; note that freebsd-update doesn't come into play for this particular update, as these have not yet made it into a release. Future work (after svn -> git) will likely change the script that updatecert invokes to facilitate the process, rather than trusting that kevans or whomever updates in the future will remember. Added: stable/12/secure/caroot/blacklisted/AddTrust_External_Root.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/AddTrust_External_Root.pem stable/12/secure/caroot/blacklisted/AddTrust_Low-Value_Services_Root.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/AddTrust_Low-Value_Services_Root.pem stable/12/secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem stable/12/secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G2.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G2.pem stable/12/secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem stable/12/secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem stable/12/secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem Modified: Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Added: stable/11/secure/caroot/blacklisted/AddTrust_External_Root.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/AddTrust_External_Root.pem stable/11/secure/caroot/blacklisted/AddTrust_Low-Value_Services_Root.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/AddTrust_Low-Value_Services_Root.pem stable/11/secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem stable/11/secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G2.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G2.pem stable/11/secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem stable/11/secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem stable/11/secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem - copied unchanged from r365248, head/secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem Modified: Directory Properties: stable/11/ (props changed) Copied: stable/12/secure/caroot/blacklisted/AddTrust_External_Root.pem (from r365248, head/secure/caroot/blacklisted/AddTrust_External_Root.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/blacklisted/AddTrust_External_Root.pem Sat Sep 5 02:22:07 2020 (r365357, copy of r365248, head/secure/caroot/blacklisted/AddTrust_External_Root.pem) @@ -0,0 +1,99 @@ +## +## AddTrust External Root +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root + Validity + Not Before: May 30 10:48:38 2000 GMT + Not After : May 30 10:48:38 2020 GMT + Subject: C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:b7:f7:1a:33:e6:f2:00:04:2d:39:e0:4e:5b:ed: + 1f:bc:6c:0f:cd:b5:fa:23:b6:ce:de:9b:11:33:97: + a4:29:4c:7d:93:9f:bd:4a:bc:93:ed:03:1a:e3:8f: + cf:e5:6d:50:5a:d6:97:29:94:5a:80:b0:49:7a:db: + 2e:95:fd:b8:ca:bf:37:38:2d:1e:3e:91:41:ad:70: + 56:c7:f0:4f:3f:e8:32:9e:74:ca:c8:90:54:e9:c6: + 5f:0f:78:9d:9a:40:3c:0e:ac:61:aa:5e:14:8f:9e: + 87:a1:6a:50:dc:d7:9a:4e:af:05:b3:a6:71:94:9c: + 71:b3:50:60:0a:c7:13:9d:38:07:86:02:a8:e9:a8: + 69:26:18:90:ab:4c:b0:4f:23:ab:3a:4f:84:d8:df: + ce:9f:e1:69:6f:bb:d7:42:d7:6b:44:e4:c7:ad:ee: + 6d:41:5f:72:5a:71:08:37:b3:79:65:a4:59:a0:94: + 37:f7:00:2f:0d:c2:92:72:da:d0:38:72:db:14:a8: + 45:c4:5d:2a:7d:b7:b4:d6:c4:ee:ac:cd:13:44:b7: + c9:2b:dd:43:00:25:fa:61:b9:69:6a:58:23:11:b7: + a7:33:8f:56:75:59:f5:cd:29:d7:46:b7:0a:2b:65: + b6:d3:42:6f:15:b2:b8:7b:fb:ef:e9:5d:53:d5:34: + 5a:27 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: + AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A + X509v3 Key Usage: + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Authority Key Identifier: + keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A + DirName:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root + serial:01 + + Signature Algorithm: sha1WithRSAEncryption + b0:9b:e0:85:25:c2:d6:23:e2:0f:96:06:92:9d:41:98:9c:d9: + 84:79:81:d9:1e:5b:14:07:23:36:65:8f:b0:d8:77:bb:ac:41: + 6c:47:60:83:51:b0:f9:32:3d:e7:fc:f6:26:13:c7:80:16:a5: + bf:5a:fc:87:cf:78:79:89:21:9a:e2:4c:07:0a:86:35:bc:f2: + de:51:c4:d2:96:b7:dc:7e:4e:ee:70:fd:1c:39:eb:0c:02:51: + 14:2d:8e:bd:16:e0:c1:df:46:75:e7:24:ad:ec:f4:42:b4:85: + 93:70:10:67:ba:9d:06:35:4a:18:d3:2b:7a:cc:51:42:a1:7a: + 63:d1:e6:bb:a1:c5:2b:c2:36:be:13:0d:e6:bd:63:7e:79:7b: + a7:09:0d:40:ab:6a:dd:8f:8a:c3:f6:f6:8c:1a:42:05:51:d4: + 45:f5:9f:a7:62:21:68:15:20:43:3c:99:e7:7c:bd:24:d8:a9: + 91:17:73:88:3f:56:1b:31:38:18:b4:71:0f:9a:cd:c8:0e:9e: + 8e:2e:1b:e1:8c:98:83:cb:1f:31:f1:44:4c:c6:04:73:49:76: + 60:0f:c7:f8:bd:17:80:6b:2e:e9:cc:4c:0e:5a:9a:79:0f:20: + 0a:2e:d5:9e:63:26:1e:55:92:94:d8:82:17:5a:7b:d0:bc:c7: + 8f:4e:86:04 +SHA1 Fingerprint=02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/blacklisted/AddTrust_Low-Value_Services_Root.pem (from r365248, head/secure/caroot/blacklisted/AddTrust_Low-Value_Services_Root.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/blacklisted/AddTrust_Low-Value_Services_Root.pem Sat Sep 5 02:22:07 2020 (r365357, copy of r365248, head/secure/caroot/blacklisted/AddTrust_Low-Value_Services_Root.pem) @@ -0,0 +1,98 @@ +## +## AddTrust Low-Value Services Root +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C = SE, O = AddTrust AB, OU = AddTrust TTP Network, CN = AddTrust Class 1 CA Root + Validity + Not Before: May 30 10:38:31 2000 GMT + Not After : May 30 10:38:31 2020 GMT + Subject: C = SE, O = AddTrust AB, OU = AddTrust TTP Network, CN = AddTrust Class 1 CA Root + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:96:96:d4:21:49:60:e2:6b:e8:41:07:0c:de:c4: + e0:dc:13:23:cd:c1:35:c7:fb:d6:4e:11:0a:67:5e: + f5:06:5b:6b:a5:08:3b:5b:29:16:3a:e7:87:b2:34: + 06:c5:bc:05:a5:03:7c:82:cb:29:10:ae:e1:88:81: + bd:d6:9e:d3:fe:2d:56:c1:15:ce:e3:26:9d:15:2e: + 10:fb:06:8f:30:04:de:a7:b4:63:b4:ff:b1:9c:ae: + 3c:af:77:b6:56:c5:b5:ab:a2:e9:69:3a:3d:0e:33: + 79:32:3f:70:82:92:99:61:6d:8d:30:08:8f:71:3f: + a6:48:57:19:f8:25:dc:4b:66:5c:a5:74:8f:98:ae: + c8:f9:c0:06:22:e7:ac:73:df:a5:2e:fb:52:dc:b1: + 15:65:20:fa:35:66:69:de:df:2c:f1:6e:bc:30:db: + 2c:24:12:db:eb:35:35:68:90:cb:00:b0:97:21:3d: + 74:21:23:65:34:2b:bb:78:59:a3:d6:e1:76:39:9a: + a4:49:8e:8c:74:af:6e:a4:9a:a3:d9:9b:d2:38:5c: + 9b:a2:18:cc:75:23:84:be:eb:e2:4d:33:71:8e:1a: + f0:c2:f8:c7:1d:a2:ad:03:97:2c:f8:cf:25:c6:f6: + b8:24:31:b1:63:5d:92:7f:63:f0:25:c9:53:2e:1f: + bf:4d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: + 95:B1:B4:F0:94:B6:BD:C7:DA:D1:11:09:21:BE:C1:AF:49:FD:10:7B + X509v3 Key Usage: + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Authority Key Identifier: + keyid:95:B1:B4:F0:94:B6:BD:C7:DA:D1:11:09:21:BE:C1:AF:49:FD:10:7B + DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Class 1 CA Root + serial:01 + + Signature Algorithm: sha1WithRSAEncryption + 2c:6d:64:1b:1f:cd:0d:dd:b9:01:fa:96:63:34:32:48:47:99: + ae:97:ed:fd:72:16:a6:73:47:5a:f4:eb:dd:e9:f5:d6:fb:45: + cc:29:89:44:5d:bf:46:39:3d:e8:ee:bc:4d:54:86:1e:1d:6c: + e3:17:27:43:e1:89:56:2b:a9:6f:72:4e:49:33:e3:72:7c:2a: + 23:9a:bc:3e:ff:28:2a:ed:a3:ff:1c:23:ba:43:57:09:67:4d: + 4b:62:06:2d:f8:ff:6c:9d:60:1e:d8:1c:4b:7d:b5:31:2f:d9: + d0:7c:5d:f8:de:6b:83:18:78:37:57:2f:e8:33:07:67:df:1e: + c7:6b:2a:95:76:ae:8f:57:a3:f0:f4:52:b4:a9:53:08:cf:e0: + 4f:d3:7a:53:8b:fd:bb:1c:56:36:f2:fe:b2:b6:e5:76:bb:d5: + 22:65:a7:3f:fe:d1:66:ad:0b:bc:6b:99:86:ef:3f:7d:f3:18: + 32:ca:7b:c6:e3:ab:64:46:95:f8:26:69:d9:55:83:7b:2c:96: + 07:ff:59:2c:44:a3:c6:e5:e9:a9:dc:a1:63:80:5a:21:5e:21: + cf:53:54:f0:ba:6f:89:db:a8:aa:95:cf:8b:e3:71:cc:1e:1b: + 20:44:08:c0:7a:b6:40:fd:c4:e4:35:e1:1d:16:1c:d0:bc:2b: + 8e:d6:71:d9 +SHA1 Fingerprint=CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D +-----BEGIN CERTIFICATE----- +MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 +b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw +MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD +VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul +CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n +tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl +dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch +PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC ++Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O +BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl +MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk +ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X +7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz +43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY +eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl +pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA +WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem (from r365248, head/secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem Sat Sep 5 02:22:07 2020 (r365357, copy of r365248, head/secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem) @@ -0,0 +1,141 @@ +## +## LuxTrust Global Root 2 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = LU, O = LuxTrust S.A., CN = LuxTrust Global Root 2 + Validity + Not Before: Mar 5 13:21:57 2015 GMT + Not After : Mar 5 13:21:57 2035 GMT + Subject: C = LU, O = LuxTrust S.A., CN = LuxTrust Global Root 2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:d7:85:97:bf:11:98:e9:f0:62:83:4c:3c:87:f9: + 53:6a:37:0b:f2:0f:3c:87:ce:6f:dc:26:29:bd:c5: + 89:ba:c9:83:3d:f7:ee:ca:5b:c6:6d:49:73:b4:c9: + 46:a3:1b:34:13:3f:c1:89:45:57:f4:d9:b1:fb:36: + 65:4b:fb:08:e2:48:71:11:c8:6e:3b:9e:9d:df:89: + 65:37:a6:85:f6:3b:44:18:b6:c6:37:30:62:44:92: + 97:69:7d:42:30:24:e4:0d:0c:89:6b:63:de:c5:e1: + df:4e:a9:14:6c:53:e0:61:ce:f6:17:2f:1d:3c:bd: + e6:22:4c:1d:93:f5:10:c4:a1:76:ec:6a:de:c5:6c: + df:96:b4:56:40:42:c0:62:92:30:a1:2d:15:94:a0: + d2:20:06:09:6e:6a:6d:e5:eb:b7:be:d4:f0:f1:15: + 7c:8b:e6:4e:ba:13:cc:4b:27:5e:99:3c:17:5d:8f: + 81:7f:33:3d:4f:d3:3f:1b:ec:5c:3f:f0:3c:4c:75: + 6e:f2:a6:d5:9d:da:2d:07:63:02:c6:72:e9:94:bc: + 4c:49:95:4f:88:52:c8:db:e8:69:82:f8:cc:34:5b: + 22:f0:86:a7:89:bd:48:0a:6d:66:81:6d:c8:c8:64: + fb:01:e1:f4:e1:de:d9:9e:dd:db:5b:d4:2a:99:26: + 15:1b:1e:4c:92:29:82:9e:d5:92:81:92:41:70:19: + f7:a4:e5:93:4b:bc:77:67:31:dd:1c:fd:31:70:0d: + 17:99:0c:f9:0c:39:19:2a:17:b5:30:71:55:d5:0f: + ae:58:e1:3d:2f:34:9b:cf:9f:f6:78:85:c2:93:7a: + 72:3e:66:8f:9c:16:11:60:8f:9e:89:6f:67:be:e0: + 47:5a:3b:0c:9a:67:8b:cf:46:c6:ae:38:a3:f2:a7: + bc:e6:d6:85:6b:33:24:70:22:4b:cb:08:9b:bb:c8: + f8:02:29:1d:be:20:0c:46:bf:6b:87:9b:b3:2a:66: + 42:35:46:6c:aa:ba:ad:f9:98:7b:e9:50:55:14:31: + bf:b1:da:2d:ed:80:ad:68:24:fb:69:ab:d8:71:13: + 30:e6:67:b3:87:40:fd:89:7e:f2:43:d1:11:df:2f: + 65:2f:64:ce:5f:14:b9:b1:bf:31:bd:87:78:5a:59: + 65:88:aa:fc:59:32:48:86:d6:4c:b9:29:4b:95:d3: + 76:f3:77:25:6d:42:1c:38:83:4d:fd:a3:5f:9b:7f: + 2d:ac:79:1b:0e:42:31:97:63:a4:fb:8a:69:d5:22: + 0d:34:90:30:2e:a8:b4:e0:6d:b6:94:ac:bc:8b:4e: + d7:70:fc:c5:38:8e:64:25:e1:4d:39:90:ce:c9:87: + 84:58:71 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Certificate Policies: + Policy: 1.3.171.1.1.1.10 + CPS: https://repository.luxtrust.lu + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Authority Key Identifier: + keyid:FF:18:28:76:F9:48:05:2C:A1:AE:F1:2B:1B:2B:B2:53:F8:4B:7C:B3 + + X509v3 Subject Key Identifier: + FF:18:28:76:F9:48:05:2C:A1:AE:F1:2B:1B:2B:B2:53:F8:4B:7C:B3 + Signature Algorithm: sha256WithRSAEncryption + 6a:19:14:ed:6e:79:c1:2c:87:d4:0d:70:7e:d7:f6:78:c9:0b: + 04:4e:c4:b1:ce:93:70:fe:b0:54:c0:32:cd:99:30:64:17:bf: + 0f:e5:e2:33:fd:07:36:40:72:0e:1a:b6:6a:59:d6:00:e5:68: + 20:dd:2e:72:0d:1f:6a:64:31:20:84:7d:49:a6:5a:37:eb:45: + c9:85:f5:d4:c7:17:99:07:e6:9b:55:e4:0c:e8:a9:b4:ce:8c: + 5b:b5:11:5c:cf:8a:0e:0d:d6:ac:77:81:fe:32:9c:24:9e:72: + ce:54:f3:d0:6f:a2:56:d6:ec:c3:37:2c:65:58:be:57:00:1a: + f2:35:fa:eb:7b:31:5d:c2:c1:12:3d:96:81:88:96:89:c1:59: + 5c:7a:e6:7f:70:34:e7:83:e2:b1:e1:e1:b8:58:ef:d4:95:e4: + 60:9c:f0:96:97:72:8c:eb:84:02:2e:65:8f:a4:b7:d2:7f:67: + dd:c8:d3:9e:5c:aa:a9:a4:a0:25:14:06:9b:ec:4f:7e:2d:0b: + 7f:1d:75:f1:33:d8:ed:ce:b8:75:6d:3e:5b:b9:98:1d:31:0d: + 56:d8:43:0f:30:91:b2:04:6b:dd:56:be:95:80:55:67:be:d8: + cd:83:d9:18:ee:2e:0f:86:2d:92:9e:70:13:ec:de:51:c9:43: + 78:02:a5:4d:c8:f9:5f:c4:91:58:46:16:77:5a:74:aa:40:bc: + 07:9f:30:b9:b1:f7:12:17:dd:e3:ff:24:40:1d:7a:6a:d1:4f: + 18:0a:aa:90:1d:eb:40:1e:df:a1:1e:44:92:10:9a:f2:8d:e1: + d1:4b:46:9e:e8:45:42:97:ea:45:99:f3:ec:66:d5:02:fa:f2: + a6:4a:24:aa:de:ce:b9:ca:f9:3f:93:6f:f9:a3:ba:ea:a5:3e: + 99:ad:fd:ff:7b:99:f5:65:ee:f0:59:28:67:d7:90:95:a4:13: + 84:a9:84:c1:e8:ce:ce:75:93:63:1a:bc:3c:ea:d5:64:1f:2d: + 2a:12:39:c6:c3:5a:32:ed:47:91:16:0e:bc:38:c1:50:de:8f: + ca:2a:90:34:1c:ee:41:94:9c:5e:19:2e:f8:45:49:99:74:91: + b0:04:6f:e3:04:5a:b1:ab:2a:ab:fe:c7:d0:96:b6:da:e1:4a: + 64:06:6e:60:4d:bd:42:4e:ff:78:da:24:ca:1b:b4:d7:96:39: + 6c:ae:f1:0e:aa:a7:7d:48:8b:20:4c:cf:64:d6:b8:97:46:b0: + 4e:d1:2a:56:3a:a0:93:bd:af:80:24:e0:0a:7e:e7:ca:d5:ca: + e8:85:55:dc:36:2a:e1:94:68:93:c7:66:72:44:0f:80:21:32: + 6c:25:c7:23:80:83:0a:eb +SHA1 Fingerprint=1E:0E:56:19:0A:D1:8B:25:98:B2:04:44:FF:66:8A:04:17:99:5F:3F +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQEL +BQAwRjELMAkGA1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNV +BAMMFkx1eFRydXN0IEdsb2JhbCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUw +MzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEWMBQGA1UECgwNTHV4VHJ1c3QgUy5B +LjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wmKb3F +ibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTem +hfY7RBi2xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1 +EMShduxq3sVs35a0VkBCwGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsn +Xpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4 +zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkmFRseTJIpgp7VkoGSQXAZ +96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niFwpN6cj5m +j5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4g +DEa/a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+ +8kPREd8vZS9kzl8UubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2j +X5t/Lax5Gw5CMZdjpPuKadUiDTSQMC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmH +hFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB/zBCBgNVHSAEOzA5MDcGByuB +KwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5Lmx1eHRydXN0 +Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQEL +BQADggIBAGoZFO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9 +BzZAcg4atmpZ1gDlaCDdLnINH2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTO +jFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW7MM3LGVYvlcAGvI1+ut7MV3CwRI9 +loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIuZY+kt9J/Z93I055c +qqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWAVWe+ +2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/ +JEAdemrRTxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKre +zrnK+T+Tb/mjuuqlPpmt/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQf +LSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+ +x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31IiyBMz2TWuJdGsE7RKlY6 +oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G2.pem (from r365248, head/secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G2.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G2.pem Sat Sep 5 02:22:07 2020 (r365357, copy of r365248, head/secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G2.pem) @@ -0,0 +1,137 @@ +## +## Staat der Nederlanden Root CA - G2 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 10000012 (0x98968c) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = NL, O = Staat der Nederlanden, CN = Staat der Nederlanden Root CA - G2 + Validity + Not Before: Mar 26 11:18:17 2008 GMT + Not After : Mar 25 11:03:10 2020 GMT + Subject: C = NL, O = Staat der Nederlanden, CN = Staat der Nederlanden Root CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:c5:59:e7:6f:75:aa:3e:4b:9c:b5:b8:ac:9e:0b: + e4:f9:d9:ca:ab:5d:8f:b5:39:10:82:d7:af:51:e0: + 3b:e1:00:48:6a:cf:da:e1:06:43:11:99:aa:14:25: + 12:ad:22:e8:00:6d:43:c4:a9:b8:e5:1f:89:4b:67: + bd:61:48:ef:fd:d2:e0:60:88:e5:b9:18:60:28:c3: + 77:2b:ad:b0:37:aa:37:de:64:59:2a:46:57:e4:4b: + b9:f8:37:7c:d5:36:e7:80:c1:b6:f3:d4:67:9b:96: + e8:ce:d7:c6:0a:53:d0:6b:49:96:f3:a3:0b:05:77: + 48:f7:25:e5:70:ac:30:14:20:25:e3:7f:75:5a:e5: + 48:f8:4e:7b:03:07:04:fa:82:61:87:6e:f0:3b:c4: + a4:c7:d0:f5:74:3e:a5:5d:1a:08:f2:9b:25:d2:f6: + ac:04:26:3e:55:3a:62:28:a5:7b:b2:30:af:f8:37: + c2:d1:ba:d6:38:fd:f4:ef:49:30:37:99:26:21:48: + 85:01:a9:e5:16:e7:dc:90:55:df:0f:e8:38:cd:99: + 37:21:4f:5d:f5:22:6f:6a:c5:12:16:60:17:55:f2: + 65:66:a6:a7:30:91:38:c1:38:1d:86:04:84:ba:1a: + 25:78:5e:9d:af:cc:50:60:d6:13:87:52:ed:63:1f: + 6d:65:7d:c2:15:18:74:ca:e1:7e:64:29:8c:72:d8: + 16:13:7d:0b:49:4a:f1:28:1b:20:74:6b:c5:3d:dd: + b0:aa:48:09:3d:2e:82:94:cd:1a:65:d9:2b:88:9a: + 99:bc:18:7e:9f:ee:7d:66:7c:3e:bd:94:b8:81:ce: + cd:98:30:78:c1:6f:67:d0:be:5f:e0:68:ed:de:e2: + b1:c9:2c:59:78:92:aa:df:2b:60:63:f2:e5:5e:b9: + e3:ca:fa:7f:50:86:3e:a2:34:18:0c:09:68:28:11: + 1c:e4:e1:b9:5c:3e:47:ba:32:3f:18:cc:5b:84:f5: + f3:6b:74:c4:72:74:e1:e3:8b:a0:4a:bd:8d:66:2f: + ea:ad:35:da:20:d3:88:82:61:f0:12:22:b6:bc:d0: + d5:a4:ec:af:54:88:25:24:3c:a7:6d:b1:72:29:3f: + 3e:57:a6:7f:55:af:6e:26:c6:fe:e7:cc:40:5c:51: + 44:81:0a:78:de:4a:ce:55:bf:1d:d5:d9:b7:56:ef: + f0:76:ff:0b:79:b5:af:bd:fb:a9:69:91:46:97:68: + 80:14:36:1d:b3:7f:bb:29:98:36:a5:20:fa:82:60: + 62:33:a4:ec:d6:ba:07:a7:6e:c5:cf:14:a6:e7:d6: + 92:34:d8:81:f5:fc:1d:5d:aa:5c:1e:f6:a3:4d:3b: + b8:f7:39 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.pkioverheid.nl/policies/root-policy-G2 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 91:68:32:87:15:1D:89:E2:B5:F1:AC:36:28:34:8D:0B:7C:62:88:EB + Signature Algorithm: sha256WithRSAEncryption + a8:41:4a:67:2a:92:81:82:50:6e:e1:d7:d8:b3:39:3b:f3:02: + 15:09:50:51:ef:2d:bd:24:7b:88:86:3b:f9:b4:bc:92:09:96: + b9:f6:c0:ab:23:60:06:79:8c:11:4e:51:d2:79:80:33:fb:9d: + 48:be:ec:41:43:81:1f:7e:47:40:1c:e5:7a:08:ca:aa:8b:75: + ad:14:c4:c2:e8:66:3c:82:07:a7:e6:27:82:5b:18:e6:0f:6e: + d9:50:3e:8a:42:18:29:c6:b4:56:fc:56:10:a0:05:17:bd:0c: + 23:7f:f4:93:ed:9c:1a:51:be:dd:45:41:bf:91:24:b4:1f:8c: + e9:5f:cf:7b:21:99:9f:95:9f:39:3a:46:1c:6c:f9:cd:7b:9c: + 90:cd:28:a9:c7:a9:55:bb:ac:62:34:62:35:13:4b:14:3a:55: + 83:b9:86:8d:92:a6:c6:f4:07:25:54:cc:16:57:12:4a:82:78: + c8:14:d9:17:82:26:2d:5d:20:1f:79:ae:fe:d4:70:16:16:95: + 83:d8:35:39:ff:52:5d:75:1c:16:c5:13:55:cf:47:cc:75:65: + 52:4a:de:f0:b0:a7:e4:0a:96:0b:fb:ad:c2:e2:25:84:b2:dd: + e4:bd:7e:59:6c:9b:f0:f0:d8:e7:ca:f2:e9:97:38:7e:89:be: + cc:fb:39:17:61:3f:72:db:3a:91:d8:65:01:19:1d:ad:50:a4: + 57:0a:7c:4b:bc:9c:71:73:2a:45:51:19:85:cc:8e:fd:47:a7: + 74:95:1d:a8:d1:af:4e:17:b1:69:26:c2:aa:78:57:5b:c5:4d: + a7:e5:9e:05:17:94:ca:b2:5f:a0:49:18:8d:34:e9:26:6c:48: + 1e:aa:68:92:05:e1:82:73:5a:9b:dc:07:5b:08:6d:7d:9d:d7: + 8d:21:d9:fc:14:20:aa:c2:45:df:3f:e7:00:b2:51:e4:c2:f8: + 05:b9:79:1a:8c:34:f3:9e:5b:e4:37:5b:6b:4a:df:2c:57:8a: + 40:5a:36:ba:dd:75:44:08:37:42:70:0c:fe:dc:5e:21:a0:a3: + 8a:c0:90:9c:68:da:50:e6:45:10:47:78:b6:4e:d2:65:c9:c3: + 37:df:e1:42:63:b0:57:37:45:2d:7b:8a:9c:bf:05:ea:65:55: + 33:f7:39:10:c5:28:2a:21:7a:1b:8a:c4:24:f9:3f:15:c8:9a: + 15:20:f5:55:62:96:ed:6d:93:50:bc:e4:aa:78:ad:d9:cb:0a: + 65:87:a6:66:c1:c4:81:a3:77:3a:58:1e:0b:ee:83:8b:9d:1e: + d2:52:a4:cc:1d:6f:b0:98:6d:94:31:b5:f8:71:0a:dc:b9:fc: + 7d:32:60:e6:eb:af:8a:01 +SHA1 Fingerprint=59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16 +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX +DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 +qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp +uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU +Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE +pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp +5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M +UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN +GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy +5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv +6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK +eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 +B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ +BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov +L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG +SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS +CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen +5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 +IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK +gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL ++63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL +vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm +bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk +N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC +Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z +ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem (from r365248, head/secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem Sat Sep 5 02:22:07 2020 (r365357, copy of r365248, head/secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem) @@ -0,0 +1,68 @@ +## +## Symantec Class 1 Public Primary Certification Authority - G4 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8 + Signature Algorithm: ecdsa-with-SHA384 + Issuer: C = US, O = Symantec Corporation, OU = Symantec Trust Network, CN = Symantec Class 1 Public Primary Certification Authority - G4 + Validity + Not Before: Oct 5 00:00:00 2011 GMT + Not After : Jan 18 23:59:59 2038 GMT + Subject: C = US, O = Symantec Corporation, OU = Symantec Trust Network, CN = Symantec Class 1 Public Primary Certification Authority - G4 + Subject Public Key Info: + Public Key Algorithm: id-ecPublicKey + Public-Key: (384 bit) + pub: + 04:d7:66:b5:1b:db:ae:b3:60:ee:46:ea:88:63:75: + 3b:2a:94:6d:f3:5f:12:f6:e3:0f:9e:b6:0a:14:53: + 48:52:c8:dc:3a:b3:cb:48:20:26:12:4e:fa:89:84: + d4:df:91:e4:29:7d:28:01:d9:db:18:43:69:a1:1f: + b5:d3:86:16:dc:c7:7f:67:23:df:df:31:31:83:03: + 35:70:b1:4b:b7:c8:17:bb:51:cb:dc:94:17:db:ea: + 09:3b:76:12:de:aa:b5 + ASN1 OID: secp384r1 + NIST CURVE: P-384 + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 65:C0:8D:25:F5:0C:BA:97:77:90:3F:9E:2E:E0:5A:F5:CE:D5:E1:E4 + Signature Algorithm: ecdsa-with-SHA384 + 30:66:02:31:00:a5:ae:e3:46:53:f8:98:36:e3:22:fa:2e:28: + 49:0d:ee:30:7e:33:f3:ec:3f:71:5e:cc:55:89:78:99:ac:b2: + fd:dc:1c:5c:33:8e:29:b9:6b:17:c8:11:68:b5:dc:83:07:02: + 31:00:9c:c8:44:da:69:c2:36:c3:54:19:10:85:02:da:9d:47: + ef:41:e7:6c:26:9d:09:3d:f7:6d:90:d1:05:44:2f:b0:bc:83: + 93:68:f2:0c:45:49:39:bf:99:04:1c:d3:10:a0 +SHA1 Fingerprint=84:F2:E3:DD:83:13:3E:A9:1D:19:52:7F:02:D7:29:BF:C1:5F:E6:67 +-----BEGIN CERTIFICATE----- +MIICqDCCAi2gAwIBAgIQIW4zpcvTiKRvKQe0JzzE2DAKBggqhkjOPQQDAzCBlDEL +MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYD +VQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMUUwQwYDVQQDEzxTeW1hbnRlYyBD +bGFzcyAxIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0g +RzQwHhcNMTExMDA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBlDELMAkGA1UEBhMC +VVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1h +bnRlYyBUcnVzdCBOZXR3b3JrMUUwQwYDVQQDEzxTeW1hbnRlYyBDbGFzcyAxIFB1 +YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAATXZrUb266zYO5G6ohjdTsqlG3zXxL24w+etgoUU0hS +yNw6s8tIICYSTvqJhNTfkeQpfSgB2dsYQ2mhH7XThhbcx39nI9/fMTGDAzVwsUu3 +yBe7UcvclBfb6gk7dhLeqrWjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRlwI0l9Qy6l3eQP54u4Fr1ztXh5DAKBggqhkjOPQQD +AwNpADBmAjEApa7jRlP4mDbjIvouKEkN7jB+M/PsP3FezFWJeJmssv3cHFwzjim5 +axfIEWi13IMHAjEAnMhE2mnCNsNUGRCFAtqdR+9B52wmnQk9922Q0QVEL7C8g5No +8gxFSTm/mQQc0xCg +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem (from r365248, head/secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem Sat Sep 5 02:22:07 2020 (r365357, copy of r365248, head/secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem) @@ -0,0 +1,68 @@ +## +## Symantec Class 2 Public Primary Certification Authority - G4 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e + Signature Algorithm: ecdsa-with-SHA384 + Issuer: C = US, O = Symantec Corporation, OU = Symantec Trust Network, CN = Symantec Class 2 Public Primary Certification Authority - G4 + Validity + Not Before: Oct 5 00:00:00 2011 GMT + Not After : Jan 18 23:59:59 2038 GMT + Subject: C = US, O = Symantec Corporation, OU = Symantec Trust Network, CN = Symantec Class 2 Public Primary Certification Authority - G4 + Subject Public Key Info: + Public Key Algorithm: id-ecPublicKey + Public-Key: (384 bit) + pub: + 04:d1:d9:4a:8e:4c:0d:84:4a:51:ba:7c:ef:d3:cc: + fa:3a:9a:b5:a7:63:13:3d:01:e0:49:3e:fa:c1:47: + c9:92:b3:3a:d7:fe:6f:9c:f7:9a:3a:0f:f5:0e:0a: + 0a:c3:3f:c8:e7:12:14:8e:d5:d5:6d:98:2c:b3:71: + 32:0a:eb:2a:bd:f6:d7:6a:20:0b:67:45:9c:d2:b2: + bf:53:22:66:09:5d:db:11:f3:f1:05:33:58:a3:e2: + b8:cf:7c:cd:82:9b:bd + ASN1 OID: secp384r1 + NIST CURVE: P-384 + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 3D:32:F3:3A:A9:0C:90:84:F9:A2:8C:69:06:61:54:2F:87:72:FE:05 + Signature Algorithm: ecdsa-with-SHA384 + 30:66:02:31:00:c8:a6:a9:af:41:7f:b5:c9:11:42:16:68:69: + 4c:5c:b8:27:18:b6:98:f1:c0:7f:90:6d:87:d3:8c:46:17:f0: + 3e:4f:fc:ea:b0:08:c4:7a:4b:bc:08:2f:c7:e2:a7:6f:65:02: + 31:00:d6:59:de:86:ce:5f:0e:ca:54:d5:c6:d0:15:0e:fc:8b: + 94:72:d4:8e:00:58:53:cf:7e:b1:4b:0d:e5:50:86:eb:9e:6b: + df:ff:29:a6:d8:47:d9:a0:96:18:db:f2:45:b3 +SHA1 Fingerprint=67:24:90:2E:48:01:B0:22:96:40:10:46:B4:B1:67:2C:A9:75:FD:2B +-----BEGIN CERTIFICATE----- +MIICqDCCAi2gAwIBAgIQNBdlEkA7t1aALYDLeVWmHjAKBggqhkjOPQQDAzCBlDEL +MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYD +VQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMUUwQwYDVQQDEzxTeW1hbnRlYyBD +bGFzcyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0g +RzQwHhcNMTExMDA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBlDELMAkGA1UEBhMC +VVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1h +bnRlYyBUcnVzdCBOZXR3b3JrMUUwQwYDVQQDEzxTeW1hbnRlYyBDbGFzcyAyIFB1 +YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAATR2UqOTA2ESlG6fO/TzPo6mrWnYxM9AeBJPvrBR8mS +szrX/m+c95o6D/UOCgrDP8jnEhSO1dVtmCyzcTIK6yq99tdqIAtnRZzSsr9TImYJ +XdsR8/EFM1ij4rjPfM2Cm72jQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBQ9MvM6qQyQhPmijGkGYVQvh3L+BTAKBggqhkjOPQQD +AwNpADBmAjEAyKapr0F/tckRQhZoaUxcuCcYtpjxwH+QbYfTjEYX8D5P/OqwCMR6 +S7wIL8fip29lAjEA1lnehs5fDspU1cbQFQ78i5Ry1I4AWFPPfrFLDeVQhuuea9// +KabYR9mglhjb8kWz +-----END CERTIFICATE----- Copied: stable/12/secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem (from r365248, head/secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem Sat Sep 5 02:22:07 2020 (r365357, copy of r365248, head/secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem) @@ -0,0 +1,87 @@ +## +## Verisign Class 3 Public Primary Certification Authority - G3 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## Extracted from nss +## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ +## +## @generated +## +Certificate: + Data: + Version: 1 (0x0) + Serial Number: + 9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = "(c) 1999 VeriSign, Inc. - For authorized use only", CN = VeriSign Class 3 Public Primary Certification Authority - G3 + Validity + Not Before: Oct 1 00:00:00 1999 GMT + Not After : Jul 16 23:59:59 2036 GMT + Subject: C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = "(c) 1999 VeriSign, Inc. - For authorized use only", CN = VeriSign Class 3 Public Primary Certification Authority - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:cb:ba:9c:52:fc:78:1f:1a:1e:6f:1b:37:73:bd: + f8:c9:6b:94:12:30:4f:f0:36:47:f5:d0:91:0a:f5: + 17:c8:a5:61:c1:16:40:4d:fb:8a:61:90:e5:76:20: + c1:11:06:7d:ab:2c:6e:a6:f5:11:41:8e:fa:2d:ad: + 2a:61:59:a4:67:26:4c:d0:e8:bc:52:5b:70:20:04: + 58:d1:7a:c9:a4:69:bc:83:17:64:ad:05:8b:bc:d0: + 58:ce:8d:8c:f5:eb:f0:42:49:0b:9d:97:27:67:32: + 6e:e1:ae:93:15:1c:70:bc:20:4d:2f:18:de:92:88: + e8:6c:85:57:11:1a:e9:7e:e3:26:11:54:a2:45:96: + 55:83:ca:30:89:e8:dc:d8:a3:ed:2a:80:3f:7f:79: + 65:57:3e:15:20:66:08:2f:95:93:bf:aa:47:2f:a8: + 46:97:f0:12:e2:fe:c2:0a:2b:51:e6:76:e6:b7:46: + b7:e2:0d:a6:cc:a8:c3:4c:59:55:89:e6:e8:53:5c: + 1c:ea:9d:f0:62:16:0b:a7:c9:5f:0c:f0:de:c2:76: + ce:af:f7:6a:f2:fa:41:a6:a2:33:14:c9:e5:7a:63: + d3:9e:62:37:d5:85:65:9e:0e:e6:53:24:74:1b:5e: + 1d:12:53:5b:c7:2c:e7:83:49:3b:15:ae:8a:68:b9: + 57:97 + Exponent: 65537 (0x10001) + Signature Algorithm: sha1WithRSAEncryption + 11:14:96:c1:ab:92:08:f7:3f:2f:c9:b2:fe:e4:5a:9f:64:de: + db:21:4f:86:99:34:76:36:57:dd:d0:15:2f:c5:ad:7f:15:1f: + 37:62:73:3e:d4:e7:5f:ce:17:03:db:35:fa:2b:db:ae:60:09: + 5f:1e:5f:8f:6e:bb:0b:3d:ea:5a:13:1e:0c:60:6f:b5:c0:b5: + 23:22:2e:07:0b:cb:a9:74:cb:47:bb:1d:c1:d7:a5:6b:cc:2f: + d2:42:fd:49:dd:a7:89:cf:53:ba:da:00:5a:28:bf:82:df:f8: + ba:13:1d:50:86:82:fd:8e:30:8f:29:46:b0:1e:3d:35:da:38: + 62:16:18:4a:ad:e6:b6:51:6c:de:af:62:eb:01:d0:1e:24:fe: + 7a:8f:12:1a:12:68:b8:fb:66:99:14:14:45:5c:ae:e7:ae:69: + 17:81:2b:5a:37:c9:5e:2a:f4:c6:e2:a1:5c:54:9b:a6:54:00: + cf:f0:f1:c1:c7:98:30:1a:3b:36:16:db:a3:6e:ea:fd:ad:b2: + c2:da:ef:02:47:13:8a:c0:f1:b3:31:ad:4f:1c:e1:4f:9c:af: + 0f:0c:9d:f7:78:0d:d8:f4:35:56:80:da:b7:6d:17:8f:9d:1e: + 81:64:e1:fe:c5:45:ba:ad:6b:b9:0a:7a:4e:4f:4b:84:ee:4b: + f1:7d:dd:11 +SHA1 Fingerprint=13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6 +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- From owner-svn-src-stable-12@freebsd.org Sat Sep 5 10:12:11 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BD1EB3E76DA; Sat, 5 Sep 2020 10:12:11 +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 4Bk9MG4Gsjz4HLY; Sat, 5 Sep 2020 10:12: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 CCC1D1C606; Sat, 5 Sep 2020 10:12:07 +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 085AC7aB090212; Sat, 5 Sep 2020 10:12:07 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 085AC74O090209; Sat, 5 Sep 2020 10:12:07 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202009051012.085AC74O090209@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 5 Sep 2020 10:12:07 +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: r365359 - in stable/12/sys: kern sys X-SVN-Group: stable-12 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in stable/12/sys: kern sys X-SVN-Commit-Revision: 365359 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Sep 2020 10:12:12 -0000 Author: kib Date: Sat Sep 5 10:12:06 2020 New Revision: 365359 URL: https://svnweb.freebsd.org/changeset/base/365359 Log: MFC r361967 (by mjg), r362910 (by mjg), r364495: Fix several issues with process group orphanage. Modified: stable/12/sys/kern/kern_exit.c stable/12/sys/kern/kern_proc.c stable/12/sys/sys/proc.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/kern_exit.c ============================================================================== --- stable/12/sys/kern/kern_exit.c Sat Sep 5 04:20:29 2020 (r365358) +++ stable/12/sys/kern/kern_exit.c Sat Sep 5 10:12:06 2020 (r365359) @@ -394,7 +394,6 @@ exit1(struct thread *td, int rval, int signo) } vmspace_exit(td); - killjobc(); (void)acct_process(td); #ifdef KTRACE @@ -440,6 +439,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: stable/12/sys/kern/kern_proc.c ============================================================================== --- stable/12/sys/kern/kern_proc.c Sat Sep 5 04:20:29 2020 (r365358) +++ stable/12/sys/kern/kern_proc.c Sat Sep 5 10:12:06 2020 (r365359) @@ -108,13 +108,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); @@ -545,6 +546,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 @@ -560,13 +598,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); @@ -639,13 +679,15 @@ pgdelete(struct pgrp *pgrp) } static void -pgadjustjobc(struct pgrp *pgrp, int entering) +pgadjustjobc(struct pgrp *pgrp, bool entering) { PGRP_LOCK(pgrp); - if (entering) + if (entering) { + MPASS(pgrp->pg_jobc >= 0); pgrp->pg_jobc++; - else { + } else { + MPASS(pgrp->pg_jobc > 0); --pgrp->pg_jobc; if (pgrp->pg_jobc == 0) orphanpg(pgrp); @@ -660,43 +702,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); } } @@ -710,20 +804,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; @@ -769,8 +851,7 @@ killjobc(void) sx_xlock(&proctree_lock); } } - fixjobc(p, p->p_pgrp, 0); - sx_xunlock(&proctree_lock); + fixjobc_kill(p); } /* Modified: stable/12/sys/sys/proc.h ============================================================================== --- stable/12/sys/sys/proc.h Sat Sep 5 04:20:29 2020 (r365358) +++ stable/12/sys/sys/proc.h Sat Sep 5 10:12:06 2020 (r365359) @@ -774,6 +774,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 @@ -1036,7 +1037,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_exit(void (*)(void *, struct trapframe *), void *, struct trapframe *); From owner-svn-src-stable-12@freebsd.org Sat Sep 5 13:17:54 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B56D83CC6D7 for ; Sat, 5 Sep 2020 13:17:54 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) (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 4BkFTY64WTz4S6T for ; Sat, 5 Sep 2020 13:17:53 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: by mail-wm1-f67.google.com with SMTP id e17so9215241wme.0 for ; Sat, 05 Sep 2020 06:17:53 -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:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=fFIbdEijWefVUxPUFO4N2WJriomG3W/YYRfU4DEDRAQ=; b=NPuseLqQQZR2WHxEOBq8qzGiNkN09C/bbmtocMRtjXQ3miXLY8vBbXjorzMxJWt/6K WzoBBaCutEugSW3LDd0+Ez7CWKMsNfAAxmFKs2UrfE36gHaEtQk5EUBtjOE5sl8ndpE0 lpuLGIHRkwqdCE2bet9A6C+SjxNFqcT0Q7aQZ1jweWgjANXETuiLt5AERW6ieyhCW4DM j97FRU7Hxd+yrbTl8OLgGU2l6NkpzhYC7cWm8ttqBeoXvw7m75bILpkXmDzQmr91FY6p mcpRs+HQ5VARI6wRPkClmvq0Gs++LeNpZ+JMW8eQfJVLFShijHUltQn5IUKFoXghkCX5 83Ag== X-Gm-Message-State: AOAM533GUj0pOkW2lEsIv6wvmIkxdvU2gfXgwJXqMRplLXgkanMyq1Nv mXY/AemIzXm92vOMmprZvoVtMQ== X-Google-Smtp-Source: ABdhPJxBV0RhbrQrsz7ZslO/JzKY3TXGzMi4aFhpNS0X9qAJTvFwZDLeqJut7AZbi5eKfVFnnP79JA== X-Received: by 2002:a1c:3886:: with SMTP id f128mr12193792wma.121.1599311872036; Sat, 05 Sep 2020 06:17:52 -0700 (PDT) Received: from [192.168.149.251] (trinity-students-nat.trin.cam.ac.uk. [131.111.193.104]) by smtp.gmail.com with ESMTPSA id k22sm17940076wrd.29.2020.09.05.06.17.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Sep 2020 06:17:51 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Subject: Re: svn commit: r365326 - stable/12/sys/sys From: Jessica Clarke In-Reply-To: Date: Sat, 5 Sep 2020 14:17:49 +0100 Cc: Marcin Wojtas , src-committers , svn-src-all , svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <959A8958-54E7-4721-AEBD-C9FC71C0BA06@freebsd.org> References: <202009041122.084BMIYn040628@repo.freebsd.org> <20200904130946.GG94807@kib.kiev.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.3608.120.23.2.1) X-Rspamd-Queue-Id: 4BkFTY64WTz4S6T X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.128.67 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com X-Spamd-Result: default: False [-2.32 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MV_CASE(0.50)[]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_HAM_SHORT(-0.76)[-0.764]; FREEMAIL_TO(0.00)[gmail.com]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MID_RHS_MATCH_FROM(0.00)[]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.03)[-1.033]; FREEFALL_USER(0.00)[jrtc27]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.02)[-1.023]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-stable-12@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.67:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.67:from]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-stable-12] X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Sep 2020 13:17:54 -0000 On 4 Sep 2020, at 14:36, Jessica Clarke wrote: > On 4 Sep 2020, at 14:09, Konstantin Belousov = wrote: >> On Fri, Sep 04, 2020 at 11:22:18AM +0000, Marcin Wojtas wrote: >>> Author: mw >>> Date: Fri Sep 4 11:22:18 2020 >>> New Revision: 365326 >>> URL: https://svnweb.freebsd.org/changeset/base/365326 >>>=20 >>> Log: >>> MFC: r346593 >>>=20 >>> Add barrier in buf ring peek function to prevent race in ARM and = ARM64. >>>=20 >>> Obtained from: Semihalf >>> Sponsored by: Amazon, Inc. >>>=20 >>> Modified: >>> stable/12/sys/sys/buf_ring.h >>> Directory Properties: >>> stable/12/ (props changed) >>>=20 >>> Modified: stable/12/sys/sys/buf_ring.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 >>> --- stable/12/sys/sys/buf_ring.h Fri Sep 4 04:31:56 2020 = (r365325) >>> +++ stable/12/sys/sys/buf_ring.h Fri Sep 4 11:22:18 2020 = (r365326) >>> @@ -310,14 +310,23 @@ buf_ring_peek_clear_sc(struct buf_ring *br) >>> if (!mtx_owned(br->br_lock)) >>> panic("lock not held on single consumer dequeue"); >>> #endif=09 >>> - /* >>> - * I believe it is safe to not have a memory barrier >>> - * here because we control cons and tail is worst case >>> - * a lagging indicator so we worst case we might >>> - * return NULL immediately after a buffer has been enqueued >>> - */ >>> + >>> if (br->br_cons_head =3D=3D br->br_prod_tail) >>> return (NULL); >>> + >>> +#if defined(__arm__) || defined(__aarch64__) >>> + /* >>> + * The barrier is required there on ARM and ARM64 to ensure, = that >>> + * br->br_ring[br->br_cons_head] will not be fetched before the = above >>> + * condition is checked. >>> + * Without the barrier, it is possible, that buffer will be = fetched >>> + * before the enqueue will put mbuf into br, then, in the = meantime, the >>> + * enqueue will update the array and the br_prod_tail, and the >>> + * conditional check will be true, so we will return previously = fetched >>> + * (and invalid) buffer. >>> + */ >>> + atomic_thread_fence_acq(); >>> +#endif >>=20 >> Putting the semantic of the change aside, why did you added the fence = (it is >> a fence, not barrier as stated in the comment) only to arm* ? If it = is >> needed, it is needed for all arches. >=20 > Agreed. The code looks fine, though I would have made it an acquire > load of br_prod_tail myself to be able to take advantage load-acquire > instructions when present, and better document what the exact issue = is. > I also don't think the comment needs to be quite so extensive > (especially since atomic_load_acq_32 is somewhat self-documenting in > terms of one half of the race); if we had a comment like this for = every > fence in the kernel we'd never get anything done. >=20 > There's also an ARM-specific fence in buf_ring_dequeue_sc: >=20 >> /* >> * This is a workaround to allow using buf_ring on ARM and = ARM64. >> * ARM64TODO: Fix buf_ring in a generic way. >> * REMARKS: It is suspected that br_cons_head does not require >> * load_acq operation, but this change was extensively tested >> * and confirmed it's working. To be reviewed once again in >> * FreeBSD-12. >> * >> * Preventing following situation: >>=20 >> * Core(0) - buf_ring_enqueue() = Core(1) - buf_ring_dequeue_sc() >> * ----------------------------------------- = ---------------------------------------------- >> * >> * = cons_head =3D br->br_cons_head; >> * atomic_cmpset_acq_32(&br->br_prod_head, ...)); >> * = buf =3D br->br_ring[cons_head]; > >> * br->br_ring[prod_head] =3D buf; >> * atomic_store_rel_32(&br->br_prod_tail, ...); >> * = prod_tail =3D br->br_prod_tail; >> * = if (cons_head =3D=3D prod_tail)=20 >> * = return (NULL); >> * = `=09 >> * >> * <1> Load (on core 1) from br->br_ring[cons_head] can be = reordered (speculative readed) by CPU. >> */=09 >> #if defined(__arm__) || defined(__aarch64__) >> cons_head =3D atomic_load_acq_32(&br->br_cons_head); >> #else >> cons_head =3D br->br_cons_head; >> #endif >> prod_tail =3D atomic_load_acq_32(&br->br_prod_tail); >=20 >=20 > The comment is completely correct that the ARM-specific fence is a > waste of time. It's the single-consumer path, so such fences are just > synchronising with the current thread and thus pointless. The = important > one is the load-acquire of br_prod_tail, as has been discovered (sort > of) in the peek case leading to this comment, which already stops the > reordering in question. Fixes filed as https://reviews.freebsd.org/D26336 for those interested. Jess From owner-svn-src-stable-12@freebsd.org Sat Sep 5 17:02:50 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 370F33D0BF3; Sat, 5 Sep 2020 17:02:50 +0000 (UTC) (envelope-from mr@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BkLT60jxcz4dyM; Sat, 5 Sep 2020 17:02:50 +0000 (UTC) (envelope-from mr@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 F020920E41; Sat, 5 Sep 2020 17:02:49 +0000 (UTC) (envelope-from mr@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 085H2nhG041803; Sat, 5 Sep 2020 17:02:49 GMT (envelope-from mr@FreeBSD.org) Received: (from mr@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 085H2nWR041800; Sat, 5 Sep 2020 17:02:49 GMT (envelope-from mr@FreeBSD.org) Message-Id: <202009051702.085H2nWR041800@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mr set sender to mr@FreeBSD.org using -f From: Michael Reifenberger Date: Sat, 5 Sep 2020 17:02:49 +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: r365364 - stable/12/usr.bin/systat X-SVN-Group: stable-12 X-SVN-Commit-Author: mr X-SVN-Commit-Paths: stable/12/usr.bin/systat X-SVN-Commit-Revision: 365364 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Sep 2020 17:02:50 -0000 Author: mr Date: Sat Sep 5 17:02:48 2020 New Revision: 365364 URL: https://svnweb.freebsd.org/changeset/base/365364 Log: MFC r363095: Handle device removal and removal+add cases to fix infinity rate. PR: 219829 Submitted by: ota@j.email.ne.jp Reported by: rezo@live.cn Differential Revision: https://reviews.freebsd.org/D25226 Modified: stable/12/usr.bin/systat/ifcmds.c stable/12/usr.bin/systat/ifstat.c stable/12/usr.bin/systat/systat.1 Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/systat/ifcmds.c ============================================================================== --- stable/12/usr.bin/systat/ifcmds.c Sat Sep 5 16:44:37 2020 (r365363) +++ stable/12/usr.bin/systat/ifcmds.c Sat Sep 5 17:02:48 2020 (r365364) @@ -74,6 +74,8 @@ ifcmd(const char *cmd, const char *args) } } else if (prefix(cmd, "pps")) showpps = !showpps; + else + return (0); return (1); } Modified: stable/12/usr.bin/systat/ifstat.c ============================================================================== --- stable/12/usr.bin/systat/ifstat.c Sat Sep 5 16:44:37 2020 (r365363) +++ stable/12/usr.bin/systat/ifstat.c Sat Sep 5 17:02:48 2020 (r365364) @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -67,7 +68,8 @@ SLIST_HEAD(, if_stat_disp) displist; struct if_stat { SLIST_ENTRY(if_stat) link; - char if_name[IF_NAMESIZE]; + char display_name[IF_NAMESIZE]; + char dev_name[IFNAMSIZ]; /* copied from ifmibdata */ struct ifmibdata if_mib; struct timeval tv; struct timeval tv_lastchanged; @@ -81,7 +83,7 @@ struct if_stat { uint64_t if_out_pps_peak; u_int if_row; /* Index into ifmib sysctl */ int if_ypos; /* -1 if not being displayed */ - u_int display; + bool display; u_int match; }; @@ -91,11 +93,13 @@ extern int showpps; extern int needsort; static int needclear = 0; +static bool displayall = false; -static void right_align_string(struct if_stat *); -static void getifmibdata(const int, struct ifmibdata *); +static void format_device_name(struct if_stat *); +static int getifmibdata(const int, struct ifmibdata *); static void sort_interface_list(void); static u_int getifnum(void); +static void clearifstat(void); #define IFSTAT_ERR(n, s) do { \ putchar('\014'); \ @@ -165,7 +169,7 @@ static u_int getifnum(void); } while (0) #define PUTNAME(p) do { \ - mvprintw(p->if_ypos, 0, "%s", p->if_name); \ + mvprintw(p->if_ypos, 0, "%s", p->display_name); \ mvprintw(p->if_ypos, col2-3, "%s", (const char *)"in"); \ mvprintw(p->if_ypos+1, col2-3, "%s", (const char *)"out"); \ } while (0) @@ -214,7 +218,7 @@ showifstat(void) SLIST_FOREACH(ifp, &curlist, link) { if (ifp->if_ypos < LINES - 3 && ifp->if_ypos != -1) - if (ifp->display == 0 || ifp->match == 0) { + if (!ifp->display || ifp->match == 0) { wmove(wnd, ifp->if_ypos, 0); wclrtoeol(wnd); wmove(wnd, ifp->if_ypos + 1, 0); @@ -235,7 +239,7 @@ int initifstat(void) { struct if_stat *p = NULL; - u_int n = 0, i = 0; + u_int n, i; n = getifnum(); if (n <= 0) @@ -247,18 +251,21 @@ initifstat(void) p = (struct if_stat *)calloc(1, sizeof(struct if_stat)); if (p == NULL) IFSTAT_ERR(1, "out of memory"); - SLIST_INSERT_HEAD(&curlist, p, link); p->if_row = i+1; - getifmibdata(p->if_row, &p->if_mib); - right_align_string(p); + if (getifmibdata(p->if_row, &p->if_mib) == -1) { + free(p); + continue; + } + SLIST_INSERT_HEAD(&curlist, p, link); + format_device_name(p); p->match = 1; /* * Initially, we only display interfaces that have - * received some traffic. + * received some traffic unless display-all is on. */ - if (p->if_mib.ifmd_data.ifi_ibytes != 0) - p->display = 1; + if (displayall || p->if_mib.ifmd_data.ifi_ibytes != 0) + p->display = true; } sort_interface_list(); @@ -269,13 +276,13 @@ initifstat(void) void fetchifstat(void) { - struct if_stat *ifp = NULL; + struct if_stat *ifp = NULL, *temp_var; struct timeval tv, new_tv, old_tv; double elapsed = 0.0; uint64_t new_inb, new_outb, old_inb, old_outb = 0; uint64_t new_inp, new_outp, old_inp, old_outp = 0; - SLIST_FOREACH(ifp, &curlist, link) { + SLIST_FOREACH_SAFE(ifp, &curlist, link, temp_var) { /* * Grab a copy of the old input/output values before we * call getifmibdata(). @@ -287,7 +294,22 @@ fetchifstat(void) ifp->tv_lastchanged = ifp->if_mib.ifmd_data.ifi_lastchange; (void)gettimeofday(&new_tv, NULL); - (void)getifmibdata(ifp->if_row, &ifp->if_mib); + if (getifmibdata(ifp->if_row, &ifp->if_mib) == -1 ) { + /* if a device was removed */ + SLIST_REMOVE(&curlist, ifp, if_stat, link); + free(ifp); + needsort = 1; + clearifstat(); + } else if (strcmp(ifp->dev_name, ifp->if_mib.ifmd_name) != 0 ) { + /* a device was removed and another one was added */ + format_device_name(ifp); + /* clear to the current value for the new device */ + old_inb = ifp->if_mib.ifmd_data.ifi_ibytes; + old_outb = ifp->if_mib.ifmd_data.ifi_obytes; + old_inp = ifp->if_mib.ifmd_data.ifi_ipackets; + old_outp = ifp->if_mib.ifmd_data.ifi_opackets; + needsort = 1; + } new_inb = ifp->if_mib.ifmd_data.ifi_ibytes; new_outb = ifp->if_mib.ifmd_data.ifi_obytes; @@ -295,8 +317,8 @@ fetchifstat(void) new_outp = ifp->if_mib.ifmd_data.ifi_opackets; /* Display interface if it's received some traffic. */ - if (new_inb > 0 && old_inb == 0) { - ifp->display = 1; + if (!ifp->display && new_inb > 0 && old_inb == 0) { + ifp->display = true; needsort = 1; } @@ -351,28 +373,18 @@ fetchifstat(void) /* * We want to right justify our interface names against the first column * (first sixteen or so characters), so we need to do some alignment. + * We save original name so that we can find a same spot is take by a + * different device. */ static void -right_align_string(struct if_stat *ifp) +format_device_name(struct if_stat *ifp) { - int str_len = 0, pad_len = 0; - char *newstr = NULL, *ptr = NULL; - if (ifp == NULL || ifp->if_mib.ifmd_name == NULL) - return; - else { - /* string length + '\0' */ - str_len = strlen(ifp->if_mib.ifmd_name)+1; - pad_len = IF_NAMESIZE-(str_len); - - newstr = ifp->if_name; - ptr = newstr + pad_len; - (void)memset((void *)newstr, (int)' ', IF_NAMESIZE); - (void)strncpy(ptr, (const char *)&ifp->if_mib.ifmd_name, - str_len); + if (ifp != NULL ) { + snprintf(ifp->display_name, IF_NAMESIZE, "%*s", IF_NAMESIZE-1, + ifp->if_mib.ifmd_name); + strcpy(ifp->dev_name, ifp->if_mib.ifmd_name); } - - return; } static int @@ -461,9 +473,10 @@ getifnum(void) return (data); } -static void +static int getifmibdata(int row, struct ifmibdata *data) { + int ret = 0; size_t datalen = 0; static int name[] = { CTL_NET, PF_LINK, @@ -474,9 +487,12 @@ getifmibdata(int row, struct ifmibdata *data) datalen = sizeof(*data); name[4] = row; - if ((sysctl(name, 6, (void *)data, (size_t *)&datalen, (void *)NULL, - (size_t)0) != 0) && (errno != ENOENT)) + ret = sysctl(name, 6, (void *)data, (size_t *)&datalen, (void *)NULL, + (size_t)0); + if ((ret != 0) && (errno != ENOENT)) IFSTAT_ERR(2, "sysctl error getting interface data"); + + return (ret); } int @@ -487,13 +503,23 @@ cmdifstat(const char *cmd, const char *args) retval = ifcmd(cmd, args); /* ifcmd() returns 1 on success */ if (retval == 1) { - if (needclear) { - showifstat(); - refresh(); - werase(wnd); - labelifstat(); - needclear = 0; - } + if (needclear) + clearifstat(); } + else if (prefix(cmd, "all")) { + retval = 1; + displayall = true; + } return (retval); +} + +static void +clearifstat(void) +{ + + showifstat(); + refresh(); + werase(wnd); + labelifstat(); + needclear = 0; } Modified: stable/12/usr.bin/systat/systat.1 ============================================================================== --- stable/12/usr.bin/systat/systat.1 Sat Sep 5 16:44:37 2020 (r365363) +++ stable/12/usr.bin/systat/systat.1 Sat Sep 5 17:02:48 2020 (r365364) @@ -680,6 +680,7 @@ in Silicon Graphics' system. .Sh BUGS Certain displays presume a minimum of 80 characters per line. +Ifstat does not detect new interfaces. The .Ic vmstat display looks out of place because it is (it was added in as