From owner-svn-src-stable@freebsd.org Sun Mar 4 02:41:25 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CBFA8F2CD4B; Sun, 4 Mar 2018 02:41:25 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 81F6E83D8F; Sun, 4 Mar 2018 02:41:25 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7B81E74C6; Sun, 4 Mar 2018 02:41:25 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w242fPMC019023; Sun, 4 Mar 2018 02:41:25 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w242fPhK019022; Sun, 4 Mar 2018 02:41:25 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803040241.w242fPhK019022@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Sun, 4 Mar 2018 02:41:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330367 - stable/11/sys/sys X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/sys X-SVN-Commit-Revision: 330367 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 02:41:26 -0000 Author: eadler Date: Sun Mar 4 02:41:25 2018 New Revision: 330367 URL: https://svnweb.freebsd.org/changeset/base/330367 Log: MFC r330256: sys/sys: Use a more common spelling of 'dirent' Modified: stable/11/sys/sys/dirent.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/sys/dirent.h ============================================================================== --- stable/11/sys/sys/dirent.h Sun Mar 4 01:37:49 2018 (r330366) +++ stable/11/sys/sys/dirent.h Sun Mar 4 02:41:25 2018 (r330367) @@ -82,7 +82,7 @@ struct dirent { /* * The _GENERIC_DIRSIZ macro gives the minimum record length which will hold - * the directory entry. This returns the amount of space in struct direct + * the directory entry. This returns the amount of space in struct dirent * without the d_name field, plus enough space for the name with a terminating * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. * From owner-svn-src-stable@freebsd.org Sun Mar 4 08:00:08 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7116F3EAC5; Sun, 4 Mar 2018 08:00:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 992AE6F9F8; Sun, 4 Mar 2018 08:00:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9433012992; Sun, 4 Mar 2018 08:00:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24807vg077514; Sun, 4 Mar 2018 08:00:07 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24807km077513; Sun, 4 Mar 2018 08:00:07 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803040800.w24807km077513@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Sun, 4 Mar 2018 08:00:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330373 - stable/11/usr.sbin/freebsd-update X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.sbin/freebsd-update X-SVN-Commit-Revision: 330373 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 08:00:08 -0000 Author: eadler Date: Sun Mar 4 08:00:07 2018 New Revision: 330373 URL: https://svnweb.freebsd.org/changeset/base/330373 Log: MFC r307156: MFportsnap r264740: Use case insensitive match when parsing host(1) output. Some DNS caches turn "FreeBSD.org" into "freebsd.org", which was causing the printed SRV records to not match our regex. PR: 170503 Modified: stable/11/usr.sbin/freebsd-update/freebsd-update.sh Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/freebsd-update/freebsd-update.sh ============================================================================== --- stable/11/usr.sbin/freebsd-update/freebsd-update.sh Sun Mar 4 06:19:41 2018 (r330372) +++ stable/11/usr.sbin/freebsd-update/freebsd-update.sh Sun Mar 4 08:00:07 2018 (r330373) @@ -953,7 +953,7 @@ fetch_pick_server_init () { # "$name server selection ..."; we allow either format. MLIST="_http._tcp.${SERVERNAME}" host -t srv "${MLIST}" | - sed -nE "s/${MLIST} (has SRV record|server selection) //p" | + sed -nE "s/${MLIST} (has SRV record|server selection) //Ip" | cut -f 1,2,4 -d ' ' | sed -e 's/\.$//' | sort > serverlist_full From owner-svn-src-stable@freebsd.org Sun Mar 4 19:15:25 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 723C7F2A1CC; Sun, 4 Mar 2018 19:15:25 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 273F86AA93; Sun, 4 Mar 2018 19:15:25 +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 1DC12197D9; Sun, 4 Mar 2018 19:15:25 +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 w24JFOwu018278; Sun, 4 Mar 2018 19:15:24 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24JFOMH018277; Sun, 4 Mar 2018 19:15:24 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201803041915.w24JFOMH018277@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 4 Mar 2018 19:15:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330401 - stable/11/sys/compat/linuxkpi/common/src X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/compat/linuxkpi/common/src X-SVN-Commit-Revision: 330401 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 19:15:25 -0000 Author: hselasky Date: Sun Mar 4 19:15:24 2018 New Revision: 330401 URL: https://svnweb.freebsd.org/changeset/base/330401 Log: MFC r330236: Correct the return value from flush_work() and flush_delayed_work() in the LinuxKPI to comply more with Linux. This fixes an issue when these functions are used in waiting loops. Sponsored by: Mellanox Technologies Modified: stable/11/sys/compat/linuxkpi/common/src/linux_work.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linuxkpi/common/src/linux_work.c ============================================================================== --- stable/11/sys/compat/linuxkpi/common/src/linux_work.c Sun Mar 4 19:12:54 2018 (r330400) +++ stable/11/sys/compat/linuxkpi/common/src/linux_work.c Sun Mar 4 19:15:24 2018 (r330401) @@ -454,6 +454,7 @@ bool linux_flush_work(struct work_struct *work) { struct taskqueue *tq; + int retval; WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "linux_flush_work() might sleep"); @@ -463,8 +464,9 @@ linux_flush_work(struct work_struct *work) return (0); default: tq = work->work_queue->taskqueue; + retval = taskqueue_poll_is_busy(tq, &work->work_task); taskqueue_drain(tq, &work->work_task); - return (1); + return (retval); } } @@ -477,6 +479,7 @@ bool linux_flush_delayed_work(struct delayed_work *dwork) { struct taskqueue *tq; + int retval; WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "linux_flush_delayed_work() might sleep"); @@ -490,8 +493,9 @@ linux_flush_delayed_work(struct delayed_work *dwork) /* FALLTHROUGH */ default: tq = dwork->work.work_queue->taskqueue; + retval = taskqueue_poll_is_busy(tq, &dwork->work.work_task); taskqueue_drain(tq, &dwork->work.work_task); - return (1); + return (retval); } } From owner-svn-src-stable@freebsd.org Sun Mar 4 19:17:33 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 079A6F2A521; Sun, 4 Mar 2018 19:17:33 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id ADBFB6ADC1; Sun, 4 Mar 2018 19:17:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A8B60197DB; Sun, 4 Mar 2018 19:17:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24JHWjk018384; Sun, 4 Mar 2018 19:17:32 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24JHWFk018383; Sun, 4 Mar 2018 19:17:32 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803041917.w24JHWFk018383@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Sun, 4 Mar 2018 19:17:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330402 - stable/11/sys/fs/nullfs X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/fs/nullfs X-SVN-Commit-Revision: 330402 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 19:17:33 -0000 Author: eadler Date: Sun Mar 4 19:17:32 2018 New Revision: 330402 URL: https://svnweb.freebsd.org/changeset/base/330402 Log: MFC r305504: nullfs: stop special-casing directories in null_vptocnp The previous code was forcing an expensive walk in vop_stdvptocnp, which was causing performance issues on highly contended zfs. Modified: stable/11/sys/fs/nullfs/null_vnops.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/fs/nullfs/null_vnops.c ============================================================================== --- stable/11/sys/fs/nullfs/null_vnops.c Sun Mar 4 19:15:24 2018 (r330401) +++ stable/11/sys/fs/nullfs/null_vnops.c Sun Mar 4 19:17:32 2018 (r330402) @@ -870,9 +870,6 @@ null_vptocnp(struct vop_vptocnp_args *ap) struct ucred *cred = ap->a_cred; int error, locked; - if (vp->v_type == VDIR) - return (vop_stdvptocnp(ap)); - locked = VOP_ISLOCKED(vp); lvp = NULLVPTOLOWERVP(vp); vhold(lvp); From owner-svn-src-stable@freebsd.org Sun Mar 4 21:58:57 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F670F3763E; Sun, 4 Mar 2018 21:58:56 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 32157724B8; Sun, 4 Mar 2018 21:58:56 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2C81C1B18F; Sun, 4 Mar 2018 21:58:56 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24LwuK3098260; Sun, 4 Mar 2018 21:58:56 GMT (envelope-from cperciva@FreeBSD.org) Received: (from cperciva@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24LwugV098258; Sun, 4 Mar 2018 21:58:56 GMT (envelope-from cperciva@FreeBSD.org) Message-Id: <201803042158.w24LwugV098258@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cperciva set sender to cperciva@FreeBSD.org using -f From: Colin Percival Date: Sun, 4 Mar 2018 21:58:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330417 - stable/11/share/vt/fonts X-SVN-Group: stable-11 X-SVN-Commit-Author: cperciva X-SVN-Commit-Paths: stable/11/share/vt/fonts X-SVN-Commit-Revision: 330417 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 21:58:57 -0000 Author: cperciva Date: Sun Mar 4 21:58:55 2018 New Revision: 330417 URL: https://svnweb.freebsd.org/changeset/base/330417 Log: MFC r320367: Add "Terminus BSD Console" size 32 Added: stable/11/share/vt/fonts/terminus-b32.hex - copied unchanged from r320367, head/share/vt/fonts/terminus-b32.hex Modified: stable/11/share/vt/fonts/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/share/vt/fonts/Makefile ============================================================================== --- stable/11/share/vt/fonts/Makefile Sun Mar 4 21:58:32 2018 (r330416) +++ stable/11/share/vt/fonts/Makefile Sun Mar 4 21:58:55 2018 (r330417) @@ -1,6 +1,7 @@ # $FreeBSD$ FILES= gallant.fnt \ + terminus-b32.fnt \ vgarom-8x8.fnt \ vgarom-8x14.fnt \ vgarom-8x16.fnt \ Copied: stable/11/share/vt/fonts/terminus-b32.hex (from r320367, head/share/vt/fonts/terminus-b32.hex) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/share/vt/fonts/terminus-b32.hex Sun Mar 4 21:58:55 2018 (r330417, copy of r320367, head/share/vt/fonts/terminus-b32.hex) @@ -0,0 +1,1294 @@ +# $FreeBSD$ +# Height: 32 +# Width: 16 +0000:0000000000000000000000003C3C3C3C300C300C300C000000000000300C300C300C300C000000000000300C300C300C3C3C3C3C000000000000000000000000 +0020:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0021:00000000000000000000000001800180018001800180018001800180018001800180018001800000000000000180018001800180000000000000000000000000 +0022:00000000000000000C300C300C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0023:0000000000000000000000000C300C300C300C300C303FFC3FFC0C300C300C300C300C300C303FFC3FFC0C300C300C300C300C30000000000000000000000000 +0024:00000000000000000180018001800FF01FF8399C318C31803180318039801FF00FF8019C018C018C018C318C399C1FF80FF00180018001800000000000000000 +0025:0000000000000000000000001E183F18333033303F601E6000C000C00180018003000300060006000CF00DF81998199831F830F0000000000000000000000000 +0026:0000000000000000000000000F801FC038E030603060306038E01DC00F800F001F8C39DC70F8607060306030607070F83FDC1F8C000000000000000000000000 +0027:00000000000000000180018001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0028:000000000000000000000000006000E001C00380030007000600060006000600060006000600060007000300038001C000E00060000000000000000000000000 +0029:00000000000000000000000006000700038001C000C000E00060006000600060006000600060006000E000C001C0038007000600000000000000000000000000 +002A:000000000000000000000000000000000000000038381C700EE007C003807FFC7FFC038007C00EE01C7038380000000000000000000000000000000000000000 +002B:0000000000000000000000000000000000000000018001800180018001803FFC3FFC018001800180018001800000000000000000000000000000000000000000 +002C:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800380030006000000000000000000 +002D:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000 +002E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000000000000000000 +002F:00000000000000000000000000180018003000300060006000C000C00180018003000300060006000C000C001800180030003000000000000000000000000000 +0030:0000000000000000000000000FF01FF8381C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C381C1FF80FF0000000000000000000000000 +0031:0000000000000000000000000180038007800F800D8001800180018001800180018001800180018001800180018001800FF00FF0000000000000000000000000 +0032:0000000000000000000000000FF01FF8381C300C300C300C300C000C001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +0033:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0034:000000000000000000000000000C001C003C007C00EC01CC038C070C0E0C1C0C380C300C300C3FFC3FFC000C000C000C000C000C000000000000000000000000 +0035:0000000000000000000000003FFC3FFC3000300030003000300030003FF03FF8001C000C000C000C000C000C300C380C1FF80FF0000000000000000000000000 +0036:0000000000000000000000000FF81FF83800300030003000300030003FF03FF8301C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0037:0000000000000000000000003FFC3FFC300C300C300C30180018003000300060006000C000C00180018001800180018001800180000000000000000000000000 +0038:0000000000000000000000000FF01FF8381C300C300C300C300C300C381C1FF81FF8381C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0039:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +003A:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000180018001800180000000000000000000000000 +003B:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000180018001800380030006000000000000000000 +003C:000000000000000000000000001C0038007000E001C0038007000E001C00380038001C000E000700038001C000E000700038001C000000000000000000000000 +003D:0000000000000000000000000000000000000000000000003FFC3FFC00000000000000003FFC3FFC000000000000000000000000000000000000000000000000 +003E:00000000000000000000000038001C000E000700038001C000E000700038001C001C0038007000E001C0038007000E001C003800000000000000000000000000 +003F:0000000000000000000000000FF01FF8381C300C300C300C300C001C0038007000E001C001800180000000000180018001800180000000000000000000000000 +0040:0000000000000000000000001FF03FF8701C600C61FC63FC670C660C660C660C660C660C660C671C63FC61EC600070003FFC1FFC000000000000000000000000 +0041:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0042:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0043:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +0044:0000000000000000000000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000000000000000000000000 +0045:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0046:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE0300030003000300030003000300030003000000000000000000000000000 +0047:0000000000000000000000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0048:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +0049:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +004A:000000000000000000000000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000 +004B:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +004C:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000 +004D:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000 +004E:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +004F:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0050:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000 +0051:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C31CC38FC1FF80FF8001C000E0000000000000000 +0052:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000 +0053:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0054:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +0055:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0056:000000000000000000000000300C300C300C300C300C181818181818181818180C300C300C300C3006600660066003C003C003C0000000000000000000000000 +0057:000000000000000000000000600C600C600C600C600C600C600C600C600C600C610C638C638C67CC6C6C6C6C783C701C600C600C000000000000000000000000 +0058:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000 +0059:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +005A:0000000000000000000000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +005B:0000000000000000000000000FE00FE00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000FE00FE0000000000000000000000000 +005C:00000000000000000000000030003000180018000C000C0006000600030003000180018000C000C0006000600030003000180018000000000000000000000000 +005D:0000000000000000000000000FE00FE000600060006000600060006000600060006000600060006000600060006000600FE00FE0000000000000000000000000 +005E:0000000000000000018003C007E00E701C38381C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +005F:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000 +0060:00000E000700038001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0061:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +0062:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0063:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +0064:000000000000000000000000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0065:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0066:000000000000000000000000007E00FE01C00180018001801FF81FF8018001800180018001800180018001800180018001800180000000000000000000000000 +0067:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0068:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0069:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +006A:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +006B:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +006C:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +006D:0000000000000000000000000000000000000000000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000000000000000000000000 +006E:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +006F:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0070:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +0071:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C0000 +0072:00000000000000000000000000000000000000000000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000 +0073:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +0074:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000000000000000000000 +0075:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0076:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300C300660066003C003C003C0000000000000000000000000 +0077:000000000000000000000000000000000000000000000000300C300C300C300C318C318C318C318C318C318C318C399C1FF80FF0000000000000000000000000 +0078:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300C300C000000000000000000000000 +0079:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +007A:0000000000000000000000000000000000000000000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +007B:00000000000000000000000000F001F003800300030003000300030003001E001E00030003000300030003000300038001F000F0000000000000000000000000 +007C:00000000000000000000000001800180018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +007D:0000000000000000000000001E001F00038001800180018001800180018000F000F001800180018001800180018003801F001E00000000000000000000000000 +007E:00000000000000000E0C1F0C3B8C31DC30F830700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00A0:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00A1:00000000000000000000000001800180018001800000000001800180018001800180018001800180018001800180018001800180000000000000000000000000 +00A2:0000000000000000000000000000000000000180018001800FF01FF8399C318C318031803180318031803180318C399C1FF80FF0018001800180000000000000 +00A3:00000000000000000000000003E007F00E380C180C000C000C000C000C003FE03FE00C000C000C000C000C000C0C0C0C3FFC3FFC000000000000000000000000 +00A4:000000000000000000000000000000000000381C1C380FF00FF01C3818181818181818181C380FF00FF01C38381C000000000000000000000000000000000000 +00A5:000000000000000000000000300C300C181818180C300C300660066003C003C0018001801FF81FF8018001801FF81FF801800180000000000000000000000000 +00A6:00000000000000000000000001800180018001800180018001800180000000000000000001800180018001800180018001800180000000000000000000000000 +00A7:000000000000000007C00FE01C70183018001C000F800FC018E018701830183018301C300E3007E003E00070003018301C700FE007C000000000000000000000 +00A8:00000C300C300C300C30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00A9:000000000000000000000000000000001FF83FFC700E67E66FF66C366C066C066C066C066C366FF667E6700E3FFC1FF800000000000000000000000000000000 +00AA:000000000FE00FF00038001807F80FF81C1818181C180FF807F8000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +00AB:00000000000000000000000000000000000000000000000001CE039C07380E701CE039C07380738039C01CE00E700738039C01CE000000000000000000000000 +00AC:0000000000000000000000000000000000000000000000003FFC3FFC000C000C000C000C000C000C000000000000000000000000000000000000000000000000 +00AD:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +00AE:000000000000000000000000000000001FF83FFC700E6FE66FF66C366C366C366FE66FC66DC66CE66C76700E3FFC1FF800000000000000000000000000000000 +00AF:000000000FF00FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00B0:000000000000000007E00FF00C300C300C300C300FF007E000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00B1:0000000000000000000000000000000000000000018001800180018001803FFC3FFC01800180018001800180000000003FFC3FFC000000000000000000000000 +00B2:00000000000007E00FF00C300C30007000E001C0038007000FF00FF0000000000000000000000000000000000000000000000000000000000000000000000000 +00B3:00000000000007E00FF00C30003001E001E0003000300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000 +00B4:0000007000E001C00380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00B5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C301C303C307C3FEC3FCC300030003000300030000000 +00B6:0000000000000000000000001FFC3FFC718C618C618C618C618C618C718C3F8C1F8C018C018C018C018C018C018C018C018C018C000000000000000000000000 +00B7:00000000000000000000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000000000000000000 +00B8:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018001800380030006000000 +00B9:00000000000001800380078007800180018001800180018007E007E0000000000000000000000000000000000000000000000000000000000000000000000000 +00BA:0000000007E00FF01C38181818181818181818181C380FF007E0000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +00BB:000000000000000000000000000000000000000000000000738039C01CE00E700738039C01CE01CE039C07380E701CE039C07380000000000000000000000000 +00BC:0000000000000000000000000C001C003C000C000C060C0E0C1C0C380C7000E001C6038E071E0E361C6638C671FE61FE00060006000000000000000000000000 +00BD:000000000000000000000000180038007806180E181C1838187018E019C0038007000E7C1CFE38C670C6600C00180030007E00FE000000000000000000000000 +00BE:0000000000000000000000003F007F8061800F000F000186618E7F9C3F38007000E601CE039E07360E661CC639FE71FE60060006000000000000000000000000 +00BF:000000000000000000000000018001800180018000000000018001800180030006000C001800300C300C300C300C381C1FF80FF0000000000000000000000000 +00C0:00000E000700038001C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C1:0000007000E001C0038000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C2:0000018003C007E00E7000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C3:00000F181B9819D818F000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C4:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C5:000003C006600660066003C00FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C6:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C07FFE7FFE60C060C060C060C060C060C060C060FF60FF000000000000000000000000 +00C7:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0018001800380030006000000 +00C8:00000E000700038001C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +00C9:0000007000E001C0038000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +00CA:0000018003C007E00E7000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +00CB:00000C300C300C300C3000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +00CC:00000E000700038001C0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +00CD:0000007000E001C00380000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +00CE:0000018003C007E00E70000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +00CF:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +00D0:0000000000000000000000003FC03FF030383018300C300C300C300C300C7F8C7F8C300C300C300C300C300C301830383FF03FC0000000000000000000000000 +00D1:00000F181B9819D818F00000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +00D2:00000E000700038001C000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D3:0000007000E001C0038000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D4:0000018003C007E00E7000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D5:00000F181B9819D818F000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D6:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D7:00000000000000000000000000000000000000000000701C38381C700EE007C0038007C00EE01C703838701C0000000000000000000000000000000000000000 +00D8:0000000000000000000000000FF01FF8381C300E300E301C303C307C30EC31CC338C370C3E0C3C0C380C700C700C381C1FF80FF0000000000000000000000000 +00D9:00000E000700038001C00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00DA:0000007000E001C003800000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00DB:0000018003C007E00E700000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00DC:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00DD:0000007000E001C003800000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +00DE:00000000000000000000000030003000300030003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03000300030003000000000000000000000000000 +00DF:0000000000000000000000001FE03FF03038301830183018301830303FF03FF03038301C300C300C300C300C380C3C1C37F833F0000000000000000000000000 +00E0:0000000000000000000000000E000700038001C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E1:000000000000000000000000007000E001C00380000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E2:000000000000000000000000018003C007E00E70000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E3:0000000000000000000000000F181B9819D818F0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E4:0000000000000000000000000C300C300C300C30000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E5:00000000000000000000000003C006600660066003C000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E6:0000000000000000000000000000000000000000000000003EF83FFC018E018601861F863FFE71FE61806180618071C63FFE1F7C000000000000000000000000 +00E7:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0018001800380030006000000 +00E8:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +00E9:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +00EA:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +00EB:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +00EC:0000000000000000000000001C000E00070003800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +00ED:000000000000000000000000007000E001C003800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +00EE:000000000000000000000000018003C007E00E700000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +00EF:0000000000000000000000000C300C300C300C300000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +00F0:0000000000000000000000001DC00F801F003B8001C000E00FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F1:0000000000000000000000000F181B9819D818F0000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +00F2:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F3:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F4:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F5:0000000000000000000000000F181B9819D818F0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F6:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F7:0000000000000000000000000000000000000180018001800180000000003FFC3FFC000000000180018001800180000000000000000000000000000000000000 +00F8:0000000000000000000000000000000000000000000000000FF61FFE381C303C307C30EC31CC338C370C3E0C3C0C381C7FF8EFF0000000000000000000000000 +00F9:0000000000000000000000000E000700038001C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +00FA:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +00FB:000000000000000000000000018003C007E00E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +00FC:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +00FD:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +00FE:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +00FF:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0100:000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0101:000000000000000000000000000000000FF00FF0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +0102:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0103:0000000000000000000000000C300C3007E003C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +0104:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C003C00700060007C003C0000 +0105:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC003C00700060007C003C0000 +0106:0000007000E001C0038000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +0107:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +0108:0000018003C007E00E7000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +0109:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +010A:0000018001800180018000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +010B:0000000000000000000000000180018001800180000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +010C:00000E7007E003C0018000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +010D:0000000000000000000000000E7007E003C00180000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +010E:00000E7007E003C0018000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000000000000000000000000 +010F:00000E7007E003C001800000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0110:0000000000000000000000003FC03FF030383018300C300C300C300C300C7F8C7F8C300C300C300C300C300C301830383FF03FC0000000000000000000000000 +0111:000000000000000000000000000C000C01FF01FF000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0112:000000000FF00FF0000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0113:000000000000000000000000000000000FF00FF0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0114:00000C300C3007E003C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0115:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0116:0000018001800180018000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0117:0000000000000000000000000180018001800180000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0118:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC003C00700060007C003C0000 +0119:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF801C00380030003E001E00000 +011A:00000E7007E003C0018000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +011B:0000000000000000000000000E7007E003C00180000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +011C:0000018003C007E00E7000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +011D:000000000000000000000000018003C007E00E70000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +011E:00000C300C3007E003C000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +011F:0000000000000000000000000C300C3007E003C0000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0120:0000018001800180018000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0121:00000000000000000000000000C000C000C000C0000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0122:0000000000000000000000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000001800180038003000600 +0123:0000000000000000000000000030006000E000C000C000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0124:0000018003C007E00E700000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +0125:0000018003C007E00E7000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0126:000000000000000000000000300C300C300C7FFE7FFE300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +0127:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0128:00000F181B9819D818F0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +0129:0000000000000000000000000F181B9819D818F00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +012A:000000000FF00FF00000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +012B:000000000000000000000000000000000FF00FF00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +012C:00000C300C3007E003C0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +012D:0000000000000000000000000C300C3007E003C00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +012E:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E001800380030003E001E00000 +012F:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E001800380030003E001E00000 +0130:00000180018001800180000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +0131:00000000000000000000000000000000000000000000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +0132:000000000000000000000000F01EF01E600C600C600C600C600C600C600C600C600C600C600C600C630C630C630C639CF1F8F0F0000000000000000000000000 +0133:000000000000000000000000300630063006300600000000701E701E3006300630063006300630063006300630063006780678060186018601CE00FC00780000 +0134:00000018003C007E00E70000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000 +0135:0000000000000000000000000018003C007E00E70000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +0136:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000001800180038003000600 +0137:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C000001800180038003000600 +0138:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +0139:000007000E001C00380000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000 +013A:0000007000E001C00380000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +013B:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000001800180038003000600 +013C:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180038003000600 +013D:00000E7007E003C0018000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000 +013E:00000E7007E003C00180000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +013F:0000000000000000000000003000300030003000300030003000300030303030303030303000300030003000300030003FFC3FFC000000000000000000000000 +0140:00000000000000000000000007800780018001800180018001800180018301830183018301800180018001800180018007E007E0000000000000000000000000 +0141:0000000000000000000000003000300030003000300030003000330036003C0038007000F000300030003000300030003FFC3FFC000000000000000000000000 +0142:000000000000000000000000078007800180018001800180018001B001E001C0038007800D800180018001800180018007E007E0000000000000000000000000 +0143:0000007000E001C003800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +0144:000000000000000000000000007000E001C00380000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0145:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000001800180038003000600 +0146:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000001800180038003000600 +0147:00000E7007E003C001800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +0148:0000000000000000000000000E7007E003C00180000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0149:0000000000000000300030003000300060006000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +014A:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000C000C001C00F800F00000 +014B:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C001C00F800F00000 +014C:000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +014D:000000000000000000000000000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +014E:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +014F:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0150:000001CE039C07380E7000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0151:00000000000000000000000001CE039C07380E70000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0152:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C060FE60FE60C060C060C060C060C060C070C03FFF1FFF000000000000000000000000 +0153:0000000000000000000000000000000000000000000000001FF83FFC718E61866186618661FE61FE61806180618071863FFE1FFC000000000000000000000000 +0154:0000007000E001C0038000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000 +0155:000000000000000000000000007000E001C003800000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000 +0156:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000001800180038003000600 +0157:00000000000000000000000000000000000000000000000031FC33FC36003C00380030003000300030003000300030003000300000003000300070006000C000 +0158:00000E7007E003C0018000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000 +0159:0000000000000000000000000E7007E003C001800000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000 +015A:0000007000E001C0038000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +015B:000000000000000000000000007000E001C00380000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +015C:0000018003C007E00E7000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +015D:000000000000000000000000018003C007E00E70000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +015E:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0018001800380030006000000 +015F:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0018001800380030006000000 +0160:00000E7007E003C0018000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0161:0000000000000000000000000E7007E003C00180000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +0162:0000000000000000000000003FFC3FFC01800180018001800180018001800180018001800180018001800180018001800180018000C000C001C0018003000000 +0163:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC003000300070006000C00000 +0164:00000E7007E003C0018000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +0165:00001CE00FC00780030000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000000000000000000000 +0166:0000000000000000000000003FFC3FFC01800180018001800180018001800FF00FF0018001800180018001800180018001800180000000000000000000000000 +0167:0000000000000000000000000300030003000300030003003FF03FF0030003000FC00FC003000300030003000300038001FC00FC000000000000000000000000 +0168:00000F181B9819D818F00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0169:0000000000000000000000000F181B9819D818F000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +016A:000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +016B:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +016C:00000C300C3007E003C00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +016D:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +016E:000003C006600660066003C0300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +016F:00000000000000000000000003C006600660066003C00000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0170:000001CE039C07380E700000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0171:00000000000000000000000001CE039C07380E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0172:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF001C00380030003E001E00000 +0173:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC003C00700060007C003C0000 +0174:0000018003C007E00E700000600C600C600C600C600C600C600C600C600C600C610C638C638C67CC6C6C6C6C783C701C600C600C000000000000000000000000 +0175:000000000000000000000000018003C007E00E7000000000300C300C300C300C318C318C318C318C318C318C318C399C1FF80FF0000000000000000000000000 +0178:00000C300C300C300C300000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +0179:0000007000E001C0038000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +017A:000000000000000000000000007000E001C00380000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +017B:0000018001800180018000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +017C:0000000000000000000000000180018001800180000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +017D:00000E7007E003C0018000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +017E:0000000000000000000000000E7007E003C00180000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +017F:00000000000000000000000000FC01FC038003000300030003000300030003000300030003000300030003000300030003000300000000000000000000000000 +0186:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C000C000C000C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +018E:0000000000000000000000003FFC3FFC000C000C000C000C000C000C000C07FC07FC000C000C000C000C000C000C000C3FFC3FFC000000000000000000000000 +018F:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0190:0000000000000000000000000FF01FF8381C300C300C30003000300038001FE01FE03800300030003000300C300C381C1FF80FF0000000000000000000000000 +0192:00000000000000000000000000F801FC018C018C01800180018001800FF00FF00180018001800180018001800180018001800180318031803F801F0000000000 +019D:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C3000300030007000E0000000 +019E:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000 +01B7:0000000000000000000000003FFC3FFC001C0038007000E001C0038007F007F8001C000C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0218:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000001800180038003000600 +0219:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000001800180038003000600 +021A:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000001800180038003000600 +021B:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC0000003000300070006000C0 +0232:000000000FF00FF000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +0233:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0237:00000000000000000000000000000000000000000000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +0254:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C000C000C000C000C000C300C381C1FF80FF0000000000000000000000000 +0258:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC000C000C000C301C3FF81FF0000000000000000000000000 +0259:0000000000000000000000000000000000000000000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +025B:0000000000000000000000000000000000000000000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000 +0272:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C3000300030007000E0000000 +0292:0000000000000000000000000000000000000000000000003FFC3FFC001C0038007000E001C0038007F007F8001C000C000C000C000C300C381C1FF80FF00000 +02BB:0000006000C001C00180018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02BC:00000180018003800300060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02BD:00000180018001C000C0006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02C6:0000018003C007E00E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02C7:00000E7007E003C00180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02D8:00000C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02D9:00000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02DB:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003C00700060007C003C0000 +02DC:00000F181B9819D818F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02DD:000001CE039C07380E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0300:00000E000700038001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0301:0000007000E001C00380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0302:0000018003C007E00E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0303:00000F181B9819D818F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0304:000000000FF00FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0305:000000003FFC3FFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0306:00000C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0307:00000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0308:00000C300C300C300C30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +030A:000003C006600660066003C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +030B:000001CE039C07380E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +030C:00000E7007E003C00180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0329:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800180018001800000 +0384:000000001C0038007000E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0385:0000007000E001C0038000000C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0386:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0387:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000000000000000000000000000000000000000000 +0388:000000001C0038007000E0003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0389:000000001C0038007000E000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +038A:000000001C0038007000E00007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +038C:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +038E:000000001C0038007000E0001806180618060C0C0C0C061806180330033001E001E000C000C000C000C000C000C000C000C000C0000000000000000000000000 +038F:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000 +0390:000000E001C00380070000001860186018601860000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000 +0391:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0392:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0393:0000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000 +0394:00000000000000000000000001800180018003C003C003C00660066006600C300C300C30181818181818300C300C300C3FFC3FFC000000000000000000000000 +0395:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0396:0000000000000000000000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +0397:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +0398:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C37EC37EC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0399:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +039A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +039B:00000000000000000000000001800180018003C003C003C00660066006600C300C300C301818181818181818300C300C300C300C000000000000000000000000 +039C:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000 +039D:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +039E:0000000000000000000000003FFC3FFC00000000000000000000000000000FF00FF000000000000000000000000000003FFC3FFC000000000000000000000000 +039F:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03A0:0000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +03A1:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000 +03A3:0000000000000000000000003FFC3FFC38001C000E000700038001C000E00070007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +03A4:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +03A5:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +03A6:000000000000000000000000018001800FF01FF8399C318C318C318C318C318C318C318C318C318C318C399C1FF80FF001800180000000000000000000000000 +03A7:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000 +03A8:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF00180018001800180000000000000000000000000 +03A9:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000 +03AA:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +03AB:00000C300C300C300C300000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +03AC:000000000000000000000000007000E001C00380000000001FCC3FFC70386030603060306030603060306030603070383FFC1FCC000000000000000000000000 +03AD:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000 +03AE:000000000000000000000000007000E001C00380000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000 +03AF:00000000000000000000000000E001C003800700000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000 +03B0:0000007000E001C0038000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03B1:0000000000000000000000000000000000000000000000001FCC3FFC70386030603060306030603060306030603070383FFC1FCC000000000000000000000000 +03B2:0000000000000000000000001FE03FF03038301830183018301830303FF03FF03038301C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +03B3:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001800180018001800180018001800000 +03B4:0000000000000000000000001FF01FF00E000700038001C007E00FF01818300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03B5:0000000000000000000000000000000000000000000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000 +03B6:0000000000000000000000003FFC3FFC0038007000E001C0038007000E001C00180038003000300030003000300038001FF00FF8001C000C001C007800700000 +03B7:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000 +03B8:00000000000000000000000007E00FF01C381818181818181818181818181FF81FF81818181818181818181818181C380FF007E0000000000000000000000000 +03B9:0000000000000000000000000000000000000000000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000 +03BA:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +03BB:00000000000000000000000006000600030003000180018003C003C00660066006600C300C300C30181818181818300C300C300C000000000000000000000000 +03BC:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C301C303C307C3FEC3FCC300030003000300030000000 +03BD:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300C300660066003C003C003C0000000000000000000000000 +03BE:0000000000000000000000000FFC1FFC3800300030003000300018000FF00FF01C0038003000300030003000300038001FF00FF8001C000C001C007800700000 +03BF:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03C0:0000000000000000000000000000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +03C1:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +03C2:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300038001FF00FF8001C000C001C007800700000 +03C3:0000000000000000000000000000000000000000000000000FFE1FFE38703038301C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03C4:0000000000000000000000000000000000000000000000003FFC3FFC01800180018001800180018001800180018001C000F80078000000000000000000000000 +03C5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03C6:0000000000000000000000000000000000000000000000000CF01DF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180018001800000 +03C7:000000000000000000000000000000000000000000000000300C300C181818180C300C300660066003C003C003C0066006600C300C3018181818300C300C0000 +03C8:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180018001800000 +03C9:0000000000000000000000000000000000000000000000000C301C38381C300C318C318C318C318C318C318C318C3BDC1FF80E70000000000000000000000000 +03CA:0000000000000000000000001860186018601860000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000 +03CB:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03CC:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03CD:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03CE:000000000000000000000000007000E001C00380000000000C301C38381C300C318C318C318C318C318C318C318C3BDC1FF80E70000000000000000000000000 +03D1:00000000000000000000000007E00FF01C3818181818181818180FFE07FE001800180018781878181818181818181C380FF007E0000000000000000000000000 +03D5:0000000000000000000000000000000000000180018001800FF01FF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180000000000000 +03F0:000000000000000000000000000000000000000000000000780C7C1C0E38067003E003C00380038007800F801CC038E0707C603C000000000000000000000000 +03F1:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C301C3FF83FF03000300038001FF80FF80000 +03F2:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +03F3:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +03F4:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03F5:00000000000000000000000000000000000000000000000003FC0FFC1C001800300030003FF03FF03000300018001C000FFC03FC000000000000000000000000 +03F6:0000000000000000000000000000000000000000000000003FC03FF000380018000C000C0FFC0FFC000C000C001800383FF03FC0000000000000000000000000 +0400:00000E000700038001C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0401:00000C300C300C300C3000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0402:000000000000000000000000FF00FF00180018001800180018001FF01FF8181C180C180C180C180C180C180C180C181C18F818F0000000000000000000000000 +0403:0000007000E001C0038000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000 +0404:0000000000000000000000000FF01FF8381C300C300C30003000300030003FE03FE03000300030003000300C300C381C1FF80FF0000000000000000000000000 +0405:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0406:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +0407:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +0408:000000000000000000000000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000 +0409:0000000000000000000000001F803F807180618061806180618061F861FC618E6186618661866186618661866186618EE1FCC1F8000000000000000000000000 +040A:000000000000000000000000618061806180618061806180618061F861FC7F8E7F86618661866186618661866186618E61FC61F8000000000000000000000000 +040B:000000000000000000000000FF00FF00180018001800180018001FF01FF8181C180C180C180C180C180C180C180C180C180C180C000000000000000000000000 +040C:0000007000E001C003800000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +040D:00000E000700038001C00000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +040E:00000C300C3007E003C00000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +040F:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C3FFC3FFC018001800180018001800000 +0410:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0411:0000000000000000000000003FF83FF8300030003000300030003FF03FF8301C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0412:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0413:0000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000 +0414:00000000000000000000000007F80FF81C181818181818181818181818181818181818181818181818181818181818183FFC7FFE600660066006600600000000 +0415:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0416:000000000000000000000000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000 +0417:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0418:000000000000000000000000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +0419:00000C300C3007E003C00000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +041A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +041B:00000000000000000000000003FC07FC0E0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C0C380C000000000000000000000000 +041C:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000 +041D:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +041E:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +041F:0000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0420:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000 +0421:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +0422:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +0423:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +0424:0000000000000000018001800FF01FF8399C318C318C318C318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF0018001800000000000000000 +0425:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000 +0426:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C380E1FFF0FFF000300030003000300030000 +0427:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000C000C000000000000000000000000 +0428:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C398C1FFC0FFC000000000000000000000000 +0429:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C398C1FFE0FFF000300030003000300030000 +042A:000000000000000000000000F000F00030003000300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000 +042B:000000000000000000000000600C600C600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000 +042C:0000000000000000000000003000300030003000300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000 +042D:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C07FC07FC000C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +042E:00000000000000000000000060F061F8639C630C630C630C630C630C630C7F0C7F0C630C630C630C630C630C630C639C61F860F0000000000000000000000000 +042F:0000000000000000000000000FFC1FFC380C300C300C300C300C300C300C380C1FFC0FFC00EC01CC038C070C0E0C1C0C380C300C000000000000000000000000 +0430:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +0431:0000000000000000000000000FF01FF0380030003000300030003FF03FF8301C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0432:0000000000000000000000001FC03FE03070303030303030303030703FE03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0433:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000 +0434:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0435:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0436:000000000000000000000000000000000000000000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000 +0437:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0000000000000000000000000 +0438:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0439:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +043A:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +043B:00000000000000000000000000000000000000000000000003FC07FC0E0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C0C380C000000000000000000000000 +043C:000000000000000000000000000000000000000000000000600C701C783C7C7C6EEC67CC638C610C600C600C600C600C600C600C000000000000000000000000 +043D:000000000000000000000000000000000000000000000000300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C000000000000000000000000 +043E:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +043F:0000000000000000000000000000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0440:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +0441:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +0442:0000000000000000000000000000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180000000000000000000000000 +0443:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0444:0000000000000000000000000000000000000180018001800FF01FF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180000000000000 +0445:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300C300C000000000000000000000000 +0446:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFE0FFF000300030003000300030000 +0447:000000000000000000000000000000000000000000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000000000000000000000000 +0448:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C398C1FFC0FFC000000000000000000000000 +0449:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C398C1FFE0FFF000300030003000300030000 +044A:0000000000000000000000000000000000000000000000003C003C000C000C000FF00FF80C1C0C0C0C0C0C0C0C0C0C1C0FF80FF0000000000000000000000000 +044B:000000000000000000000000000000000000000000000000600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000 +044C:00000000000000000000000000000000000000000000000018001800180018001FE01FF01838181818181818181818381FF01FE0000000000000000000000000 +044D:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C000C03FC03FC000C000C300C381C1FF80FF0000000000000000000000000 +044E:00000000000000000000000000000000000000000000000060F061F8630C630C630C630C7F0C7F0C630C630C630C630C61F860F0000000000000000000000000 +044F:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C380C1FFC0FFC00EC01CC038C070C0E0C1C0C000000000000000000000000 +0450:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0451:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0452:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C001C00F800F00000 +0453:000000000000000000000000007000E001C00380000000003FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000 +0454:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003FC03FC030003000300C381C1FF80FF0000000000000000000000000 +0455:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +0456:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +0457:0000000000000000000000000C300C300C300C300000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +0458:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +0459:0000000000000000000000000000000000000000000000000F801F803980318031F831FC318E3186318631863186318E71FC61F8000000000000000000000000 +045A:000000000000000000000000000000000000000000000000618061806180618061F861FC7F8E7F86618661866186618E61FC61F8000000000000000000000000 +045B:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +045C:000000000000000000000000007000E001C0038000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +045D:0000000000000000000000000E000700038001C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +045E:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +045F:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C3FFC3FFC018001800180018001800000 +0462:00000000000000000000000030003000FF00FF00300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000 +0463:0000000000000000000000000C000C000C000C003FC03FC00C000C000C000C000FF00FF80C1C0C0C0C0C0C0C0C0C0C1C0FF80FF0000000000000000000000000 +046A:0000000000000000000000003FFC3FFC300C181818180C300C30066003C007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000 +046B:0000000000000000000000000000000000000000000000003FFC3FFC300C381C1C380E7007E00FF01DB8399C318C318C318C318C000000000000000000000000 +0490:00000000000C000C000C000C3FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000 +0491:00000000000000000000000000000000000C000C000C000C3FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000 +0492:0000000000000000000000003FFC3FFC30003000300030003000300030007F807F80300030003000300030003000300030003000000000000000000000000000 +0493:0000000000000000000000000000000000000000000000003FFC3FFC30003000300030007F807F80300030003000300030003000000000000000000000000000 +0494:0000000000000000000000003FFC3FFC300030003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C000C000C0018003000000000 +0495:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003FC03FE03070303030303030303000300030006000C000000000 +0496:000000000000000000000000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318E318F000300030003000300030000 +0497:000000000000000000000000000000000000000000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318E318F000300030003000300030000 +0498:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0018001800180018001800000 +0499:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0018001800180018001800000 +049A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300E000600060006000600060000 +049B:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000C000C000C000C000C0000 +049C:000000000000000000000000600C600C601C60386C706CE06DC06F806F007E007E006F006F806DC06CE06C706038601C600C600C000000000000000000000000 +049D:000000000000000000000000000000000000000000000000300C301C3638367036E037C03F803F8037C036E036703638301C300C000000000000000000000000 +04A0:000000000000000000000000F00CF01C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +04A1:000000000000000000000000000000000000000000000000781C7838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +04A2:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300E300F000300030003000300030000 +04A3:000000000000000000000000000000000000000000000000300C300C300C300C300C300C3FFC3FFC300C300C300C300C300E300F000300030003000300030000 +04A4:000000000000000000000000607F607F60606060606060606060606060607FE07FE0606060606060606060606060606060606060000000000000000000000000 +04A5:000000000000000000000000000000000000000000000000607F607F60606060606060607FE07FE0606060606060606060606060000000000000000000000000 +04AA:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0018001800180018001800000 +04AB:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0018001800180018001800000 +04AE:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +04AF:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001800180018001800180018001800000 +04B0:000000000000000000000000300C300C300C181818180C300C300660066003C003C001801FF81FF8018001800180018001800180000000000000000000000000 +04B1:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001801FF81FF801800180018001800000 +04B2:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300E300F000300030003000300030000 +04B3:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300E300F000300030003000300030000 +04B6:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000E000F000300030003000300030000 +04B7:000000000000000000000000000000000000000000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000E000F000300030003000300030000 +04B8:000000000000000000000000300C300C300C300C300C300C318C318C318C398C1FFC0FFC018C018C018C018C000C000C000C000C000000000000000000000000 +04B9:000000000000000000000000000000000000000000000000300C300C300C318C318C398C1FFC0FFC018C018C018C000C000C000C000000000000000000000000 +04BA:000000000000000000000000300030003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C000000000000000000000000 +04BB:000000000000000000000000000000000000000000000000300030003000300030003FF03FF8301C300C300C300C300C300C300C000000000000000000000000 +04C0:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +04C1:00000C300C3007E003C00000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000 +04C2:0000000000000000000000000C300C3007E003C000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000 +04CF:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +04D0:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +04D1:0000000000000000000000000C300C3007E003C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +04D2:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +04D3:0000000000000000000000000C300C300C300C30000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +04D4:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C07FFE7FFE60C060C060C060C060C060C060C060FF60FF000000000000000000000000 +04D5:0000000000000000000000000000000000000000000000003EF83FFC018E018601861F863FFE71FE61806180618071C63FFE1F7C000000000000000000000000 +04D6:00000C300C3007E003C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +04D7:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +04D8:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04D9:0000000000000000000000000000000000000000000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +04DA:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04DB:0000000000000000000000000C300C300C300C30000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +04DC:00000C300C300C300C300000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000 +04DD:0000000000000000000000000C300C300C300C3000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000 +04DE:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +04DF:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0000000000000000000000000 +04E2:000000000FF00FF000000000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +04E3:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +04E4:00000C300C300C300C300000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +04E5:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +04E6:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04E7:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04E8:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04E9:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +04EA:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04EB:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +04EC:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C000C07FC07FC000C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +04ED:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C000C000C03FC03FC000C000C300C381C1FF80FF0000000000000000000000000 +04EE:000000000FF00FF000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +04EF:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +04F0:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +04F1:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +04F2:000001CE039C07380E700000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +04F3:00000000000000000000000001CE039C07380E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +04F4:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000C000C000000000000000000000000 +04F5:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000000000000000000000000 +04F8:00000C300C300C300C300000600C600C600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000 +04F9:0000000000000000000000000C300C300C300C3000000000600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000 +1E0C:0000000000000000000000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000003000300030003000000 +1E0D:000000000000000000000000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000C000C000C000C00000 +1E34:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000FF00FF000000000 +1E35:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C0000000007F007F000000000 +1E36:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000001800180018001800000 +1E37:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180018001800000 +1E40:000001800180018001800000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000 +1E41:0000000000000000000000000180018001800180000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000000000000000000000000 +1E42:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000001800180018001800000 +1E43:0000000000000000000000000000000000000000000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000001800180018001800000 +1E44:000001800180018001800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +1E45:0000000000000000000000000180018001800180000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +1E46:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000001800180018001800000 +1E47:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000001800180018001800000 +1E6C:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000001800180018001800000 +1E6D:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000300030003000300000 +1EB8:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000001800180018001800000 +1EB9:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000001800180018001800000 +1EBC:00000F181B9819D818F000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +1EBD:0000000000000000000000000F181B9819D818F0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +1ECA:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180018001800000 +1ECB:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000001800180018001800000 +1ECC:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000 +1ECD:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000 +1EE4:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000 +1EE5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000C000C000C000C00000 +1EF8:00000F181B9819D818F00000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +1EF9:0000000000000000000000000F181B9819D818F000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +2000:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2001:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2002:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2003:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2004:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2005:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2006:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2007:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2008:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2009:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200A:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200B:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200C:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200D:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200F:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2010:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +2011:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +2012:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000 +2013:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000 +2014:0000000000000000000000000000000000000000000000000000000000007FFC7FFC000000000000000000000000000000000000000000000000000000000000 +2015:0000000000000000000000000000000000000000000000000000000000007FFC7FFC000000000000000000000000000000000000000000000000000000000000 +2016:00000000000000000000000006600660066006600660066006600660066006600660066006600660066006600660066006600660000000000000000000000000 +2017:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFC3FFC000000003FFC3FFC +2018:000000000000000000C000C001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2019:00000000000000000180018001800180030003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +201A:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180030003000000000000000000 +201B:0000000000000000018001800180018000C000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +201C:0000000000000000061806180C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +201D:000000000000000006180618061806180C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +201E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C300C300C300C30186018600000000000000000 +201F:000000000000000018601860186018600C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2020:00000000000000000000000001800180018001801FF81FF801800180018001800180018001800180018001800180018001800180000000000000000000000000 +2021:00000000000000000000000001800180018001801FF81FF8018001800180018001800180018001801FF81FF80180018001800180000000000000000000000000 +2022:000000000000000000000000000000000000000000000000000003C007E007E007E007E003C00000000000000000000000000000000000000000000000000000 +2026:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000318C318C318C318C000000000000000000000000 +2030:0000000000000000000000001C303E30366036603EC01CC00180018003000300060006000C000C0019DC1BFE3376337663FE61DC000000000000000000000000 +2032:000000000000000001C001C001C00180018001800180018000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2033:00000000000000001C701C701C701860186018601860186000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2039:000000000000000000000000000000000000000000000000007000E001C0038007000E001C001C000E000700038001C000E00070000000000000000000000000 +203A:0000000000000000000000000000000000000000000000001C000E000700038001C000E00070007000E001C0038007000E001C00000000000000000000000000 +203C:0000000000000000000000000C300C300C300C300C300C300C300C300C300C300C300C300C300000000000000C300C300C300C30000000000000000000000000 +203E:000000003FFC3FFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2070:00000000000003C007E00C300C300C300C300C300C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000 +2071:01800180018000000780078001800180018001800180018007E007E0000000000000000000000000000000000000000000000000000000000000000000000000 +2074:0000000000000030007000F001F003B007300E300FF00FF000300030000000000000000000000000000000000000000000000000000000000000000000000000 +2075:0000000000000FE00FE00C000C000FE00FF0003000300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000 +2076:00000000000003E007E00C000C000FE00FF00C300C300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000 +2077:0000000000000FF00FF00C3000300060006000C000C0018001800180000000000000000000000000000000000000000000000000000000000000000000000000 +2078:00000000000007E00FF00C300C300FF007E00C300C300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000 +2079:00000000000007E00FF00C300C300C300FF007F00030003007E007C0000000000000000000000000000000000000000000000000000000000000000000000000 +207A:000000000000000000000180018001800FF00FF00180018001800000000000000000000000000000000000000000000000000000000000000000000000000000 +207B:000000000000000000000000000000001FF01FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +207C:000000000000000000001FF01FF00000000000001FF01FF000000000000000000000000000000000000000000000000000000000000000000000000000000000 +207D:00000000000000C001800300030003000300030003000300018000C0000000000000000000000000000000000000000000000000000000000000000000000000 +207E:0000000000000300018000C000C000C000C000C000C000C001800300000000000000000000000000000000000000000000000000000000000000000000000000 +207F:00000000000000001FC01FE018301830183018301830183018301830000000000000000000000000000000000000000000000000000000000000000000000000 +2080:00000000000000000000000000000000000000000000000000000000000000000000000003C007E00C300C300C300C300C300C300C3007E003C0000000000000 +2081:00000000000000000000000000000000000000000000000000000000000000000000000001800380078007800180018001800180018007E007E0000000000000 +2082:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C30007000E001C0038007000FF00FF0000000000000 +2083:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C30003001E001E0003000300C300FF007E0000000000000 +2084:0000000000000000000000000000000000000000000000000000000000000000000000000030007000F001F003B007300E300FF00FF000300030000000000000 +2085:0000000000000000000000000000000000000000000000000000000000000000000000000FE00FE00C000C000FE00FF0003000300C300FF007E0000000000000 +2086:00000000000000000000000000000000000000000000000000000000000000000000000003E007E00C000C000FE00FF00C300C300C300FF007E0000000000000 +2087:0000000000000000000000000000000000000000000000000000000000000000000000000FF00FF00C3000300060006000C000C0018001800180000000000000 +2088:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C300FF007E00C300C300C300FF007E0000000000000 +2089:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C300C300FF007F00030003007E007C0000000000000 +208A:000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800FF00FF00180018001800000000000000000 +208B:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001FF01FF00000000000000000000000000000 +208C:000000000000000000000000000000000000000000000000000000000000000000000000000000001FF01FF00000000000001FF01FF000000000000000000000 +208D:00000000000000000000000000000000000000000000000000000000000000000000000000C001800300030003000300030003000300018000C0000000000000 +208E:0000000000000000000000000000000000000000000000000000000000000000000000000300018000C000C000C000C000C000C000C001800300000000000000 +2090:00000000000000000000000000000000000000000000000000000000000000000000000000000FC00FE0003000300FF01FF0183018301FF00FF0000000000000 +2091:000000000000000000000000000000000000000000000000000000000000000000000000000007C00FE0183018301FF01FF0180018000FF007E0000000000000 +2092:000000000000000000000000000000000000000000000000000000000000000000000000000007C00FE01830183018301830183018300FE007C0000000000000 +2093:000000000000000000000000000000000000000000000000000000000000000000000000000018301C700EE007C00380038007C00EE01C701830000000000000 +2094:00000000000000000000000000000000000000000000000000000000000000000000000000000FC01FE0003000301FF01FF0183018300FE007C0000000000000 +2095:00000000000000000000000000000000000000000000000000000000000018001800180018001FC01FE018301830183018301830183018301830000000000000 +2096:0000000000000000000000000000000000000000000000000000000000000C000C000C000C000C380C700CE00DC00F800F800DC00CE00C700C38000000000000 +2097:00000000000000000000000000000000000000000000000000000000000007800780018001800180018001800180018001800180018007E007E0000000000000 +2098:00000000000000000000000000000000000000000000000000000000000000000000000000003FF03FF8318C318C318C318C318C318C318C318C000000000000 +209A:00000000000000000000000000000000000000000000000000000000000000000000000000001FC01FE01830183018301830183018301FE01FC0180018001800 +20A7:0000000000000000000000007F007F8061C060C060C060C060C060C061C07FB07F30603061FE61FE6030603060306030603E601E000000000000000000000000 +20AC:00000000000000000000000003F007F80E1C1C0E380030003000FFC0FFC030003000FFC0FFC03000300038001C0E0E1C07F803F0000000000000000000000000 +20AE:0000000000000000000000003FFC3FFC0180018001800180018001B801F003C00FB81DF003C00F801D8001800180018001800180000000000000000000000000 +2102:0000000000000000000000000FF01FF83E1C360C360C3600360036003600360036003600360036003600360C360C3E1C1FF80FF0000000000000000000000000 +210E:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +210F:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +2115:000000000000000000000000300C300C300C300C380C3C0C360C3B0C3D8C36CC336C31BC30DC306C303C301C300C300C300C300C000000000000000000000000 +2116:000000000000000000000000C180C19CC1BEE1B6E1B6F1BEF19CF980D980DD80CD80CF80C780C7BEC3BEC380C1BEC1BEC180C180000000000000000000000000 +211A:0000000000000000000000000FF01FF83E1C360C360C360C360C360C360C360C360C360C360C360C360C360C36CC3EFC1FF80FF8001C000E0000000000000000 +211D:0000000000000000000000003FF03FF8361C360C360C360C360C360C360C361C37F837F036C0376037B036D8366C3636361A3E0E000000000000000000000000 +2122:0000000000000000000000007E827EC618FE18D618C618C618C618C6000000000000000000000000000000000000000000000000000000000000000000000000 +2124:0000000000000000000000003FFC3FFC000C000C001C003C006C00D801B0036006C00D801B0036003C003800300030003FFC3FFC000000000000000000000000 +2126:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000 +2135:00000000000000000000000030303030181818180C0C0C0C06060E0E1F1C3B3871F061E060C060C0606060606030703038181C18000000000000000000000000 +2190:0000000000000000000000000000000000000000030007000E001C0038007FFE7FFE38001C000E00070003000000000000000000000000000000000000000000 +2191:000000000000000000000000018003C007E00FF01DB8399C318C0180018001800180018001800180018001800180018001800180000000000000000000000000 +2192:000000000000000000000000000000000000000000C000E000700038001C7FFE7FFE001C0038007000E000C00000000000000000000000000000000000000000 +2193:0000000000000000000000000180018001800180018001800180018001800180018001800180318C399C1DB80FF007E003C00180000000000000000000000000 +2194:000000000000000000000000000000000000000006600E701C38381C700EFFFFFFFF700E381C1C380E7006600000000000000000000000000000000000000000 +2195:000000000000000000000000018003C007E00FF01DB8399C318C018001800180018001800180318C399C1DB80FF007E003C00180000000000000000000000000 +21A4:0000000000000000000000000000000000000000030607060E061C0638067FFE7FFE38061C060E06070603060000000000000000000000000000000000000000 +21A6:000000000000000000000000000000000000000060C060E060706038601C7FFE7FFE601C6038607060E060C00000000000000000000000000000000000000000 +21A8:000000000000000000000000018003C007E00FF01DB8399C318C0180018001800180318C399C1DB80FF007E003C001803FFC3FFC000000000000000000000000 +21B5:000000000000000000000000000C000C000C000C000C000C000C000C030C070C0E0C1C0C380C7FFC7FFC38001C000E0007000300000000000000000000000000 +21BB:0000000000000000000000000000000000007F007F001F003B183318630C600C600C600C600C301838381FF00FE0000000000000000000000000000000000000 +21CB:0000000000000000000000000000000000000800180038007000FFFEFFFE00000000FFFEFFFE001C003800300020000000000000000000000000000000000000 +21CC:000000000000000000000000000000000000002000300038001CFFFEFFFE00000000FFFEFFFE7000380018000800000000000000000000000000000000000000 +21D0:000000000000000000000000000000000000000006000E001C003FFE7FFEF000F0007FFE3FFE1C000E0006000000000000000000000000000000000000000000 +21D1:000000000000000000000000018003C007E00FF01E783E7C366C0660066006600660066006600660066006600660066006600660000000000000000000000000 +21D2:000000000000000000000000000000000000000000C000E00070FFF8FFFC001E001EFFFCFFF8007000E000C00000000000000000000000000000000000000000 +21D3:0000000000000000000000000660066006600660066006600660066006600660066006600660366C3E7C1E780FF007E003C00180000000000000000000000000 +21D4:000000000000000000000000000000000000000006600E701C383FFC7FFEF00FF00F7FFE3FFC1C380E7006600000000000000000000000000000000000000000 +21D5:000000000000000000000000018003C007E00FF01E783E7C366C066006600660066006600660366C3E7C1E780FF007E003C00180000000000000000000000000 +2200:000000000000000000000000600C600C600C600C301830183FF83FF81830183018300C600C600C6006C006C006C0038003800380000000000000000000000000 +2203:0000000000000000000000003FFC3FFC000C000C000C000C000C000C000C3FFC3FFC000C000C000C000C000C000C000C3FFC3FFC000000000000000000000000 +2204:000000000000000C000C001C3FFC3FFC003C006C006C00CC00CC018C018C3FFC3FFC030C030C060C060C0C0C0C0C180C3FFC3FFC300060006000000000000000 +2205:00000000000000000000000000180018003000300FE01FF030D830D83198319833183318361836181FF00FE01800180030003000000000000000000000000000 +2206:00000000000000000000000001800180018003C003C003C00660066006600C300C300C30181818181818300C300C300C3FFC3FFC000000000000000000000000 +2207:0000000000000000000000003FFC3FFC300C300C300C1818181818180C300C300C3006600660066003C003C003C0018001800180000000000000000000000000 +2208:00000000000000000000000001FC07FC0E001800180030003000300030003FFC3FFC3000300030003000180018000E0007FC01FC000000000000000000000000 +2209:00000000000000060006000C01FC07FC0E18183018303060306030C030C03FFC3FFC318031803300330016001E000E000FFC19FC180030003000000000000000 +220A:00000000000000000000000000000000000003FC0FFC1C001800300030003FFC3FFC3000300018001C000FFC03FC000000000000000000000000000000000000 +220B:0000000000000000000000003F803FE0007000180018000C000C000C000C3FFC3FFC000C000C000C000C0018001800703FE03F80000000000000000000000000 +220C:0000000000006000600030003F803FE018700C180C18060C060C030C030C3FFC3FFC018C018C00CC00CC0068007800703FF03F980018000C000C000000000000 +220D:0000000000000000000000000000000000003FC03FF000380018000C000C3FFC3FFC000C000C001800383FF03FC0000000000000000000000000000000000000 +2212:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000 +2213:00000000000000000000000000000000000000003FFC3FFC00000000018001800180018001803FFC3FFC01800180018001800180000000000000000000000000 +2214:00000000000000000000000000000000018001800180018000000000018001800180018001803FFC3FFC01800180018001800180000000000000000000000000 +2215:0000000000000000000000000000000000000000000C001C0038007000E001C0038007000E001C00380070006000000000000000000000000000000000000000 +2216:00000000000000000000000000000000000000006000700038001C000E000700038001C000E000700038001C000C000000000000000000000000000000000000 +2219:0000000000000000000000000000000000000000000000000000038007C007C007C0038000000000000000000000000000000000000000000000000000000000 +221A:000000000000001E001E001800180018001800180018001800180018001830183018301838181C180E180718039801D800F80078000000000000000000000000 +221E:000000000000000000000000000000000000000000001E783FFC73CE618661866186618673CE3FFC1E7800000000000000000000000000000000000000000000 +221F:000000000000000000000000000000000000000030003000300030003000300030003000300030003FFC3FFC0000000000000000000000000000000000000000 +2225:00000000000000000000000006600660066006600660066006600660066006600660066006600660066006600660066006600660000000000000000000000000 +2227:0000000000000000000000000000000000000000000000000180018003C003C0066006600C300C300C30181818181818300C300C000000000000000000000000 +2228:000000000000000000000000000000000000000000000000300C300C1818181818180C300C300C300660066003C003C001800180000000000000000000000000 +2229:000000000000000000000000000000000000000007E00FF01C381818300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +222A:0000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C18181C380FF007E0000000000000000000000000 +2248:000000000000000000000000000000000000000000001F0C3F9C39FC30F8000000001F0C3F9C39FC30F800000000000000000000000000000000000000000000 +2260:0000000000000000000000000000000000000000001C00387FFC7FFC00E001C0038007007FFC7FFC380070000000000000000000000000000000000000000000 +2261:0000000000000000000000000000000000003FFC3FFC00000000000000003FFC3FFC00000000000000003FFC3FFC000000000000000000000000000000000000 +2264:0000000000000000000000000038007000E001C0038007000E001C001C000E000700038001C000E000700038000000003FFC3FFC000000000000000000000000 +2265:0000000000000000000000001C000E000700038001C000E0007000380038007000E001C0038007000E001C00000000003FFC3FFC000000000000000000000000 +226A:000000000000000000000000000000C301C7038E071C0E381C7038E071C0E380E38071C038E01C700E38071C038E01C700C30000000000000000000000000000 +226B:0000000000000000000000000000C300E38071C038E01C700E38071C038E01C701C7038E071C0E381C7038E071C0E380C3000000000000000000000000000000 +2282:00000000000000000000000000000000000007FC1FFC38007000600060006000600060006000700038001FFC07FC000000000000000000000000000000000000 +2283:0000000000000000000000000000000000007FC07FF00038001C000C000C000C000C000C000C001C00387FF07FC0000000000000000000000000000000000000 +2286:000000000000000000000000000007FC1FFC38007000600060006000600060006000700038001FFC07FC000000007FFC7FFC0000000000000000000000000000 +2287:00000000000000000000000000007FC07FF00038001C000C000C000C000C000C000C001C00387FF07FC0000000007FFC7FFC0000000000000000000000000000 +22A5:0000000000000000000000000000000000000000018001800180018001800180018001800180018001800180018001803FFC3FFC000000000000000000000000 +22C2:00000000000000000000000007E00FF01C381818300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +22C3:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C18181C380FF007E0000000000000000000000000 +2300:00000000000000000000000000180018003000300FE01FF030D830D83198319833183318361836181FF00FE01800180030003000000000000000000000000000 +2302:0000000000000000000000000000000000000000018003C007E00E701C38381C700E60066006600660066006600660067FFE7FFE000000000000000000000000 +2308:0000000000000000000000000FE00FE00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C00000000000000000000000000 +2309:0000000000000000000000000FE00FE0006000600060006000600060006000600060006000600060006000600060006000600060000000000000000000000000 +230A:0000000000000000000000000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000FE00FE0000000000000000000000000 +230B:0000000000000000000000000060006000600060006000600060006000600060006000600060006000600060006000600FE00FE0000000000000000000000000 +2310:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003000000000000000000000000000000000000000000000000000 +2319:0000000000000000000000000000000000000000000000003000300030003000300030003FFC3FFC000000000000000000000000000000000000000000000000 +2320:00000000000000000000000000F801FC018C018C0180018001800180018001800180018001800180018001800180018001800180018001800180018001800180 +2321:0180018001800180018001800180018001800180018001800180018001800180018001800180018001800180318031803F801F00000000000000000000000000 +239B:00180030006000C001800180030003000600060006000C000C000C000C0018001800180018001800180018001800180018001800180018001800180018001800 +239C:18001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800 +239D:180018001800180018001800180018001800180018001800180018001800180018000C000C000C000C00060006000600030003000180018000C0006000300018 +239E:18000C00060003000180018000C000C0006000600060003000300030003000180018001800180018001800180018001800180018001800180018001800180018 +239F:00180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018 +23A0:00180018001800180018001800180018001800180018001800180018001800180018003000300030003000600060006000C000C001800180030006000C001800 +23A1:1FF81FF8180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800 +23A2:18001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800 +23A3:1800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001FF81FF8 +23A4:1FF81FF8001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018 +23A5:00180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018 +23A6:0018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800181FF81FF8 +23A7:007E01FE038003000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600 +23A8:06000600060006000600060006000600060006000600060006000E001C00F800F8001C000E000600060006000600060006000600060006000600060006000600 +23A9:06000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000300038001FE007E +23AB:FC00FF000380018000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0 +23AC:00C000C000C000C000C000C000C000C000C000C000C000C000C000C00060003E003E006000C000C000C000C000C000C000C000C000C000C000C000C000C000C0 +23AD:00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C001800380FF00FC00 +23AE:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180 +23AF:000000000000000000000000000000000000000000000000000000000000FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +23BA:FFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +23BB:00000000000000000000000000000000FFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +23BC:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000 +23BD:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF +23D0:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180 +2409:0000000000000000000000006180618061807F807F8061806180618061800000000003FC03FC0060006000600060006000600060000000000000000000000000 +240A:00000000000000000000000060006000600060006000600060007F807F800000000003FC03FC0300030003F003F0030003000300000000000000000000000000 +240B:00000000000000000000000061806180618061806180618033001E000C000000000003FC03FC0060006000600060006000600060000000000000000000000000 +240C:0000000000000000000000007F807F80600060007E007E006000600060000000000003FC03FC0300030003F003F0030003000300000000000000000000000000 +240D:0000000000000000000000003F007F80618060006000600061807F803F000000000003F803FC030C030C03F803E003700338031C000000000000000000000000 +2424:00000000000000000000000061806180718079806D80678063806180618000000000030003000300030003000300030003FC03FC000000000000000000000000 +2500:000000000000000000000000000000000000000000000000000000000000FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +2501:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000 +2502:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180 +2503:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2508:000000000000000000000000000000000000000000000000000000000000F7DEF7DE000000000000000000000000000000000000000000000000000000000000 +2509:00000000000000000000000000000000000000000000000000000000F7DEF7DEF7DEF7DE00000000000000000000000000000000000000000000000000000000 +250A:01800180018001800180018000000000018001800180018001800180000000000180018001800180018001800000000001800180018001800180018000000000 +250B:03C003C003C003C003C003C00000000003C003C003C003C003C003C00000000003C003C003C003C003C003C00000000003C003C003C003C003C003C000000000 +250C:00000000000000000000000000000000000000000000000000000000000001FF01FF018001800180018001800180018001800180018001800180018001800180 +250D:0000000000000000000000000000000000000000000000000000000001FF01FF01FF01FF01800180018001800180018001800180018001800180018001800180 +250E:00000000000000000000000000000000000000000000000000000000000003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +250F:0000000000000000000000000000000000000000000000000000000003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2510:000000000000000000000000000000000000000000000000000000000000FF80FF80018001800180018001800180018001800180018001800180018001800180 +2511:00000000000000000000000000000000000000000000000000000000FF80FF80FF80FF8001800180018001800180018001800180018001800180018001800180 +2512:000000000000000000000000000000000000000000000000000000000000FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2513:00000000000000000000000000000000000000000000000000000000FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2514:01800180018001800180018001800180018001800180018001800180018001FF01FF000000000000000000000000000000000000000000000000000000000000 +2515:0180018001800180018001800180018001800180018001800180018001FF01FF01FF01FF00000000000000000000000000000000000000000000000000000000 +2516:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF000000000000000000000000000000000000000000000000000000000000 +2517:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF00000000000000000000000000000000000000000000000000000000 +2518:018001800180018001800180018001800180018001800180018001800180FF80FF80000000000000000000000000000000000000000000000000000000000000 +2519:01800180018001800180018001800180018001800180018001800180FF80FF80FF80FF8000000000000000000000000000000000000000000000000000000000 +251A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0000000000000000000000000000000000000000000000000000000000000 +251B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC000000000000000000000000000000000000000000000000000000000 +251C:01800180018001800180018001800180018001800180018001800180018001FF01FF018001800180018001800180018001800180018001800180018001800180 +251D:0180018001800180018001800180018001800180018001800180018001FF01FF01FF01FF01800180018001800180018001800180018001800180018001800180 +251E:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF018001800180018001800180018001800180018001800180018001800180 +251F:01800180018001800180018001800180018001800180018001800180018003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2520:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2521:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF01800180018001800180018001800180018001800180018001800180 +2522:0180018001800180018001800180018001800180018001800180018003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2523:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2524:018001800180018001800180018001800180018001800180018001800180FF80FF80018001800180018001800180018001800180018001800180018001800180 +2525:01800180018001800180018001800180018001800180018001800180FF80FF80FF80FF8001800180018001800180018001800180018001800180018001800180 +2526:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0018001800180018001800180018001800180018001800180018001800180 +2527:018001800180018001800180018001800180018001800180018001800180FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2528:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2529:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC001800180018001800180018001800180018001800180018001800180 +252A:01800180018001800180018001800180018001800180018001800180FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +252B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +252C:000000000000000000000000000000000000000000000000000000000000FFFFFFFF018001800180018001800180018001800180018001800180018001800180 +252D:00000000000000000000000000000000000000000000000000000000FF80FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180 +252E:0000000000000000000000000000000000000000000000000000000001FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180 +252F:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180 +2530:000000000000000000000000000000000000000000000000000000000000FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2531:00000000000000000000000000000000000000000000000000000000FFC0FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2532:0000000000000000000000000000000000000000000000000000000003FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2533:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2534:018001800180018001800180018001800180018001800180018001800180FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +2535:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFF8000000000000000000000000000000000000000000000000000000000 +2536:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF01FF00000000000000000000000000000000000000000000000000000000 +2537:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000 +2538:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +2539:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFFC000000000000000000000000000000000000000000000000000000000 +253A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF03FF00000000000000000000000000000000000000000000000000000000 +253B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000 +253C:018001800180018001800180018001800180018001800180018001800180FFFFFFFF018001800180018001800180018001800180018001800180018001800180 +253D:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180 +253E:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180 +253F:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180 +2540:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF018001800180018001800180018001800180018001800180018001800180 +2541:018001800180018001800180018001800180018001800180018001800180FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2542:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2543:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180 +2544:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180 +2545:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2546:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2547:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180 +2548:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2549:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +254A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +254B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2550:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000000000000000 +2551:06600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660 +2552:000000000000000000000000000000000000000000000000000001FF01FF0180018001FF01FF0180018001800180018001800180018001800180018001800180 +2553:00000000000000000000000000000000000000000000000000000000000007FF07FF066006600660066006600660066006600660066006600660066006600660 +2554:000000000000000000000000000000000000000000000000000007FF07FF06000600067F067F0660066006600660066006600660066006600660066006600660 +2555:0000000000000000000000000000000000000000000000000000FF80FF8001800180FF80FF800180018001800180018001800180018001800180018001800180 +2556:000000000000000000000000000000000000000000000000000000000000FFE0FFE0066006600660066006600660066006600660066006600660066006600660 +2557:0000000000000000000000000000000000000000000000000000FFE0FFE000600060FE60FE600660066006600660066006600660066006600660066006600660 +2558:018001800180018001800180018001800180018001800180018001FF01FF0180018001FF01FF0000000000000000000000000000000000000000000000000000 +2559:06600660066006600660066006600660066006600660066006600660066007FF07FF000000000000000000000000000000000000000000000000000000000000 +255A:0660066006600660066006600660066006600660066006600660067F067F0600060007FF07FF0000000000000000000000000000000000000000000000000000 +255B:0180018001800180018001800180018001800180018001800180FF80FF8001800180FF80FF800000000000000000000000000000000000000000000000000000 +255C:066006600660066006600660066006600660066006600660066006600660FFE0FFE0000000000000000000000000000000000000000000000000000000000000 +255D:0660066006600660066006600660066006600660066006600660FE60FE6000600060FFE0FFE00000000000000000000000000000000000000000000000000000 +255E:018001800180018001800180018001800180018001800180018001FF01FF0180018001FF01FF0180018001800180018001800180018001800180018001800180 +255F:066006600660066006600660066006600660066006600660066006600660067F067F066006600660066006600660066006600660066006600660066006600660 +2560:0660066006600660066006600660066006600660066006600660067F067F06000600067F067F0660066006600660066006600660066006600660066006600660 +2561:0180018001800180018001800180018001800180018001800180FF80FF8001800180FF80FF800180018001800180018001800180018001800180018001800180 +2562:066006600660066006600660066006600660066006600660066006600660FE60FE60066006600660066006600660066006600660066006600660066006600660 +2563:0660066006600660066006600660066006600660066006600660FE60FE6000600060FE60FE600660066006600660066006600660066006600660066006600660 +2564:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FFFFFFFF0180018001800180018001800180018001800180018001800180 +2565:000000000000000000000000000000000000000000000000000000000000FFFFFFFF066006600660066006600660066006600660066006600660066006600660 +2566:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FE7FFE7F0660066006600660066006600660066006600660066006600660 +2567:0180018001800180018001800180018001800180018001800180FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000000000000000 +2568:066006600660066006600660066006600660066006600660066006600660FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +2569:0660066006600660066006600660066006600660066006600660FE7FFE7F00000000FFFFFFFF0000000000000000000000000000000000000000000000000000 +256A:0180018001800180018001800180018001800180018001800180FFFFFFFF01800180FFFFFFFF0180018001800180018001800180018001800180018001800180 +256B:066006600660066006600660066006600660066006600660066006600660FFFFFFFF066006600660066006600660066006600660066006600660066006600660 +256C:0660066006600660066006600660066006600660066006600660FE7FFE7F00000000FE7FFE7F0660066006600660066006600660066006600660066006600660 +256D:000000000000000000000000000000000000000000000000000000000000000F003F007800E000C001C001800180018001800180018001800180018001800180 +256E:000000000000000000000000000000000000000000000000000000000000F000FC001E0007000300038001800180018001800180018001800180018001800180 +256F:018001800180018001800180018001800180018001800380030007001E00FC00F000000000000000000000000000000000000000000000000000000000000000 +2570:0180018001800180018001800180018001800180018001C000C000E00078003F000F000000000000000000000000000000000000000000000000000000000000 +2571:00010003000300060006000C000C00180018003000300060006000C000C00180018003000300060006000C000C00180018003000300060006000C000C0008000 +2572:8000C000C0006000600030003000180018000C000C0006000600030003000180018000C000C0006000600030003000180018000C000C00060006000300030001 +2573:8001C003C00360066006300C300C181818180C300C300660066003C003C00180018003C003C0066006600C300C3018181818300C300C60066006C003C0038001 +2574:000000000000000000000000000000000000000000000000000000000000FF80FF80000000000000000000000000000000000000000000000000000000000000 +2575:01800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000000000000000000000000000000000000000 +2576:00000000000000000000000000000000000000000000000000000000000001FF01FF000000000000000000000000000000000000000000000000000000000000 +2577:00000000000000000000000000000000000000000000000000000000000001800180018001800180018001800180018001800180018001800180018001800180 +2578:00000000000000000000000000000000000000000000000000000000FF80FF80FF80FF8000000000000000000000000000000000000000000000000000000000 +2579:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0000000000000000000000000000000000000000000000000000000000000 +257A:0000000000000000000000000000000000000000000000000000000001FF01FF01FF01FF00000000000000000000000000000000000000000000000000000000 +257B:00000000000000000000000000000000000000000000000000000000000003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +257C:0000000000000000000000000000000000000000000000000000000001FFFFFFFFFF01FF00000000000000000000000000000000000000000000000000000000 +257D:01800180018001800180018001800180018001800180018001800180018003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +257E:00000000000000000000000000000000000000000000000000000000FF80FFFFFFFFFF8000000000000000000000000000000000000000000000000000000000 +257F:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0018001800180018001800180018001800180018001800180018001800180 +2580:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000 +2581:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF +2582:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2583:00000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2584:0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2585:000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2586:00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2587:0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2588:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2589:FFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFC +258A:FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0 +258B:FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0 +258C:FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 +258D:FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00 +258E:F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000 +258F:C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000 +2590:00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF +2591:AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000 +2592:AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555 +2593:FFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAA +2596:0000000000000000000000000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable@freebsd.org Sun Mar 4 23:25:26 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C8188F3DDA0; Sun, 4 Mar 2018 23:25:26 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 73C8175E16; Sun, 4 Mar 2018 23:25:26 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 676881BFF7; Sun, 4 Mar 2018 23:25:26 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NPQkx044741; Sun, 4 Mar 2018 23:25:26 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NPQj7044740; Sun, 4 Mar 2018 23:25:26 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042325.w24NPQj7044740@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:25:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330420 - stable/11/sys/conf X-SVN-Group: stable-11 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: stable/11/sys/conf X-SVN-Commit-Revision: 330420 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:25:27 -0000 Author: bdrewery Date: Sun Mar 4 23:25:26 2018 New Revision: 330420 URL: https://svnweb.freebsd.org/changeset/base/330420 Log: MFC r325570: AUTO_OBJ: Fix 'old style' kernel builds using wrong .OBJDIR. Modified: stable/11/sys/conf/kern.pre.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/conf/kern.pre.mk ============================================================================== --- stable/11/sys/conf/kern.pre.mk Sun Mar 4 22:14:20 2018 (r330419) +++ stable/11/sys/conf/kern.pre.mk Sun Mar 4 23:25:26 2018 (r330420) @@ -24,6 +24,9 @@ _srcconf_included_: .MAKE.MODE+= curdirOk=yes .endif +# The kernel build always expects .OBJDIR=.CURDIR. +.OBJDIR: ${.CURDIR} + # Can be overridden by makeoptions or /etc/make.conf KERNEL_KO?= kernel KERNEL?= kernel From owner-svn-src-stable@freebsd.org Sun Mar 4 23:28:43 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1D2D7F3E0EF; Sun, 4 Mar 2018 23:28:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BBAB375FF4; Sun, 4 Mar 2018 23:28:42 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AF3151BFF8; Sun, 4 Mar 2018 23:28:42 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NSgnb044990; Sun, 4 Mar 2018 23:28:42 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NSgv1044988; Sun, 4 Mar 2018 23:28:42 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042328.w24NSgv1044988@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:28:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330421 - in stable/11: contrib/netbsd-tests/lib/libc/sys sys/kern X-SVN-Group: stable-11 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: in stable/11: contrib/netbsd-tests/lib/libc/sys sys/kern X-SVN-Commit-Revision: 330421 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:28:43 -0000 Author: bdrewery Date: Sun Mar 4 23:28:42 2018 New Revision: 330421 URL: https://svnweb.freebsd.org/changeset/base/330421 Log: MFC r329271: nanosleep(2): Fix bogus incrementing of rmtp by tc_tick_sbt on [EINTR]. Modified: stable/11/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c stable/11/sys/kern/kern_time.c Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c ============================================================================== --- stable/11/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c Sun Mar 4 23:25:26 2018 (r330420) +++ stable/11/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c Sun Mar 4 23:28:42 2018 (r330421) @@ -50,6 +50,15 @@ handler(int signo __unused) /* Nothing. */ } +static int got_info; +static void +info_handler(int signo __unused) +{ + + got_info = 1; +} + + ATF_TC(nanosleep_basic); ATF_TC_HEAD(nanosleep_basic, tc) { @@ -176,12 +185,84 @@ ATF_TC_BODY(nanosleep_sig, tc) atf_tc_fail("signal did not interrupt nanosleep(2)"); } +ATF_TC(nanosleep_eintr); +ATF_TC_HEAD(nanosleep_eintr, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test [EINTR] for nanosleep(2)"); + atf_tc_set_md_var(tc, "timeout", "7"); +} + +ATF_TC_BODY(nanosleep_eintr, tc) +{ + struct sigaction act; + struct timespec tso, ts; + pid_t pid; + int sta; + + /* + * Test that [EINTR] properly handles rmtp for nanosleep(2). + */ + pid = fork(); + + ATF_REQUIRE(pid >= 0); + + got_info = 0; + + if (pid == 0) { + act.sa_handler = info_handler; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; /* Don't allow restart. */ + ATF_REQUIRE(sigaction(SIGINFO, &act, NULL) == 0); + + tso.tv_sec = 5; + tso.tv_nsec = 0; + + ts.tv_sec = tso.tv_sec; + ts.tv_nsec = tso.tv_nsec; + + errno = 0; + while (nanosleep(&ts, &ts) != 0) { + ATF_REQUIRE_MSG(timespeccmp(&ts, &tso, <=), + "errno=%d ts=%0.9f should be <= last tso=%0.9f\n", + errno, + ts.tv_sec + ts.tv_nsec / 1e9, + tso.tv_sec + tso.tv_nsec / 1e9); + if (errno == EINTR && got_info == 1) { + got_info = 0; + errno = 0; + tso.tv_sec = ts.tv_sec; + tso.tv_nsec = ts.tv_nsec; + continue; + } + _exit(EXIT_FAILURE); + } + + if (errno != 0) + _exit(EXIT_FAILURE); + + _exit(EXIT_SUCCESS); + } + + /* Flood the process with SIGINFO until it exits. */ + do { + for (int i = 0; i < 10; i++) + ATF_REQUIRE(kill(pid, SIGINFO) == 0); + ATF_REQUIRE(usleep(10000) == 0); + } while (waitpid(pid, &sta, WNOHANG) == 0); + + ATF_REQUIRE(WIFEXITED(sta) == 1); + + if (WEXITSTATUS(sta) != EXIT_SUCCESS) + atf_tc_fail("nanosleep(2) handled rtmp incorrectly"); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, nanosleep_basic); ATF_TP_ADD_TC(tp, nanosleep_err); ATF_TP_ADD_TC(tp, nanosleep_sig); + ATF_TP_ADD_TC(tp, nanosleep_eintr); return atf_no_error(); } Modified: stable/11/sys/kern/kern_time.c ============================================================================== --- stable/11/sys/kern/kern_time.c Sun Mar 4 23:25:26 2018 (r330420) +++ stable/11/sys/kern/kern_time.c Sun Mar 4 23:28:42 2018 (r330421) @@ -554,7 +554,8 @@ kern_clock_nanosleep(struct thread *td, clockid_t cloc } while (error == 0 && is_abs_real && td->td_rtcgen == 0); td->td_rtcgen = 0; if (error != EWOULDBLOCK) { - TIMESEL(&sbtt, tmp); + if (TIMESEL(&sbtt, tmp)) + sbtt += tc_tick_sbt; if (sbtt >= sbt) return (0); if (error == ERESTART) From owner-svn-src-stable@freebsd.org Sun Mar 4 23:31:26 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 81AA2F3E3FC; Sun, 4 Mar 2018 23:31:26 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3031E76330; Sun, 4 Mar 2018 23:31:26 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2AF0D1C03C; Sun, 4 Mar 2018 23:31:26 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NVPTO045224; Sun, 4 Mar 2018 23:31:25 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NVPcr045222; Sun, 4 Mar 2018 23:31:25 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042331.w24NVPcr045222@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:31:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330422 - in stable/10: contrib/netbsd-tests/lib/libc/sys sys/kern X-SVN-Group: stable-10 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: in stable/10: contrib/netbsd-tests/lib/libc/sys sys/kern X-SVN-Commit-Revision: 330422 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:31:26 -0000 Author: bdrewery Date: Sun Mar 4 23:31:25 2018 New Revision: 330422 URL: https://svnweb.freebsd.org/changeset/base/330422 Log: MFC r329271: nanosleep(2): Fix bogus incrementing of rmtp by tc_tick_sbt on [EINTR]. Modified: stable/10/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c stable/10/sys/kern/kern_time.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c ============================================================================== --- stable/10/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c Sun Mar 4 23:28:42 2018 (r330421) +++ stable/10/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c Sun Mar 4 23:31:25 2018 (r330422) @@ -50,6 +50,15 @@ handler(int signo __unused) /* Nothing. */ } +static int got_info; +static void +info_handler(int signo __unused) +{ + + got_info = 1; +} + + ATF_TC(nanosleep_basic); ATF_TC_HEAD(nanosleep_basic, tc) { @@ -176,12 +185,84 @@ ATF_TC_BODY(nanosleep_sig, tc) atf_tc_fail("signal did not interrupt nanosleep(2)"); } +ATF_TC(nanosleep_eintr); +ATF_TC_HEAD(nanosleep_eintr, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test [EINTR] for nanosleep(2)"); + atf_tc_set_md_var(tc, "timeout", "7"); +} + +ATF_TC_BODY(nanosleep_eintr, tc) +{ + struct sigaction act; + struct timespec tso, ts; + pid_t pid; + int sta; + + /* + * Test that [EINTR] properly handles rmtp for nanosleep(2). + */ + pid = fork(); + + ATF_REQUIRE(pid >= 0); + + got_info = 0; + + if (pid == 0) { + act.sa_handler = info_handler; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; /* Don't allow restart. */ + ATF_REQUIRE(sigaction(SIGINFO, &act, NULL) == 0); + + tso.tv_sec = 5; + tso.tv_nsec = 0; + + ts.tv_sec = tso.tv_sec; + ts.tv_nsec = tso.tv_nsec; + + errno = 0; + while (nanosleep(&ts, &ts) != 0) { + ATF_REQUIRE_MSG(timespeccmp(&ts, &tso, <=), + "errno=%d ts=%0.9f should be <= last tso=%0.9f\n", + errno, + ts.tv_sec + ts.tv_nsec / 1e9, + tso.tv_sec + tso.tv_nsec / 1e9); + if (errno == EINTR && got_info == 1) { + got_info = 0; + errno = 0; + tso.tv_sec = ts.tv_sec; + tso.tv_nsec = ts.tv_nsec; + continue; + } + _exit(EXIT_FAILURE); + } + + if (errno != 0) + _exit(EXIT_FAILURE); + + _exit(EXIT_SUCCESS); + } + + /* Flood the process with SIGINFO until it exits. */ + do { + for (int i = 0; i < 10; i++) + ATF_REQUIRE(kill(pid, SIGINFO) == 0); + ATF_REQUIRE(usleep(10000) == 0); + } while (waitpid(pid, &sta, WNOHANG) == 0); + + ATF_REQUIRE(WIFEXITED(sta) == 1); + + if (WEXITSTATUS(sta) != EXIT_SUCCESS) + atf_tc_fail("nanosleep(2) handled rtmp incorrectly"); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, nanosleep_basic); ATF_TP_ADD_TC(tp, nanosleep_err); ATF_TP_ADD_TC(tp, nanosleep_sig); + ATF_TP_ADD_TC(tp, nanosleep_eintr); return atf_no_error(); } Modified: stable/10/sys/kern/kern_time.c ============================================================================== --- stable/10/sys/kern/kern_time.c Sun Mar 4 23:28:42 2018 (r330421) +++ stable/10/sys/kern/kern_time.c Sun Mar 4 23:31:25 2018 (r330422) @@ -510,7 +510,8 @@ kern_nanosleep(struct thread *td, struct timespec *rqt if (error != EWOULDBLOCK) { if (error == ERESTART) error = EINTR; - TIMESEL(&sbtt, tmp); + if (TIMESEL(&sbtt, tmp)) + sbtt += tc_tick_sbt; if (rmt != NULL) { ts = sbttots(sbt - sbtt); ts.tv_sec += over; From owner-svn-src-stable@freebsd.org Sun Mar 4 23:32:37 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 959C1F3E6DA; Sun, 4 Mar 2018 23:32:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 480AB76554; Sun, 4 Mar 2018 23:32:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 42E381C182; Sun, 4 Mar 2018 23:32:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NWbsq049994; Sun, 4 Mar 2018 23:32:37 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NWb9G049993; Sun, 4 Mar 2018 23:32:37 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042332.w24NWb9G049993@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:32:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330423 - stable/11/share/mk X-SVN-Group: stable-11 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: stable/11/share/mk X-SVN-Commit-Revision: 330423 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:32:37 -0000 Author: bdrewery Date: Sun Mar 4 23:32:36 2018 New Revision: 330423 URL: https://svnweb.freebsd.org/changeset/base/330423 Log: MFC r325292: META_MODE: Respect make -s. Modified: stable/11/share/mk/sys.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/share/mk/sys.mk ============================================================================== --- stable/11/share/mk/sys.mk Sun Mar 4 23:31:25 2018 (r330422) +++ stable/11/share/mk/sys.mk Sun Mar 4 23:32:36 2018 (r330423) @@ -50,8 +50,11 @@ MK_META_MODE= no .if ${MK_DIRDEPS_BUILD} == "yes" .sinclude .elif ${MK_META_MODE} == "yes" +META_MODE+= meta +.if empty(.MAKEFLAGS:M-s) # verbose will show .MAKE.META.PREFIX for each target. -META_MODE+= meta verbose +META_MODE+= verbose +.endif .if !defined(NO_META_MISSING) META_MODE+= missing-meta=yes .endif From owner-svn-src-stable@freebsd.org Sun Mar 4 23:34:03 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0D624F3E8C0; Sun, 4 Mar 2018 23:34:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B2E4276735; Sun, 4 Mar 2018 23:34:02 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AD62B1C185; Sun, 4 Mar 2018 23:34:02 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NY2ZJ050148; Sun, 4 Mar 2018 23:34:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NY25f050147; Sun, 4 Mar 2018 23:34:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042334.w24NY25f050147@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:34:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330424 - stable/11/share/mk X-SVN-Group: stable-11 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: stable/11/share/mk X-SVN-Commit-Revision: 330424 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:34:03 -0000 Author: bdrewery Date: Sun Mar 4 23:34:02 2018 New Revision: 330424 URL: https://svnweb.freebsd.org/changeset/base/330424 Log: MFC r330127: Allow overriding .MAKE.MAKEFILE_PREFERENCE. Modified: stable/11/share/mk/sys.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/share/mk/sys.mk ============================================================================== --- stable/11/share/mk/sys.mk Sun Mar 4 23:32:36 2018 (r330423) +++ stable/11/share/mk/sys.mk Sun Mar 4 23:34:02 2018 (r330424) @@ -447,7 +447,8 @@ SHELL= ${__MAKE_SHELL} .MAKE.EXPAND_VARIABLES= yes # Tell bmake the makefile preference -.MAKE.MAKEFILE_PREFERENCE= BSDmakefile makefile Makefile +MAKEFILE_PREFERENCE?= BSDmakefile makefile Makefile +.MAKE.MAKEFILE_PREFERENCE= ${MAKEFILE_PREFERENCE} # Tell bmake to always pass job tokens, regardless of target depending on # .MAKE or looking like ${MAKE}/${.MAKE}/$(MAKE)/$(.MAKE)/make. From owner-svn-src-stable@freebsd.org Sun Mar 4 23:34:05 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 73665F3E8DE; Sun, 4 Mar 2018 23:34:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 264267673C; Sun, 4 Mar 2018 23:34:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1EF9A1C186; Sun, 4 Mar 2018 23:34:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NY5E8050195; Sun, 4 Mar 2018 23:34:05 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NY4YH050194; Sun, 4 Mar 2018 23:34:04 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042334.w24NY4YH050194@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:34:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330425 - stable/10/share/mk X-SVN-Group: stable-10 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: stable/10/share/mk X-SVN-Commit-Revision: 330425 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:34:05 -0000 Author: bdrewery Date: Sun Mar 4 23:34:04 2018 New Revision: 330425 URL: https://svnweb.freebsd.org/changeset/base/330425 Log: MFC r330127: Allow overriding .MAKE.MAKEFILE_PREFERENCE. Modified: stable/10/share/mk/sys.mk Directory Properties: stable/10/ (props changed) Modified: stable/10/share/mk/sys.mk ============================================================================== --- stable/10/share/mk/sys.mk Sun Mar 4 23:34:02 2018 (r330424) +++ stable/10/share/mk/sys.mk Sun Mar 4 23:34:04 2018 (r330425) @@ -356,7 +356,8 @@ SHELL= ${__MAKE_SHELL} .MAKE.EXPAND_VARIABLES= yes # Tell bmake the makefile preference -.MAKE.MAKEFILE_PREFERENCE= BSDmakefile makefile Makefile +MAKEFILE_PREFERENCE?= BSDmakefile makefile Makefile +.MAKE.MAKEFILE_PREFERENCE= ${MAKEFILE_PREFERENCE} # By default bmake does *not* use set -e # when running target scripts, this is a problem for many makefiles here. From owner-svn-src-stable@freebsd.org Sun Mar 4 23:35:36 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1213FF3EB3B; Sun, 4 Mar 2018 23:35:36 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B95A8769EF; Sun, 4 Mar 2018 23:35:35 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B46341C188; Sun, 4 Mar 2018 23:35:35 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NZZ5l050334; Sun, 4 Mar 2018 23:35:35 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NZZQm050333; Sun, 4 Mar 2018 23:35:35 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042335.w24NZZQm050333@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:35:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330426 - stable/11 X-SVN-Group: stable-11 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: stable/11 X-SVN-Commit-Revision: 330426 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:35:36 -0000 Author: bdrewery Date: Sun Mar 4 23:35:35 2018 New Revision: 330426 URL: https://svnweb.freebsd.org/changeset/base/330426 Log: MFC r325627: Deal with src.conf for top-level MAKEOBJDIRPREFIX guard. Modified: stable/11/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile ============================================================================== --- stable/11/Makefile Sun Mar 4 23:34:04 2018 (r330425) +++ stable/11/Makefile Sun Mar 4 23:35:35 2018 (r330426) @@ -171,10 +171,11 @@ PATH= /sbin:/bin:/usr/sbin:/usr/bin MAKEOBJDIRPREFIX?= /usr/obj _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} MK_AUTO_OBJ=no ${MAKE} \ ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \ + SRCCONF=${SRCCONF} \ -f /dev/null -V MAKEOBJDIRPREFIX dummy .if !empty(_MAKEOBJDIRPREFIX) .error MAKEOBJDIRPREFIX can only be set in environment, not as a global\ - (in make.conf(5)) or command-line variable. + (in make.conf(5) or src.conf(5)) or command-line variable. .endif # We often need to use the tree's version of make to build it. From owner-svn-src-stable@freebsd.org Sun Mar 4 23:36:50 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8EC7FF3ED77; Sun, 4 Mar 2018 23:36:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3D8E076BAC; Sun, 4 Mar 2018 23:36:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3875C1C18A; Sun, 4 Mar 2018 23:36:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24Naoq6050456; Sun, 4 Mar 2018 23:36:50 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NaoQe050455; Sun, 4 Mar 2018 23:36:50 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042336.w24NaoQe050455@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:36:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330427 - stable/11/sys/conf X-SVN-Group: stable-11 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: stable/11/sys/conf X-SVN-Commit-Revision: 330427 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:36:50 -0000 Author: bdrewery Date: Sun Mar 4 23:36:49 2018 New Revision: 330427 URL: https://svnweb.freebsd.org/changeset/base/330427 Log: MFC r325776: Rework r325568 so all 'make LINT' targets work. Modified: stable/11/sys/conf/makeLINT.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/conf/makeLINT.mk ============================================================================== --- stable/11/sys/conf/makeLINT.mk Sun Mar 4 23:35:35 2018 (r330426) +++ stable/11/sys/conf/makeLINT.mk Sun Mar 4 23:36:49 2018 (r330427) @@ -1,5 +1,8 @@ # $FreeBSD$ +# The LINT files need to end up in the kernel source directory. +.OBJDIR: ${.CURDIR} + all: @echo "make LINT only" @@ -9,9 +12,10 @@ clean: rm -f LINT-VIMAGE LINT-NOINET LINT-NOINET6 LINT-NOIP .endif -NOTES= ../../conf/NOTES NOTES -LINT: ${NOTES} ../../conf/makeLINT.sed - cat ${NOTES} | sed -E -n -f ../../conf/makeLINT.sed > ${.TARGET} +NOTES= ${.CURDIR}/../../conf/NOTES ${.CURDIR}/NOTES +MAKELINT_SED= ${.CURDIR}/../../conf/makeLINT.sed +LINT: ${NOTES} ${MAKELINT_SED} + cat ${NOTES} | sed -E -n -f ${MAKELINT_SED} > ${.TARGET} .if ${TARGET} == "amd64" || ${TARGET} == "i386" echo "include ${.TARGET}" > ${.TARGET}-VIMAGE echo "ident ${.TARGET}-VIMAGE" >> ${.TARGET}-VIMAGE From owner-svn-src-stable@freebsd.org Sun Mar 4 23:36:59 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 10CEAF3EDE6; Sun, 4 Mar 2018 23:36:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B7C1D76C8E; Sun, 4 Mar 2018 23:36:58 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B21531C18B; Sun, 4 Mar 2018 23:36:58 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NawgU050508; Sun, 4 Mar 2018 23:36:58 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NawfL050507; Sun, 4 Mar 2018 23:36:58 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042336.w24NawfL050507@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:36:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330428 - stable/10/sys/conf X-SVN-Group: stable-10 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: stable/10/sys/conf X-SVN-Commit-Revision: 330428 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:36:59 -0000 Author: bdrewery Date: Sun Mar 4 23:36:58 2018 New Revision: 330428 URL: https://svnweb.freebsd.org/changeset/base/330428 Log: MFC r325776: Rework r325568 so all 'make LINT' targets work. Modified: stable/10/sys/conf/makeLINT.mk Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/conf/makeLINT.mk ============================================================================== --- stable/10/sys/conf/makeLINT.mk Sun Mar 4 23:36:49 2018 (r330427) +++ stable/10/sys/conf/makeLINT.mk Sun Mar 4 23:36:58 2018 (r330428) @@ -1,5 +1,8 @@ # $FreeBSD$ +# The LINT files need to end up in the kernel source directory. +.OBJDIR: ${.CURDIR} + all: @echo "make LINT only" @@ -9,9 +12,10 @@ clean: rm -f LINT-VIMAGE LINT-NOINET LINT-NOINET6 LINT-NOIP .endif -NOTES= ../../conf/NOTES NOTES -LINT: ${NOTES} ../../conf/makeLINT.sed - cat ${NOTES} | sed -E -n -f ../../conf/makeLINT.sed > ${.TARGET} +NOTES= ${.CURDIR}/../../conf/NOTES ${.CURDIR}/NOTES +MAKELINT_SED= ${.CURDIR}/../../conf/makeLINT.sed +LINT: ${NOTES} ${MAKELINT_SED} + cat ${NOTES} | sed -E -n -f ${MAKELINT_SED} > ${.TARGET} .if ${TARGET} == "amd64" || ${TARGET} == "i386" echo "include ${.TARGET}" > ${.TARGET}-VIMAGE echo "ident ${.TARGET}-VIMAGE" >> ${.TARGET}-VIMAGE From owner-svn-src-stable@freebsd.org Sun Mar 4 23:39:13 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A595F3F092; Sun, 4 Mar 2018 23:39:13 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 06F8176EA7; Sun, 4 Mar 2018 23:39:13 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 013DD1C18E; Sun, 4 Mar 2018 23:39:13 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w24NdCXJ050686; Sun, 4 Mar 2018 23:39:12 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w24NdC09050685; Sun, 4 Mar 2018 23:39:12 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201803042339.w24NdC09050685@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Mar 2018 23:39:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330429 - stable/11 X-SVN-Group: stable-11 X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: stable/11 X-SVN-Commit-Revision: 330429 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2018 23:39:13 -0000 Author: bdrewery Date: Sun Mar 4 23:39:12 2018 New Revision: 330429 URL: https://svnweb.freebsd.org/changeset/base/330429 Log: MFC r330364: Don't read SRC_ENV_CONF for MAKEOBJDIRPREFIX guard. Modified: stable/11/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile ============================================================================== --- stable/11/Makefile Sun Mar 4 23:36:58 2018 (r330428) +++ stable/11/Makefile Sun Mar 4 23:39:12 2018 (r330429) @@ -171,11 +171,11 @@ PATH= /sbin:/bin:/usr/sbin:/usr/bin MAKEOBJDIRPREFIX?= /usr/obj _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} MK_AUTO_OBJ=no ${MAKE} \ ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \ - SRCCONF=${SRCCONF} \ + SRCCONF=${SRCCONF} SRC_ENV_CONF= \ -f /dev/null -V MAKEOBJDIRPREFIX dummy .if !empty(_MAKEOBJDIRPREFIX) -.error MAKEOBJDIRPREFIX can only be set in environment, not as a global\ - (in make.conf(5) or src.conf(5)) or command-line variable. +.error MAKEOBJDIRPREFIX can only be set in environment or src-env.conf(5),\ + not as a global (in make.conf(5) or src.conf(5)) or command-line variable. .endif # We often need to use the tree's version of make to build it. From owner-svn-src-stable@freebsd.org Mon Mar 5 06:37:03 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 40789F359CC; Mon, 5 Mar 2018 06:37:03 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D9FE385DCD; Mon, 5 Mar 2018 06:37:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CA17D2058D; Mon, 5 Mar 2018 06:37:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w256b2jx061287; Mon, 5 Mar 2018 06:37:02 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w256b2Ss061285; Mon, 5 Mar 2018 06:37:02 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050637.w256b2Ss061285@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 06:37:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330443 - stable/11/sbin/ifconfig X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sbin/ifconfig X-SVN-Commit-Revision: 330443 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 06:37:03 -0000 Author: eadler Date: Mon Mar 5 06:37:02 2018 New Revision: 330443 URL: https://svnweb.freebsd.org/changeset/base/330443 Log: MFC r306896: Fix spurious white space introduced in r301059 r301059 accidently introduced a subtle change for point to point interfaces where an extra space is inserted before the netmask. This can cause issues for scripts that parse ifconfig output. Modified: stable/11/sbin/ifconfig/af_inet.c stable/11/sbin/ifconfig/af_inet6.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ifconfig/af_inet.c ============================================================================== --- stable/11/sbin/ifconfig/af_inet.c Mon Mar 5 03:38:31 2018 (r330442) +++ stable/11/sbin/ifconfig/af_inet.c Mon Mar 5 06:37:02 2018 (r330443) @@ -88,7 +88,7 @@ in_status(int s __unused, const struct ifaddrs *ifa) sin = (struct sockaddr_in *)ifa->ifa_dstaddr; if (sin == NULL) sin = &null_sin; - printf(" --> %s ", inet_ntoa(sin->sin_addr)); + printf(" --> %s", inet_ntoa(sin->sin_addr)); } sin = (struct sockaddr_in *)ifa->ifa_netmask; Modified: stable/11/sbin/ifconfig/af_inet6.c ============================================================================== --- stable/11/sbin/ifconfig/af_inet6.c Mon Mar 5 03:38:31 2018 (r330442) +++ stable/11/sbin/ifconfig/af_inet6.c Mon Mar 5 06:37:02 2018 (r330443) @@ -237,7 +237,7 @@ in6_status(int s __unused, const struct ifaddrs *ifa) if (error != 0) inet_ntop(AF_INET6, &sin->sin6_addr, addr_buf, sizeof(addr_buf)); - printf(" --> %s ", addr_buf); + printf(" --> %s", addr_buf); } } From owner-svn-src-stable@freebsd.org Mon Mar 5 06:47:29 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F374FF360E9; Mon, 5 Mar 2018 06:47:28 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A478986450; Mon, 5 Mar 2018 06:47:28 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9E53720732; Mon, 5 Mar 2018 06:47:28 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w256lSvX066039; Mon, 5 Mar 2018 06:47:28 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w256lSTU066038; Mon, 5 Mar 2018 06:47:28 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050647.w256lSTU066038@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 06:47:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330444 - stable/11/sys/dev/aacraid X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/aacraid X-SVN-Commit-Revision: 330444 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 06:47:29 -0000 Author: eadler Date: Mon Mar 5 06:47:28 2018 New Revision: 330444 URL: https://svnweb.freebsd.org/changeset/base/330444 Log: MFC r308065: Remove a PCI ID for a raid controller from Adaptec that was planned, but never released. Since no real hardware was released with this ID, just drop it from the aacraid driver. This paves the path for future drivers for hardware that actually has this ID. Submitted by: Scott Benesh from Microsemi. Differential Revision: https://reviews.freebsd.org/D8377 MFC After: 3 days Modified: stable/11/sys/dev/aacraid/aacraid_pci.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/aacraid/aacraid_pci.c ============================================================================== --- stable/11/sys/dev/aacraid/aacraid_pci.c Mon Mar 5 06:37:02 2018 (r330443) +++ stable/11/sys/dev/aacraid/aacraid_pci.c Mon Mar 5 06:47:28 2018 (r330444) @@ -102,8 +102,6 @@ struct aac_ident "Adaptec RAID Controller"}, {0x9005, 0x028d, 0, 0, AAC_HWIF_SRCV, 0, "Adaptec RAID Controller"}, - {0x9005, 0x028f, 0, 0, AAC_HWIF_SRCV, 0, - "Adaptec RAID Controller"}, {0, 0, 0, 0, 0, 0, 0} }; From owner-svn-src-stable@freebsd.org Mon Mar 5 06:52:28 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 034B0F362D0; Mon, 5 Mar 2018 06:52:28 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A721D86866; Mon, 5 Mar 2018 06:52:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A1EF2208BB; Mon, 5 Mar 2018 06:52:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w256qRbk071214; Mon, 5 Mar 2018 06:52:27 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w256qQvu071205; Mon, 5 Mar 2018 06:52:26 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050652.w256qQvu071205@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 06:52:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330445 - in stable/11/sys/netinet: . cc tcp_stacks X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/sys/netinet: . cc tcp_stacks X-SVN-Commit-Revision: 330445 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 06:52:28 -0000 Author: eadler Date: Mon Mar 5 06:52:26 2018 New Revision: 330445 URL: https://svnweb.freebsd.org/changeset/base/330445 Log: MFC r307901,r308180: FreeBSD tcp stack used to inform respective congestion control module about the loss event but not use or obay the recommendations i.e. values set by it in some cases. Here is an attempt to solve that confusion by following relevant RFCs/drafts. Stack only sets congestion window/slow start threshold values when there is no CC module availalbe to take that action. All CC modules are inspected and updated when needed to take appropriate action on loss. tcp_stacks/fastpath module has been updated to adapt these changes. Note: Probably, the most significant change would be to not bring congestion window down to 1MSS on a loss signaled by 3-duplicate acks and letting respective CC decide that value. Modified: stable/11/sys/netinet/cc/cc_cdg.c stable/11/sys/netinet/cc/cc_chd.c stable/11/sys/netinet/cc/cc_cubic.c stable/11/sys/netinet/cc/cc_dctcp.c stable/11/sys/netinet/cc/cc_htcp.c stable/11/sys/netinet/cc/cc_newreno.c stable/11/sys/netinet/tcp_input.c stable/11/sys/netinet/tcp_stacks/fastpath.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netinet/cc/cc_cdg.c ============================================================================== --- stable/11/sys/netinet/cc/cc_cdg.c Mon Mar 5 06:47:28 2018 (r330444) +++ stable/11/sys/netinet/cc/cc_cdg.c Mon Mar 5 06:52:26 2018 (r330445) @@ -431,7 +431,12 @@ static void cdg_cong_signal(struct cc_var *ccv, uint32_t signal_type) { struct cdg *cdg_data = ccv->cc_data; + uint32_t cwin; + u_int mss; + cwin = CCV(ccv, snd_cwnd); + mss = CCV(ccv, t_maxseg); + switch(signal_type) { case CC_CDG_DELAY: CCV(ccv, snd_ssthresh) = cdg_window_decrease(ccv, @@ -448,7 +453,7 @@ cdg_cong_signal(struct cc_var *ccv, uint32_t signal_ty */ if (IN_CONGRECOVERY(CCV(ccv, t_flags)) || cdg_data->queue_state < CDG_Q_FULL) { - CCV(ccv, snd_ssthresh) = CCV(ccv, snd_cwnd); + CCV(ccv, snd_ssthresh) = cwin; CCV(ccv, snd_recover) = CCV(ccv, snd_max); } else { /* @@ -461,12 +466,18 @@ cdg_cong_signal(struct cc_var *ccv, uint32_t signal_ty cdg_data->shadow_w, RENO_BETA); CCV(ccv, snd_ssthresh) = ulmax(cdg_data->shadow_w, - cdg_window_decrease(ccv, CCV(ccv, snd_cwnd), - V_cdg_beta_loss)); + cdg_window_decrease(ccv, cwin, V_cdg_beta_loss)); + CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); cdg_data->window_incr = cdg_data->rtt_count = 0; } ENTER_RECOVERY(CCV(ccv, t_flags)); + break; + case CC_RTO: + CCV(ccv, snd_ssthresh) = + max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) + * mss; + CCV(ccv, snd_cwnd) = mss; break; default: newreno_cc_algo.cong_signal(ccv, signal_type); Modified: stable/11/sys/netinet/cc/cc_chd.c ============================================================================== --- stable/11/sys/netinet/cc/cc_chd.c Mon Mar 5 06:47:28 2018 (r330444) +++ stable/11/sys/netinet/cc/cc_chd.c Mon Mar 5 06:52:26 2018 (r330445) @@ -330,10 +330,12 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_ty struct ertt *e_t; struct chd *chd_data; int qdly; + u_int mss; e_t = khelp_get_osd(CCV(ccv, osd), ertt_id); chd_data = ccv->cc_data; qdly = imax(e_t->rtt, chd_data->maxrtt_in_rtt) - e_t->minrtt; + mss = CCV(ccv, t_maxseg); switch(signal_type) { case CC_CHD_DELAY: @@ -372,6 +374,12 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_ty CCV(ccv, t_maxseg) / 2, 2) * CCV(ccv, t_maxseg); } ENTER_FASTRECOVERY(CCV(ccv, t_flags)); + break; + case CC_RTO: + CCV(ccv, snd_ssthresh) = + max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) + * mss; + CCV(ccv, snd_cwnd) = mss; break; default: Modified: stable/11/sys/netinet/cc/cc_cubic.c ============================================================================== --- stable/11/sys/netinet/cc/cc_cubic.c Mon Mar 5 06:47:28 2018 (r330444) +++ stable/11/sys/netinet/cc/cc_cubic.c Mon Mar 5 06:52:26 2018 (r330445) @@ -225,8 +225,12 @@ static void cubic_cong_signal(struct cc_var *ccv, uint32_t type) { struct cubic *cubic_data; + uint32_t cwin; + u_int mss; cubic_data = ccv->cc_data; + cwin = CCV(ccv, snd_cwnd); + mss = CCV(ccv, t_maxseg); switch (type) { case CC_NDUPACK: @@ -235,7 +239,8 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) cubic_ssthresh_update(ccv); cubic_data->num_cong_events++; cubic_data->prev_max_cwnd = cubic_data->max_cwnd; - cubic_data->max_cwnd = CCV(ccv, snd_cwnd); + cubic_data->max_cwnd = cwin; + CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); } ENTER_RECOVERY(CCV(ccv, t_flags)); } @@ -246,7 +251,7 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) cubic_ssthresh_update(ccv); cubic_data->num_cong_events++; cubic_data->prev_max_cwnd = cubic_data->max_cwnd; - cubic_data->max_cwnd = CCV(ccv, snd_cwnd); + cubic_data->max_cwnd = cwin; cubic_data->t_last_cong = ticks; CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); ENTER_CONGRECOVERY(CCV(ccv, t_flags)); @@ -261,9 +266,13 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) * chance the first one is a false alarm and may not indicate * congestion. */ - if (CCV(ccv, t_rxtshift) >= 2) + if (CCV(ccv, t_rxtshift) >= 2) { cubic_data->num_cong_events++; cubic_data->t_last_cong = ticks; + cubic_ssthresh_update(ccv); + cubic_data->max_cwnd = cwin; + CCV(ccv, snd_cwnd) = mss; + } break; } } Modified: stable/11/sys/netinet/cc/cc_dctcp.c ============================================================================== --- stable/11/sys/netinet/cc/cc_dctcp.c Mon Mar 5 06:47:28 2018 (r330444) +++ stable/11/sys/netinet/cc/cc_dctcp.c Mon Mar 5 06:52:26 2018 (r330445) @@ -230,27 +230,29 @@ static void dctcp_cong_signal(struct cc_var *ccv, uint32_t type) { struct dctcp *dctcp_data; - u_int win, mss; + uint32_t cwin, ssthresh_on_loss; + u_int mss; dctcp_data = ccv->cc_data; - win = CCV(ccv, snd_cwnd); + cwin = CCV(ccv, snd_cwnd); mss = CCV(ccv, t_maxseg); + ssthresh_on_loss = + max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) + * mss; switch (type) { case CC_NDUPACK: if (!IN_FASTRECOVERY(CCV(ccv, t_flags))) { if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { - CCV(ccv, snd_ssthresh) = mss * - max(win / 2 / mss, 2); + CCV(ccv, snd_ssthresh) = ssthresh_on_loss; dctcp_data->num_cong_events++; } else { /* cwnd has already updated as congestion * recovery. Reverse cwnd value using * snd_cwnd_prev and recalculate snd_ssthresh */ - win = CCV(ccv, snd_cwnd_prev); - CCV(ccv, snd_ssthresh) = - max(win / 2 / mss, 2) * mss; + cwin = CCV(ccv, snd_cwnd_prev); + CCV(ccv, snd_ssthresh) = ssthresh_on_loss; } ENTER_RECOVERY(CCV(ccv, t_flags)); } @@ -260,18 +262,17 @@ dctcp_cong_signal(struct cc_var *ccv, uint32_t type) * Save current snd_cwnd when the host encounters both * congestion recovery and fast recovery. */ - CCV(ccv, snd_cwnd_prev) = win; + CCV(ccv, snd_cwnd_prev) = cwin; if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { if (V_dctcp_slowstart && dctcp_data->num_cong_events++ == 0) { - CCV(ccv, snd_ssthresh) = - mss * max(win / 2 / mss, 2); + CCV(ccv, snd_ssthresh) = ssthresh_on_loss; dctcp_data->alpha = MAX_ALPHA_VALUE; dctcp_data->bytes_ecn = 0; dctcp_data->bytes_total = 0; dctcp_data->save_sndnxt = CCV(ccv, snd_nxt); } else - CCV(ccv, snd_ssthresh) = max((win - ((win * + CCV(ccv, snd_ssthresh) = max((cwin - ((cwin * dctcp_data->alpha) >> 11)) / mss, 2) * mss; CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); ENTER_CONGRECOVERY(CCV(ccv, t_flags)); @@ -284,6 +285,8 @@ dctcp_cong_signal(struct cc_var *ccv, uint32_t type) dctcp_update_alpha(ccv); dctcp_data->save_sndnxt += CCV(ccv, t_maxseg); dctcp_data->num_cong_events++; + CCV(ccv, snd_ssthresh) = ssthresh_on_loss; + CCV(ccv, snd_cwnd) = mss; } break; } Modified: stable/11/sys/netinet/cc/cc_htcp.c ============================================================================== --- stable/11/sys/netinet/cc/cc_htcp.c Mon Mar 5 06:47:28 2018 (r330444) +++ stable/11/sys/netinet/cc/cc_htcp.c Mon Mar 5 06:52:26 2018 (r330445) @@ -271,8 +271,12 @@ static void htcp_cong_signal(struct cc_var *ccv, uint32_t type) { struct htcp *htcp_data; + uint32_t cwin; + u_int mss; htcp_data = ccv->cc_data; + cwin = CCV(ccv, snd_cwnd); + mss = CCV(ccv, t_maxseg); switch (type) { case CC_NDUPACK: @@ -287,8 +291,9 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type) (htcp_data->maxrtt - htcp_data->minrtt) * 95) / 100; htcp_ssthresh_update(ccv); + CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); htcp_data->t_last_cong = ticks; - htcp_data->prev_cwnd = CCV(ccv, snd_cwnd); + htcp_data->prev_cwnd = cwin; } ENTER_RECOVERY(CCV(ccv, t_flags)); } @@ -305,7 +310,7 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type) htcp_ssthresh_update(ccv); CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); htcp_data->t_last_cong = ticks; - htcp_data->prev_cwnd = CCV(ccv, snd_cwnd); + htcp_data->prev_cwnd = cwin; ENTER_CONGRECOVERY(CCV(ccv, t_flags)); } break; @@ -320,6 +325,10 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type) */ if (CCV(ccv, t_rxtshift) >= 2) htcp_data->t_last_cong = ticks; + CCV(ccv, snd_ssthresh) = + max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) + * mss; + CCV(ccv, snd_cwnd) = mss; break; } } @@ -511,6 +520,10 @@ htcp_ssthresh_update(struct cc_var *ccv) CCV(ccv, snd_ssthresh) = (CCV(ccv, snd_cwnd) * htcp_data->beta) >> HTCP_SHIFT; } + + /* Align ssthresh to MSS boundary */ + CCV(ccv, snd_ssthresh) = (CCV(ccv, snd_ssthresh) / CCV(ccv, t_maxseg)) + * CCV(ccv, t_maxseg); } Modified: stable/11/sys/netinet/cc/cc_newreno.c ============================================================================== --- stable/11/sys/netinet/cc/cc_newreno.c Mon Mar 5 06:47:28 2018 (r330444) +++ stable/11/sys/netinet/cc/cc_newreno.c Mon Mar 5 06:52:26 2018 (r330445) @@ -181,29 +181,41 @@ newreno_after_idle(struct cc_var *ccv) static void newreno_cong_signal(struct cc_var *ccv, uint32_t type) { - u_int win; + uint32_t cwin, ssthresh_on_loss; + u_int mss; + cwin = CCV(ccv, snd_cwnd); + mss = CCV(ccv, t_maxseg); + ssthresh_on_loss = + max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) + * mss; + /* Catch algos which mistakenly leak private signal types. */ KASSERT((type & CC_SIGPRIVMASK) == 0, ("%s: congestion signal type 0x%08x is private\n", __func__, type)); - win = max(CCV(ccv, snd_cwnd) / 2 / CCV(ccv, t_maxseg), 2) * - CCV(ccv, t_maxseg); + cwin = max(cwin / 2 / mss, 2) * mss; switch (type) { case CC_NDUPACK: if (!IN_FASTRECOVERY(CCV(ccv, t_flags))) { - if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) - CCV(ccv, snd_ssthresh) = win; + if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { + CCV(ccv, snd_ssthresh) = ssthresh_on_loss; + CCV(ccv, snd_cwnd) = cwin; + } ENTER_RECOVERY(CCV(ccv, t_flags)); } break; case CC_ECN: if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { - CCV(ccv, snd_ssthresh) = win; - CCV(ccv, snd_cwnd) = win; + CCV(ccv, snd_ssthresh) = ssthresh_on_loss; + CCV(ccv, snd_cwnd) = cwin; ENTER_CONGRECOVERY(CCV(ccv, t_flags)); } + break; + case CC_RTO: + CCV(ccv, snd_ssthresh) = ssthresh_on_loss; + CCV(ccv, snd_cwnd) = mss; break; } } Modified: stable/11/sys/netinet/tcp_input.c ============================================================================== --- stable/11/sys/netinet/tcp_input.c Mon Mar 5 06:47:28 2018 (r330444) +++ stable/11/sys/netinet/tcp_input.c Mon Mar 5 06:52:26 2018 (r330445) @@ -429,9 +429,16 @@ cc_cong_signal(struct tcpcb *tp, struct tcphdr *th, ui tp->t_dupacks = 0; tp->t_bytes_acked = 0; EXIT_RECOVERY(tp->t_flags); - tp->snd_ssthresh = max(2, min(tp->snd_wnd, tp->snd_cwnd) / 2 / - maxseg) * maxseg; - tp->snd_cwnd = maxseg; + if (CC_ALGO(tp)->cong_signal == NULL) { + /* + * RFC5681 Section 3.1 + * ssthresh = max (FlightSize / 2, 2*SMSS) eq (4) + */ + tp->snd_ssthresh = + max((tp->snd_max - tp->snd_una) / 2 / maxseg, 2) + * maxseg; + tp->snd_cwnd = maxseg; + } break; case CC_RTO_ERR: TCPSTAT_INC(tcps_sndrexmitbad); @@ -2592,6 +2599,15 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, stru if (awnd < tp->snd_ssthresh) { tp->snd_cwnd += maxseg; + /* + * RFC5681 Section 3.2 talks about cwnd + * inflation on additional dupacks and + * deflation on recovering from loss. + * + * We keep cwnd into check so that + * we don't have to 'deflate' it when we + * get out of recovery. + */ if (tp->snd_cwnd > tp->snd_ssthresh) tp->snd_cwnd = tp->snd_ssthresh; } @@ -2630,19 +2646,22 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, stru TCPSTAT_INC( tcps_sack_recovery_episode); tp->sack_newdata = tp->snd_nxt; - tp->snd_cwnd = maxseg; + if (CC_ALGO(tp)->cong_signal == NULL) + tp->snd_cwnd = maxseg; (void) tp->t_fb->tfb_tcp_output(tp); goto drop; } tp->snd_nxt = th->th_ack; - tp->snd_cwnd = maxseg; + if (CC_ALGO(tp)->cong_signal == NULL) + tp->snd_cwnd = maxseg; (void) tp->t_fb->tfb_tcp_output(tp); KASSERT(tp->snd_limited <= 2, ("%s: tp->snd_limited too big", __func__)); - tp->snd_cwnd = tp->snd_ssthresh + - maxseg * - (tp->t_dupacks - tp->snd_limited); + if (CC_ALGO(tp)->cong_signal == NULL) + tp->snd_cwnd = tp->snd_ssthresh + + maxseg * + (tp->t_dupacks - tp->snd_limited); if (SEQ_GT(onxt, tp->snd_nxt)) tp->snd_nxt = onxt; goto drop; Modified: stable/11/sys/netinet/tcp_stacks/fastpath.c ============================================================================== --- stable/11/sys/netinet/tcp_stacks/fastpath.c Mon Mar 5 06:47:28 2018 (r330444) +++ stable/11/sys/netinet/tcp_stacks/fastpath.c Mon Mar 5 06:52:26 2018 (r330445) @@ -1035,6 +1035,15 @@ tcp_do_slowpath(struct mbuf *m, struct tcphdr *th, str if (awnd < tp->snd_ssthresh) { tp->snd_cwnd += tp->t_maxseg; + /* + * RFC5681 Section 3.2 talks about cwnd + * inflation on additional dupacks and + * deflation on recovering from loss. + * + * We keep cwnd into check so that + * we don't have to 'deflate' it when we + * get out of recovery. + */ if (tp->snd_cwnd > tp->snd_ssthresh) tp->snd_cwnd = tp->snd_ssthresh; } @@ -1073,19 +1082,22 @@ tcp_do_slowpath(struct mbuf *m, struct tcphdr *th, str TCPSTAT_INC( tcps_sack_recovery_episode); tp->sack_newdata = tp->snd_nxt; - tp->snd_cwnd = tp->t_maxseg; + if (CC_ALGO(tp)->cong_signal == NULL) + tp->snd_cwnd = tp->t_maxseg; (void) tp->t_fb->tfb_tcp_output(tp); goto drop; } tp->snd_nxt = th->th_ack; - tp->snd_cwnd = tp->t_maxseg; + if (CC_ALGO(tp)->cong_signal == NULL) + tp->snd_cwnd = tp->t_maxseg; (void) tp->t_fb->tfb_tcp_output(tp); KASSERT(tp->snd_limited <= 2, ("%s: tp->snd_limited too big", __func__)); - tp->snd_cwnd = tp->snd_ssthresh + - tp->t_maxseg * - (tp->t_dupacks - tp->snd_limited); + if (CC_ALGO(tp)->cong_signal == NULL) + tp->snd_cwnd = tp->snd_ssthresh + + tp->t_maxseg * + (tp->t_dupacks - tp->snd_limited); if (SEQ_GT(onxt, tp->snd_nxt)) tp->snd_nxt = onxt; goto drop; From owner-svn-src-stable@freebsd.org Mon Mar 5 06:59:35 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ECF20F36728; Mon, 5 Mar 2018 06:59:34 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8BBB286B66; Mon, 5 Mar 2018 06:59:34 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 82E48208C5; Mon, 5 Mar 2018 06:59:34 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w256xYsE071656; Mon, 5 Mar 2018 06:59:34 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w256xVAx071623; Mon, 5 Mar 2018 06:59:31 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050659.w256xVAx071623@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 06:59:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330446 - in stable/11: lib/libc/include lib/libc/sparc64/fpu lib/libedit lib/libefivar lib/msun/src sys/amd64/amd64 sys/dev/ath sys/dev/cadence sys/dev/de sys/dev/drm sys/dev/e1000 sys... X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11: lib/libc/include lib/libc/sparc64/fpu lib/libedit lib/libefivar lib/msun/src sys/amd64/amd64 sys/dev/ath sys/dev/cadence sys/dev/de sys/dev/drm sys/dev/e1000 sys/dev/isci/scil sys/dev/iw... X-SVN-Commit-Revision: 330446 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 06:59:35 -0000 Author: eadler Date: Mon Mar 5 06:59:30 2018 New Revision: 330446 URL: https://svnweb.freebsd.org/changeset/base/330446 Log: MFC r327231,r327232: kernel: Fix several typos and minor errors lib: Fix several typos and minor errors - duplicate words - typos - references to old versions of FreeBSD Modified: stable/11/lib/libc/include/reentrant.h stable/11/lib/libc/sparc64/fpu/fpu_reg.h stable/11/lib/libedit/map.c stable/11/lib/libedit/refresh.c stable/11/lib/libefivar/uefi-dputil.c stable/11/lib/msun/src/catrig.c stable/11/sys/amd64/amd64/support.S stable/11/sys/dev/ath/if_ath.c stable/11/sys/dev/cadence/if_cgem.c stable/11/sys/dev/de/if_de.c stable/11/sys/dev/drm/mga_state.c stable/11/sys/dev/e1000/e1000_82543.c stable/11/sys/dev/isci/scil/scic_sds_remote_node_context.c stable/11/sys/dev/isci/scil/scif_sas_controller.c stable/11/sys/dev/iwm/if_iwmreg.h stable/11/sys/dev/mvs/mvs_pci.c stable/11/sys/dev/mwl/if_mwl.c stable/11/sys/dev/sfxge/common/siena_nvram.c stable/11/sys/dev/sio/sio.c stable/11/sys/dev/sound/isa/mss.h stable/11/sys/dev/syscons/scvgarndr.c stable/11/sys/fs/nfsclient/nfs_clrpcops.c stable/11/sys/i386/i386/support.s stable/11/sys/kern/vfs_subr.c stable/11/sys/mips/conf/BERI_SOCKIT stable/11/sys/net/altq/altq_hfsc.h stable/11/sys/net/bpf.c stable/11/sys/net80211/ieee80211_ht.c stable/11/sys/net80211/ieee80211_scan_sta.c stable/11/sys/powerpc/booke/locore.S stable/11/sys/sparc64/pci/sbbc.c stable/11/sys/ufs/ffs/ffs_softdep.c Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/include/reentrant.h ============================================================================== --- stable/11/lib/libc/include/reentrant.h Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/lib/libc/include/reentrant.h Mon Mar 5 06:59:30 2018 (r330446) @@ -65,7 +65,7 @@ * Implementation Details: * * The mutex primitives used by the library (mutex_t, mutex_lock, etc.) - * are macros which expand to the cooresponding primitives provided by + * are macros which expand to the corresponding primitives provided by * the thread engine or to nothing. The latter is used so that code is * not unreasonably cluttered with #ifdefs when all thread safe support * is removed. Modified: stable/11/lib/libc/sparc64/fpu/fpu_reg.h ============================================================================== --- stable/11/lib/libc/sparc64/fpu/fpu_reg.h Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/lib/libc/sparc64/fpu/fpu_reg.h Mon Mar 5 06:59:30 2018 (r330446) @@ -29,7 +29,7 @@ #define _LIBC_SPARC64_FPU_FPU_REG_H_ /* - * These are not really of type char[]. They are are arrays of functions defined + * These are not really of type char[]. They are arrays of functions defined * in fpu_reg.S; each array member loads/stores a certain fpu register of the * given size. */ Modified: stable/11/lib/libedit/map.c ============================================================================== --- stable/11/lib/libedit/map.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/lib/libedit/map.c Mon Mar 5 06:59:30 2018 (r330446) @@ -370,7 +370,7 @@ private const el_action_t el_map_vi_insert[] = { * NOTE: These mappings do NOT Correspond well * to the KSH VI editing assignments. * On the other and they are convenient and - * many people have have gotten used to them. + * many people have gotten used to them. */ /* 0 */ ED_UNASSIGNED, /* ^@ */ /* 1 */ ED_MOVE_TO_BEG, /* ^A */ Modified: stable/11/lib/libedit/refresh.c ============================================================================== --- stable/11/lib/libedit/refresh.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/lib/libedit/refresh.c Mon Mar 5 06:59:30 2018 (r330446) @@ -1148,7 +1148,7 @@ re_fastaddc(EditLine *el) /* re_clear_display(): - * clear the screen buffers so that new new prompt starts fresh. + * clear the screen buffers so that new prompt starts fresh. */ protected void re_clear_display(EditLine *el) Modified: stable/11/lib/libefivar/uefi-dputil.c ============================================================================== --- stable/11/lib/libefivar/uefi-dputil.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/lib/libefivar/uefi-dputil.c Mon Mar 5 06:59:30 2018 (r330446) @@ -134,7 +134,7 @@ GetDevicePathSize ( @param MaxSize The maximum size of the device path data structure. @retval TRUE DevicePath is valid. - @retval FALSE The length of any node node in the DevicePath is less + @retval FALSE The length of any node in the DevicePath is less than sizeof (EFI_DEVICE_PATH_PROTOCOL). @retval FALSE If MaxSize is not zero, the size of the DevicePath exceeds MaxSize. Modified: stable/11/lib/msun/src/catrig.c ============================================================================== --- stable/11/lib/msun/src/catrig.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/lib/msun/src/catrig.c Mon Mar 5 06:59:30 2018 (r330446) @@ -609,7 +609,7 @@ catanh(double complex z) if (ax < SQRT_3_EPSILON / 2 && ay < SQRT_3_EPSILON / 2) { /* * z = 0 was filtered out above. All other cases must raise - * inexact, but this is the only only that needs to do it + * inexact, but this is the only case that needs to do it * explicitly. */ raise_inexact(); Modified: stable/11/sys/amd64/amd64/support.S ============================================================================== --- stable/11/sys/amd64/amd64/support.S Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/amd64/amd64/support.S Mon Mar 5 06:59:30 2018 (r330446) @@ -565,7 +565,7 @@ END(subyte) * copyinstr(from, to, maxlen, int *lencopied) * %rdi, %rsi, %rdx, %rcx * - * copy a string from from to to, stop when a 0 character is reached. + * copy a string from 'from' to 'to', stop when a 0 character is reached. * return ENAMETOOLONG if string is longer than maxlen, and * EFAULT on protection violations. If lencopied is non-zero, * return the actual length in *lencopied. Modified: stable/11/sys/dev/ath/if_ath.c ============================================================================== --- stable/11/sys/dev/ath/if_ath.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/ath/if_ath.c Mon Mar 5 06:59:30 2018 (r330446) @@ -1007,9 +1007,8 @@ ath_attach(u_int16_t devid, struct ath_softc *sc) sc->sc_txq_node_psq_maxdepth = 16; /* - * Default the maximum queue depth for a given node - * to 1/4'th the TX buffers, or 64, whichever - * is larger. + * Default the maximum queue to to 1/4'th the TX buffers, or + * 64, whichever is smaller. */ sc->sc_txq_node_maxdepth = MAX(64, ath_txbuf / 4); Modified: stable/11/sys/dev/cadence/if_cgem.c ============================================================================== --- stable/11/sys/dev/cadence/if_cgem.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/cadence/if_cgem.c Mon Mar 5 06:59:30 2018 (r330446) @@ -809,7 +809,7 @@ cgem_start_locked(if_t ifp) WR4(sc, CGEM_NET_CTRL, sc->net_ctl_shadow | CGEM_NET_CTRL_START_TX); - /* If there is a BPF listener, bounce a copy to to him. */ + /* If there is a BPF listener, bounce a copy to him. */ ETHER_BPF_MTAP(ifp, m); } } Modified: stable/11/sys/dev/de/if_de.c ============================================================================== --- stable/11/sys/dev/de/if_de.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/de/if_de.c Mon Mar 5 06:59:30 2018 (r330446) @@ -3918,7 +3918,7 @@ tulip_txput(tulip_softc_t * const sc, struct mbuf *m) * a bit reminiscent of going on the Ark two by two * since each descriptor for the TULIP can describe * two buffers. So we advance through packet filling - * each of the two entries at a time to to fill each + * each of the two entries at a time to fill each * descriptor. Clear the first and last segment bits * in each descriptor (actually just clear everything * but the end-of-ring or chain bits) to make sure Modified: stable/11/sys/dev/drm/mga_state.c ============================================================================== --- stable/11/sys/dev/drm/mga_state.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/drm/mga_state.c Mon Mar 5 06:59:30 2018 (r330446) @@ -258,7 +258,7 @@ static __inline__ void mga_g200_emit_pipe(drm_mga_priv MGA_WR42, 0x0000ffff, MGA_WR60, 0x0000ffff); - /* Padding required to to hardware bug. + /* Padding required due to hardware bug. */ DMA_BLOCK(MGA_DMAPAD, 0xffffffff, MGA_DMAPAD, 0xffffffff, @@ -340,7 +340,7 @@ static __inline__ void mga_g400_emit_pipe(drm_mga_priv MGA_WR52, MGA_G400_WR_MAGIC, /* tex1 width */ MGA_WR60, MGA_G400_WR_MAGIC); /* tex1 height */ - /* Padding required to to hardware bug */ + /* Padding required due to hardware bug */ DMA_BLOCK(MGA_DMAPAD, 0xffffffff, MGA_DMAPAD, 0xffffffff, MGA_DMAPAD, 0xffffffff, Modified: stable/11/sys/dev/e1000/e1000_82543.c ============================================================================== --- stable/11/sys/dev/e1000/e1000_82543.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/e1000/e1000_82543.c Mon Mar 5 06:59:30 2018 (r330446) @@ -1309,7 +1309,7 @@ static s32 e1000_check_for_copper_link_82543(struct e1 * turn it on. For compatibility with a TBI link * partner, we will store bad packets. Some * frames have an additional byte on the end and - * will look like CRC errors to to the hardware. + * will look like CRC errors to the hardware. */ if (!e1000_tbi_sbp_enabled_82543(hw)) { e1000_set_tbi_sbp_82543(hw, TRUE); Modified: stable/11/sys/dev/isci/scil/scic_sds_remote_node_context.c ============================================================================== --- stable/11/sys/dev/isci/scil/scic_sds_remote_node_context.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/isci/scil/scic_sds_remote_node_context.c Mon Mar 5 06:59:30 2018 (r330446) @@ -897,7 +897,7 @@ SCI_STATUS scic_sds_remote_node_context_tx_suspended_s * * @param[in] this_rnc The remote node context which is to receive the task * request. -* @param[in] the_request The task request to be transmitted to to the remote +* @param[in] the_request The task request to be transmitted to the remote * target device. * * @return SCI_STATUS Modified: stable/11/sys/dev/isci/scil/scif_sas_controller.c ============================================================================== --- stable/11/sys/dev/isci/scil/scif_sas_controller.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/isci/scil/scif_sas_controller.c Mon Mar 5 06:59:30 2018 (r330446) @@ -911,7 +911,7 @@ void scif_sas_controller_free_internal_request( fw_controller, fw_internal_request_buffer )); - //return the memory to to pool. + //return the memory to the pool. if( !sci_pool_full(fw_controller->internal_request_memory_pool) ) { sci_pool_put( Modified: stable/11/sys/dev/iwm/if_iwmreg.h ============================================================================== --- stable/11/sys/dev/iwm/if_iwmreg.h Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/iwm/if_iwmreg.h Mon Mar 5 06:59:30 2018 (r330446) @@ -3734,7 +3734,7 @@ struct iwm_uapsd_misbehaving_ap_notif { * beacon filtering; beacons will not be forced to be sent to driver * regardless of whether its temperature has been changed. * @bf_enable_beacon_filter: 1, beacon filtering is enabled; 0, disabled. - * @bf_filter_escape_timer: Send beacons to to driver if no beacons were passed + * @bf_filter_escape_timer: Send beacons to the driver if no beacons were passed * for a specific period of time. Units: Beacons. * @ba_escape_timer: Fully receive and parse beacon if no beacons were passed * for a longer period of time then this escape-timeout. Units: Beacons. Modified: stable/11/sys/dev/mvs/mvs_pci.c ============================================================================== --- stable/11/sys/dev/mvs/mvs_pci.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/mvs/mvs_pci.c Mon Mar 5 06:59:30 2018 (r330446) @@ -336,7 +336,7 @@ mvs_intr(void *data) ic = ATA_INL(ctlr->r_mem, CHIP_MIC); if (ctlr->msi) { - /* We have to to mask MSI during processing. */ + /* We have to mask MSI during processing. */ mtx_lock(&ctlr->mtx); ATA_OUTL(ctlr->r_mem, CHIP_MIM, 0); ctlr->msia = 1; /* Deny MIM update during processing. */ Modified: stable/11/sys/dev/mwl/if_mwl.c ============================================================================== --- stable/11/sys/dev/mwl/if_mwl.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/mwl/if_mwl.c Mon Mar 5 06:59:30 2018 (r330446) @@ -1237,7 +1237,7 @@ mwl_reset_vap(struct ieee80211vap *vap, int state) /* * Reset the hardware w/o losing operational state. - * Used to to reset or reload hardware state for a vap. + * Used to reset or reload hardware state for a vap. */ static int mwl_reset(struct ieee80211vap *vap, u_long cmd) Modified: stable/11/sys/dev/sfxge/common/siena_nvram.c ============================================================================== --- stable/11/sys/dev/sfxge/common/siena_nvram.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/sfxge/common/siena_nvram.c Mon Mar 5 06:59:30 2018 (r330446) @@ -525,7 +525,7 @@ siena_nvram_partn_get_version( : MC_CMD_NVRAM_TYPE_DYNAMIC_CFG_PORT1; /* * Ingore missing partitions on port 2, assuming they're due - * to to running on a single port part. + * to running on a single port part. */ if ((1 << dcfg_partn) & ~enp->en_u.siena.enu_partn_mask) { if (entry->port == 2) Modified: stable/11/sys/dev/sio/sio.c ============================================================================== --- stable/11/sys/dev/sio/sio.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/sio/sio.c Mon Mar 5 06:59:30 2018 (r330446) @@ -590,7 +590,7 @@ sioprobe(dev, xrid, rclk, noprobe) * junk after a (very fast) soft reboot and (apparently) after * master reset. * XXX what about the UART bug avoided by waiting in comparam()? - * We don't want to to wait long enough to drain at 2 bps. + * We don't want to wait long enough to drain at 2 bps. */ if (iobase == siocniobase) DELAY((16 + 1) * 1000000 / (comdefaultrate / 10)); Modified: stable/11/sys/dev/sound/isa/mss.h ============================================================================== --- stable/11/sys/dev/sound/isa/mss.h Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/sound/isa/mss.h Mon Mar 5 06:59:30 2018 (r330446) @@ -181,7 +181,7 @@ typedef struct mixer_def mixer_tab[32][2]; * The AD1848 codec has generic input lines called Line, Aux1 and Aux2. * Soundcard manufacturers have connected actual inputs (CD, synth, line, * etc) to these inputs in different order. Therefore it's difficult - * to assign mixer channels to to these inputs correctly. The following + * to assign mixer channels to these inputs correctly. The following * contains two alternative mappings. The first one is for GUS MAX and * the second is just a generic one (line1, line2 and line3). * (Actually this is not a mapping but rather some kind of interleaving Modified: stable/11/sys/dev/syscons/scvgarndr.c ============================================================================== --- stable/11/sys/dev/syscons/scvgarndr.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/dev/syscons/scvgarndr.c Mon Mar 5 06:59:30 2018 (r330446) @@ -467,7 +467,7 @@ draw_txtmouse(scr_stat *scp, int x, int y) } else #endif /* SC_ALT_MOUSE_IMAGE */ { - /* Red, magenta and brown are mapped to green to to keep it readable */ + /* Red, magenta and brown are mapped to green to keep it readable */ static const int col_conv[16] = { 6, 6, 6, 6, 2, 2, 2, 6, 14, 14, 14, 14, 10, 10, 10, 14 }; Modified: stable/11/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- stable/11/sys/fs/nfsclient/nfs_clrpcops.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/fs/nfsclient/nfs_clrpcops.c Mon Mar 5 06:59:30 2018 (r330446) @@ -5548,7 +5548,7 @@ nfscl_doiods(vnode_t vp, struct uio *uiop, int *iomode /* * Find a file layout that will handle the first bytes of the requested - * range and return the information from it needed to to the I/O operation. + * range and return the information from it needed to the I/O operation. */ int nfscl_findlayoutforio(struct nfscllayout *lyp, uint64_t off, uint32_t rwaccess, Modified: stable/11/sys/i386/i386/support.s ============================================================================== --- stable/11/sys/i386/i386/support.s Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/i386/i386/support.s Mon Mar 5 06:59:30 2018 (r330446) @@ -540,7 +540,7 @@ END(subyte) /* * copyinstr(from, to, maxlen, int *lencopied) - MP SAFE * - * copy a string from from to to, stop when a 0 character is reached. + * copy a string from 'from' to 'to', stop when a 0 character is reached. * return ENAMETOOLONG if string is longer than maxlen, and * EFAULT on protection violations. If lencopied is non-zero, * return the actual length in *lencopied. Modified: stable/11/sys/kern/vfs_subr.c ============================================================================== --- stable/11/sys/kern/vfs_subr.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/kern/vfs_subr.c Mon Mar 5 06:59:30 2018 (r330446) @@ -342,7 +342,7 @@ PCTRIE_DEFINE(BUF, buf, b_lblkno, buf_trie_alloc, buf_ * * Reevaluate the following cap on the number of vnodes after the physical * memory size exceeds 512GB. In the limit, as the physical memory size - * grows, the ratio of the memory size in KB to to vnodes approaches 64:1. + * grows, the ratio of the memory size in KB to vnodes approaches 64:1. */ #ifndef MAXVNODES_MAX #define MAXVNODES_MAX (512 * 1024 * 1024 / 64) /* 8M */ Modified: stable/11/sys/mips/conf/BERI_SOCKIT ============================================================================== --- stable/11/sys/mips/conf/BERI_SOCKIT Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/mips/conf/BERI_SOCKIT Mon Mar 5 06:59:30 2018 (r330446) @@ -2,7 +2,7 @@ # BERI_SOCKIT -- Kernel for the SRI/Cambridge "BERI" (Bluespec Extensible # RISC Implementation) FPGA soft core, as configured in its Terasic SoCKit # reference configuration. This kernel configration must be further -# specialized to to include a root filesystem specification. +# specialized to include a root filesystem specification. # # $FreeBSD$ # Modified: stable/11/sys/net/altq/altq_hfsc.h ============================================================================== --- stable/11/sys/net/altq/altq_hfsc.h Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/net/altq/altq_hfsc.h Mon Mar 5 06:59:30 2018 (r330446) @@ -192,7 +192,7 @@ struct hfsc_class_stats { * representation. * the slope values are scaled to avoid overflow. * the inverse slope values as well as the y-projection of the 1st - * segment are kept in order to to avoid 64-bit divide operations + * segment are kept in order to avoid 64-bit divide operations * that are expensive on 32-bit architectures. * * note: Intel Pentium TSC never wraps around in several thousands of years. Modified: stable/11/sys/net/bpf.c ============================================================================== --- stable/11/sys/net/bpf.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/net/bpf.c Mon Mar 5 06:59:30 2018 (r330446) @@ -687,7 +687,7 @@ bpf_check_upgrade(u_long cmd, struct bpf_d *d, struct * Check if cmd looks like snaplen setting from * pcap_bpf.c:pcap_open_live(). * Note we're not checking .k value here: - * while pcap_open_live() definitely sets to to non-zero value, + * while pcap_open_live() definitely sets to non-zero value, * we'd prefer to treat k=0 (deny ALL) case the same way: e.g. * do not consider upgrading immediately */ Modified: stable/11/sys/net80211/ieee80211_ht.c ============================================================================== --- stable/11/sys/net80211/ieee80211_ht.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/net80211/ieee80211_ht.c Mon Mar 5 06:59:30 2018 (r330446) @@ -2965,7 +2965,7 @@ ieee80211_add_htinfo_body(uint8_t *frm, struct ieee802 } /* - * Add 802.11n HT information information element. + * Add 802.11n HT information element. */ uint8_t * ieee80211_add_htinfo(uint8_t *frm, struct ieee80211_node *ni) Modified: stable/11/sys/net80211/ieee80211_scan_sta.c ============================================================================== --- stable/11/sys/net80211/ieee80211_scan_sta.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/net80211/ieee80211_scan_sta.c Mon Mar 5 06:59:30 2018 (r330446) @@ -116,7 +116,7 @@ static void sta_flush_table(struct sta_table *); /* * match_bss returns a bitmask describing if an entry is suitable * for use. If non-zero the entry was deemed not suitable and it's - * contents explains why. The following flags are or'd to to this + * contents explains why. The following flags are or'd to this * mask and can be used to figure out why the entry was rejected. */ #define MATCH_CHANNEL 0x00001 /* channel mismatch */ Modified: stable/11/sys/powerpc/booke/locore.S ============================================================================== --- stable/11/sys/powerpc/booke/locore.S Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/powerpc/booke/locore.S Mon Mar 5 06:59:30 2018 (r330446) @@ -79,7 +79,7 @@ __start: * - Switch to temp mapping * - Map 64MB of RAM in TLB1[1] * - Use AS=1, set EPN to KERNBASE and RPN to kernel load address - * - Switch to to TLB1[1] mapping + * - Switch to TLB1[1] mapping * - Invalidate temp mapping * * locore registers use: Modified: stable/11/sys/sparc64/pci/sbbc.c ============================================================================== --- stable/11/sys/sparc64/pci/sbbc.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/sparc64/pci/sbbc.c Mon Mar 5 06:59:30 2018 (r330446) @@ -325,7 +325,7 @@ sbbc_pci_attach(device_t dev) int error, rid; uint32_t val; - /* Nothing to to if we're not the chosen one. */ + /* Nothing to do if we're not the chosen one. */ if ((node = OF_finddevice("/chosen")) == -1) { device_printf(dev, "failed to find /chosen\n"); return (ENXIO); Modified: stable/11/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- stable/11/sys/ufs/ffs/ffs_softdep.c Mon Mar 5 06:52:26 2018 (r330445) +++ stable/11/sys/ufs/ffs/ffs_softdep.c Mon Mar 5 06:59:30 2018 (r330446) @@ -6900,7 +6900,7 @@ softdep_setup_freeblocks(ip, length, flags) UFS_UNLOCK(ump); DIP_SET(ip, i_blocks, DIP(ip, i_blocks) - datablocks); /* - * Push the zero'ed inode to to its disk buffer so that we are free + * Push the zero'ed inode to its disk buffer so that we are free * to delete its dependencies below. Once the dependencies are gone * the buffer can be safely released. */ From owner-svn-src-stable@freebsd.org Mon Mar 5 07:08:59 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B93DF37121; Mon, 5 Mar 2018 07:08:59 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4C0F28721F; Mon, 5 Mar 2018 07:08:59 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2CBBC20A59; Mon, 5 Mar 2018 07:08:59 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2578xnZ076497; Mon, 5 Mar 2018 07:08:59 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2578xeV076496; Mon, 5 Mar 2018 07:08:59 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050708.w2578xeV076496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 07:08:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330447 - stable/11/sys/dev/iwm X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/iwm X-SVN-Commit-Revision: 330447 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 07:08:59 -0000 Author: eadler Date: Mon Mar 5 07:08:58 2018 New Revision: 330447 URL: https://svnweb.freebsd.org/changeset/base/330447 Log: MFC r315924: [iwm] GC unused code from if_iwm_scan.c, copyied from iwn or iwlwifi/dvm. Obtained from: dragonflybsd.git 10881df269b93c26e5ee6af629c36db5672e6e52 Modified: stable/11/sys/dev/iwm/if_iwm_scan.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/iwm/if_iwm_scan.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_scan.c Mon Mar 5 06:59:30 2018 (r330446) +++ stable/11/sys/dev/iwm/if_iwm_scan.c Mon Mar 5 07:08:58 2018 (r330447) @@ -161,12 +161,6 @@ __FBSDID("$FreeBSD$"); * BEGIN mvm/scan.c */ -#define IWM_PLCP_QUIET_THRESH 1 -#define IWM_ACTIVE_QUIET_TIME 10 -#define LONG_OUT_TIME_PERIOD (600 * IEEE80211_DUR_TU) -#define SHORT_OUT_TIME_PERIOD (200 * IEEE80211_DUR_TU) -#define SUSPEND_TIME_PERIOD (100 * IEEE80211_DUR_TU) - static uint16_t iwm_mvm_scan_rx_chain(struct iwm_softc *sc) { @@ -181,27 +175,7 @@ iwm_mvm_scan_rx_chain(struct iwm_softc *sc) return htole16(rx_chain); } -#if 0 static uint32_t -iwm_mvm_scan_max_out_time(struct iwm_softc *sc, uint32_t flags, int is_assoc) -{ - if (!is_assoc) - return 0; - if (flags & 0x1) - return htole32(SHORT_OUT_TIME_PERIOD); - return htole32(LONG_OUT_TIME_PERIOD); -} - -static uint32_t -iwm_mvm_scan_suspend_time(struct iwm_softc *sc, int is_assoc) -{ - if (!is_assoc) - return 0; - return htole32(SUSPEND_TIME_PERIOD); -} -#endif - -static uint32_t iwm_mvm_scan_rate_n_flags(struct iwm_softc *sc, int flags, int no_cck) { uint32_t tx_ant; @@ -223,32 +197,6 @@ iwm_mvm_scan_rate_n_flags(struct iwm_softc *sc, int fl else return htole32(IWM_RATE_6M_PLCP | tx_ant); } - -#if 0 -/* - * If req->n_ssids > 0, it means we should do an active scan. - * In case of active scan w/o directed scan, we receive a zero-length SSID - * just to notify that this scan is active and not passive. - * In order to notify the FW of the number of SSIDs we wish to scan (including - * the zero-length one), we need to set the corresponding bits in chan->type, - * one for each SSID, and set the active bit (first). If the first SSID is - * already included in the probe template, so we need to set only - * req->n_ssids - 1 bits in addition to the first bit. - */ -static uint16_t -iwm_mvm_get_active_dwell(struct iwm_softc *sc, int flags, int n_ssids) -{ - if (flags & IEEE80211_CHAN_2GHZ) - return 30 + 3 * (n_ssids + 1); - return 20 + 2 * (n_ssids + 1); -} - -static uint16_t -iwm_mvm_get_passive_dwell(struct iwm_softc *sc, int flags) -{ - return (flags & IEEE80211_CHAN_2GHZ) ? 100 + 20 : 100 + 10; -} -#endif static int iwm_mvm_scan_skip_channel(struct ieee80211_channel *c) From owner-svn-src-stable@freebsd.org Mon Mar 5 07:14:57 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 67B08F37814; Mon, 5 Mar 2018 07:14:57 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0D72B876EF; Mon, 5 Mar 2018 07:14:57 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 03AE420BFB; Mon, 5 Mar 2018 07:14:57 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w257EupH081243; Mon, 5 Mar 2018 07:14:56 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w257EuL3081242; Mon, 5 Mar 2018 07:14:56 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050714.w257EuL3081242@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 07:14:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330448 - stable/11/sbin/ifconfig X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sbin/ifconfig X-SVN-Commit-Revision: 330448 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 07:14:57 -0000 Author: eadler Date: Mon Mar 5 07:14:56 2018 New Revision: 330448 URL: https://svnweb.freebsd.org/changeset/base/330448 Log: MFC r314181: [ifconfig] handle illegal WPS frames Some APs broadcast WPS IE frames with totally broken data. Ifconfig's printwpsie() loops through WPS frames printing the attributes out; if the frame's data is bad, printwpsie() can end up looking at out-of-bounds addresses causing ifconfig to bus error. Thanks to Takashi Inoue at Nihon U for his efforts in debugging this. PR: bin/217312 Modified: stable/11/sbin/ifconfig/ifieee80211.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ifconfig/ifieee80211.c ============================================================================== --- stable/11/sbin/ifconfig/ifieee80211.c Mon Mar 5 07:08:58 2018 (r330447) +++ stable/11/sbin/ifconfig/ifieee80211.c Mon Mar 5 07:14:56 2018 (r330448) @@ -2997,6 +2997,14 @@ printwpsie(const char *tag, const u_int8_t *ie, size_t uint16_t tlv_type = BE_READ_2(ie); uint16_t tlv_len = BE_READ_2(ie + 2); + /* some devices broadcast invalid WPS frames */ + if (tlv_len > len) { + printf("bad frame length tlv_type=0x%02x " + "tlv_len=%d len=%d", tlv_type, tlv_len, + len); + break; + } + ie += 4, len -= 4; switch (tlv_type) { From owner-svn-src-stable@freebsd.org Mon Mar 5 07:26:17 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 450C8F38576; Mon, 5 Mar 2018 07:26:17 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E903987DFB; Mon, 5 Mar 2018 07:26:16 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DC65120D89; Mon, 5 Mar 2018 07:26:16 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w257QGJf086398; Mon, 5 Mar 2018 07:26:16 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w257Q6rM086291; Mon, 5 Mar 2018 07:26:06 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050726.w257Q6rM086291@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 07:26:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330449 - in stable/11: bin/pkill etc/pam.d kerberos5/lib/libgssapi_krb5 kerberos5/lib/libgssapi_ntlm kerberos5/lib/libgssapi_spnego sbin/adjkerntz sbin/camcontrol sbin/ccdconfig sbin/c... X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11: bin/pkill etc/pam.d kerberos5/lib/libgssapi_krb5 kerberos5/lib/libgssapi_ntlm kerberos5/lib/libgssapi_spnego sbin/adjkerntz sbin/camcontrol sbin/ccdconfig sbin/comcontrol sbin/conscontro... X-SVN-Commit-Revision: 330449 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 07:26:18 -0000 Author: eadler Date: Mon Mar 5 07:26:05 2018 New Revision: 330449 URL: https://svnweb.freebsd.org/changeset/base/330449 Log: MFC r326276: various: general adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. No functional change intended. Modified: stable/11/bin/pkill/pkill.c stable/11/etc/pam.d/convert.pl stable/11/kerberos5/lib/libgssapi_krb5/gss_krb5.c stable/11/kerberos5/lib/libgssapi_krb5/pname_to_uid.c stable/11/kerberos5/lib/libgssapi_krb5/prefix.c stable/11/kerberos5/lib/libgssapi_ntlm/prefix.c stable/11/kerberos5/lib/libgssapi_spnego/freebsd_compat.c stable/11/sbin/adjkerntz/adjkerntz.c stable/11/sbin/adjkerntz/pathnames.h stable/11/sbin/camcontrol/camcontrol.h stable/11/sbin/camcontrol/fwdownload.c stable/11/sbin/camcontrol/modeedit.c stable/11/sbin/camcontrol/progress.c stable/11/sbin/camcontrol/progress.h stable/11/sbin/camcontrol/util.c stable/11/sbin/ccdconfig/ccdconfig.c stable/11/sbin/ccdconfig/pathnames.h stable/11/sbin/comcontrol/comcontrol.c stable/11/sbin/conscontrol/conscontrol.c stable/11/sbin/ddb/ddb.c stable/11/sbin/ddb/ddb.h stable/11/sbin/ddb/ddb_capture.c stable/11/sbin/ddb/ddb_script.c stable/11/sbin/devd/devd.h stable/11/sbin/devd/devd.hh stable/11/sbin/devd/parse.y stable/11/sbin/devd/token.l stable/11/sbin/devfs/devfs.c stable/11/sbin/devfs/extern.h stable/11/sbin/devfs/rule.c stable/11/sbin/etherswitchcfg/etherswitchcfg.c stable/11/sbin/fsck/fsutil.h stable/11/sbin/fsck_ffs/ea.c stable/11/sbin/fsck_ffs/suj.c stable/11/sbin/fsck_msdosfs/boot.c stable/11/sbin/fsck_msdosfs/check.c stable/11/sbin/fsck_msdosfs/dir.c stable/11/sbin/fsck_msdosfs/dosfs.h stable/11/sbin/fsck_msdosfs/ext.h stable/11/sbin/fsck_msdosfs/fat.c stable/11/sbin/fsck_msdosfs/main.c stable/11/sbin/fsdb/fsdb.c stable/11/sbin/fsdb/fsdb.h stable/11/sbin/fsdb/fsdbutil.c stable/11/sbin/fsirand/fsirand.c stable/11/sbin/gbde/gbde.c stable/11/sbin/geom/class/cache/geom_cache.c stable/11/sbin/geom/class/concat/geom_concat.c stable/11/sbin/geom/class/eli/geom_eli.c stable/11/sbin/geom/class/journal/geom_journal.c stable/11/sbin/geom/class/journal/geom_journal.h stable/11/sbin/geom/class/journal/geom_journal_ufs.c stable/11/sbin/geom/class/label/geom_label.c stable/11/sbin/geom/class/mirror/geom_mirror.c stable/11/sbin/geom/class/mountver/geom_mountver.c stable/11/sbin/geom/class/multipath/geom_multipath.c stable/11/sbin/geom/class/nop/geom_nop.c stable/11/sbin/geom/class/part/geom_part.c stable/11/sbin/geom/class/raid/geom_raid.c stable/11/sbin/geom/class/raid3/geom_raid3.c stable/11/sbin/geom/class/sched/geom_sched.c stable/11/sbin/geom/class/shsec/geom_shsec.c stable/11/sbin/geom/class/stripe/geom_stripe.c stable/11/sbin/geom/class/virstor/geom_virstor.c stable/11/sbin/geom/core/geom.c stable/11/sbin/geom/core/geom.h stable/11/sbin/geom/misc/subr.c stable/11/sbin/geom/misc/subr.h stable/11/sbin/ggate/ggatec/ggatec.c stable/11/sbin/ggate/ggated/ggated.c stable/11/sbin/ggate/ggatel/ggatel.c stable/11/sbin/ggate/shared/ggate.c stable/11/sbin/ggate/shared/ggate.h stable/11/sbin/gvinum/gvinum.c stable/11/sbin/hastctl/hastctl.c stable/11/sbin/hastd/activemap.c stable/11/sbin/hastd/activemap.h stable/11/sbin/hastd/control.c stable/11/sbin/hastd/control.h stable/11/sbin/hastd/ebuf.c stable/11/sbin/hastd/ebuf.h stable/11/sbin/hastd/event.c stable/11/sbin/hastd/event.h stable/11/sbin/hastd/hast.h stable/11/sbin/hastd/hast_checksum.c stable/11/sbin/hastd/hast_checksum.h stable/11/sbin/hastd/hast_compression.c stable/11/sbin/hastd/hast_compression.h stable/11/sbin/hastd/hast_proto.c stable/11/sbin/hastd/hast_proto.h stable/11/sbin/hastd/hastd.c stable/11/sbin/hastd/hastd.h stable/11/sbin/hastd/hooks.c stable/11/sbin/hastd/hooks.h stable/11/sbin/hastd/lzf.c stable/11/sbin/hastd/lzf.h stable/11/sbin/hastd/metadata.c stable/11/sbin/hastd/metadata.h stable/11/sbin/hastd/nv.c stable/11/sbin/hastd/nv.h stable/11/sbin/hastd/parse.y stable/11/sbin/hastd/pjdlog.c stable/11/sbin/hastd/pjdlog.h stable/11/sbin/hastd/primary.c stable/11/sbin/hastd/proto.c stable/11/sbin/hastd/proto.h stable/11/sbin/hastd/proto_common.c stable/11/sbin/hastd/proto_impl.h stable/11/sbin/hastd/proto_socketpair.c stable/11/sbin/hastd/proto_tcp.c stable/11/sbin/hastd/proto_uds.c stable/11/sbin/hastd/rangelock.c stable/11/sbin/hastd/rangelock.h stable/11/sbin/hastd/refcnt.h stable/11/sbin/hastd/secondary.c stable/11/sbin/hastd/subr.c stable/11/sbin/hastd/subr.h stable/11/sbin/hastd/synch.h stable/11/sbin/hastd/token.l stable/11/sbin/ifconfig/af_nd6.c stable/11/sbin/ifconfig/carp.c stable/11/sbin/ifconfig/ifbridge.c stable/11/sbin/ifconfig/ifconfig.h stable/11/sbin/ifconfig/iffib.c stable/11/sbin/ifconfig/ifgif.c stable/11/sbin/ifconfig/ifgre.c stable/11/sbin/ifconfig/ifgroup.c stable/11/sbin/ifconfig/ifieee80211.c stable/11/sbin/ifconfig/ifmac.c stable/11/sbin/ifconfig/ifpfsync.c stable/11/sbin/iscontrol/auth_subr.c stable/11/sbin/iscontrol/config.c stable/11/sbin/iscontrol/fsm.c stable/11/sbin/iscontrol/iscontrol.c stable/11/sbin/iscontrol/iscontrol.h stable/11/sbin/iscontrol/login.c stable/11/sbin/iscontrol/misc.c stable/11/sbin/iscontrol/pdu.c stable/11/sbin/kldconfig/kldconfig.c stable/11/sbin/kldload/kldload.c stable/11/sbin/kldstat/kldstat.c stable/11/sbin/kldunload/kldunload.c stable/11/sbin/ldconfig/elfhints.c stable/11/sbin/ldconfig/ldconfig.c stable/11/sbin/ldconfig/ldconfig.h stable/11/sbin/mdconfig/mdconfig.c stable/11/sbin/mdmfs/mdmfs.c stable/11/sbin/mksnap_ffs/mksnap_ffs.c stable/11/sbin/mount/extern.h stable/11/sbin/mount_fusefs/mount_fusefs.c stable/11/sbin/mount_msdosfs/mount_msdosfs.c stable/11/sbin/nandfs/lssnap.c stable/11/sbin/nandfs/mksnap.c stable/11/sbin/nandfs/nandfs.c stable/11/sbin/nandfs/nandfs.h stable/11/sbin/nandfs/rmsnap.c stable/11/sbin/newfs_msdos/newfs_msdos.c stable/11/sbin/newfs_nandfs/newfs_nandfs.c stable/11/sbin/nos-tun/nos-tun.c stable/11/sbin/nvmecontrol/devlist.c stable/11/sbin/nvmecontrol/firmware.c stable/11/sbin/nvmecontrol/identify.c stable/11/sbin/nvmecontrol/logpage.c stable/11/sbin/nvmecontrol/nvmecontrol.c stable/11/sbin/nvmecontrol/nvmecontrol.h stable/11/sbin/nvmecontrol/perftest.c stable/11/sbin/nvmecontrol/reset.c stable/11/sbin/pfctl/parse.y stable/11/sbin/pfctl/pf_print_state.c stable/11/sbin/pfctl/pfctl.c stable/11/sbin/pfctl/pfctl.h stable/11/sbin/pfctl/pfctl_parser.c stable/11/sbin/pfctl/pfctl_parser.h stable/11/sbin/pfctl/pfctl_radix.c stable/11/sbin/pfctl/pfctl_table.c stable/11/sbin/rcorder/rcorder.c stable/11/sbin/reboot/nextboot.sh stable/11/sbin/spppcontrol/spppcontrol.c stable/11/usr.bin/ar/acplex.l stable/11/usr.bin/ar/acpyacc.y stable/11/usr.bin/ar/ar.h stable/11/usr.bin/ar/read.c stable/11/usr.bin/ar/util.c stable/11/usr.bin/ar/write.c stable/11/usr.bin/asa/asa.c stable/11/usr.bin/at/at.c stable/11/usr.bin/at/at.h stable/11/usr.bin/at/panic.c stable/11/usr.bin/at/panic.h stable/11/usr.bin/at/parsetime.c stable/11/usr.bin/at/parsetime.h stable/11/usr.bin/at/perm.c stable/11/usr.bin/at/perm.h stable/11/usr.bin/at/privs.h stable/11/usr.bin/bluetooth/bthost/bthost.c stable/11/usr.bin/bluetooth/btsockstat/btsockstat.c stable/11/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sdp.c stable/11/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c stable/11/usr.bin/brandelf/brandelf.c stable/11/usr.bin/bsdiff/bsdiff/bsdiff.c stable/11/usr.bin/bsdiff/bspatch/bspatch.c stable/11/usr.bin/c89/c89.c stable/11/usr.bin/c99/c99.c stable/11/usr.bin/calendar/dates.c stable/11/usr.bin/calendar/events.c stable/11/usr.bin/calendar/ostern.c stable/11/usr.bin/calendar/parsedata.c stable/11/usr.bin/calendar/paskha.c stable/11/usr.bin/calendar/sunpos.c stable/11/usr.bin/cmp/link.c stable/11/usr.bin/colldef/parse.y stable/11/usr.bin/colldef/scan.l stable/11/usr.bin/compress/zopen.h stable/11/usr.bin/cpuset/cpuset.c stable/11/usr.bin/csplit/csplit.c stable/11/usr.bin/ctlstat/ctlstat.c stable/11/usr.bin/dtc/checking.cc stable/11/usr.bin/dtc/checking.hh stable/11/usr.bin/dtc/dtb.cc stable/11/usr.bin/dtc/dtb.hh stable/11/usr.bin/dtc/dtc.cc stable/11/usr.bin/dtc/fdt.cc stable/11/usr.bin/dtc/fdt.hh stable/11/usr.bin/dtc/input_buffer.cc stable/11/usr.bin/dtc/input_buffer.hh stable/11/usr.bin/dtc/string.cc stable/11/usr.bin/dtc/util.hh stable/11/usr.bin/elf2aout/elf2aout.c stable/11/usr.bin/elfdump/elfdump.c stable/11/usr.bin/env/envopts.c stable/11/usr.bin/env/envopts.h stable/11/usr.bin/fetch/fetch.c stable/11/usr.bin/finger/pathnames.h stable/11/usr.bin/fstat/functions.h stable/11/usr.bin/fstat/fuser.c stable/11/usr.bin/fstat/main.c stable/11/usr.bin/fsync/fsync.c stable/11/usr.bin/gcore/elfcore.c stable/11/usr.bin/gencat/gencat.c stable/11/usr.bin/getent/getent.c stable/11/usr.bin/grep/file.c stable/11/usr.bin/grep/grep.c stable/11/usr.bin/grep/grep.h stable/11/usr.bin/grep/queue.c stable/11/usr.bin/grep/regex/fastmatch.c stable/11/usr.bin/grep/regex/hashtable.c stable/11/usr.bin/grep/regex/tre-fastmatch.c stable/11/usr.bin/grep/util.c stable/11/usr.bin/gzip/gzip.c stable/11/usr.bin/gzip/unbzip2.c stable/11/usr.bin/gzip/unpack.c stable/11/usr.bin/gzip/unxz.c stable/11/usr.bin/iconv/iconv.c stable/11/usr.bin/indent/indent.h stable/11/usr.bin/ipcrm/ipcrm.c stable/11/usr.bin/ipcs/ipc.c stable/11/usr.bin/ipcs/ipc.h stable/11/usr.bin/ipcs/ipcs.c stable/11/usr.bin/iscsictl/iscsictl.c stable/11/usr.bin/iscsictl/iscsictl.h stable/11/usr.bin/iscsictl/parse.y stable/11/usr.bin/iscsictl/periphs.c stable/11/usr.bin/iscsictl/token.l stable/11/usr.bin/killall/killall.c stable/11/usr.bin/ktrdump/ktrdump.c stable/11/usr.bin/lastcomm/readrec.c stable/11/usr.bin/ldd/extern.h stable/11/usr.bin/ldd/ldd.c stable/11/usr.bin/ldd/sods.c stable/11/usr.bin/locale/locale.c stable/11/usr.bin/locate/locate/concatdb.sh stable/11/usr.bin/locate/locate/mklocatedb.sh stable/11/usr.bin/locate/locate/updatedb.sh stable/11/usr.bin/lockf/lockf.c stable/11/usr.bin/login/login.h stable/11/usr.bin/logins/logins.c stable/11/usr.bin/m4/gnum4.c stable/11/usr.bin/m4/trace.c stable/11/usr.bin/man/man.sh stable/11/usr.bin/mkcsmapper/ldef.h stable/11/usr.bin/mkcsmapper/lex.l stable/11/usr.bin/mkcsmapper/yacc.y stable/11/usr.bin/mkesdb/ldef.h stable/11/usr.bin/mkesdb/lex.l stable/11/usr.bin/mkesdb/yacc.y stable/11/usr.bin/mktemp/mktemp.c stable/11/usr.bin/mkuzip/mkuzip.c stable/11/usr.bin/ncal/ncal.c stable/11/usr.bin/netstat/bpf.c stable/11/usr.bin/netstat/netisr.c stable/11/usr.bin/newgrp/newgrp.c stable/11/usr.bin/nl/nl.c stable/11/usr.bin/passwd/passwd.c stable/11/usr.bin/pathchk/pathchk.c stable/11/usr.bin/perror/perror.c stable/11/usr.bin/procstat/procstat.c stable/11/usr.bin/procstat/procstat.h stable/11/usr.bin/procstat/procstat_args.c stable/11/usr.bin/procstat/procstat_auxv.c stable/11/usr.bin/procstat/procstat_basic.c stable/11/usr.bin/procstat/procstat_bin.c stable/11/usr.bin/procstat/procstat_cred.c stable/11/usr.bin/procstat/procstat_files.c stable/11/usr.bin/procstat/procstat_kstack.c stable/11/usr.bin/procstat/procstat_rlimit.c stable/11/usr.bin/procstat/procstat_sigs.c stable/11/usr.bin/procstat/procstat_threads.c stable/11/usr.bin/procstat/procstat_vm.c stable/11/usr.bin/protect/protect.c stable/11/usr.bin/rctl/rctl.c stable/11/usr.bin/revoke/revoke.c stable/11/usr.bin/seq/seq.c stable/11/usr.bin/setchannel/setchannel.c stable/11/usr.bin/sockstat/sockstat.c stable/11/usr.bin/sort/bwstring.c stable/11/usr.bin/sort/bwstring.h stable/11/usr.bin/sort/coll.c stable/11/usr.bin/sort/coll.h stable/11/usr.bin/sort/file.c stable/11/usr.bin/sort/file.h stable/11/usr.bin/sort/mem.c stable/11/usr.bin/sort/mem.h stable/11/usr.bin/sort/radixsort.c stable/11/usr.bin/sort/radixsort.h stable/11/usr.bin/sort/sort.c stable/11/usr.bin/sort/sort.h stable/11/usr.bin/sort/vsort.c stable/11/usr.bin/sort/vsort.h stable/11/usr.bin/ssh-copy-id/ssh-copy-id.sh stable/11/usr.bin/stat/stat.c stable/11/usr.bin/stdbuf/stdbuf.c stable/11/usr.bin/systat/convtbl.c stable/11/usr.bin/systat/convtbl.h stable/11/usr.bin/systat/devs.h stable/11/usr.bin/systat/ifcmds.c stable/11/usr.bin/systat/ifstat.c stable/11/usr.bin/tabs/tabs.c stable/11/usr.bin/tr/cmap.c stable/11/usr.bin/tr/cmap.h stable/11/usr.bin/tr/cset.c stable/11/usr.bin/tr/cset.h stable/11/usr.bin/truncate/truncate.c stable/11/usr.bin/truss/truss.h stable/11/usr.bin/unifdef/unifdef.c stable/11/usr.bin/unifdef/unifdef.h stable/11/usr.bin/unifdef/unifdefall.sh stable/11/usr.bin/units/units.c stable/11/usr.bin/unzip/unzip.c stable/11/usr.bin/usbhidaction/usbhidaction.c stable/11/usr.bin/usbhidctl/usbhid.c stable/11/usr.bin/whereis/pathnames.h stable/11/usr.bin/whereis/whereis.c stable/11/usr.bin/which/which.c stable/11/usr.bin/who/who.c stable/11/usr.bin/ypcat/ypcat.c stable/11/usr.bin/ypmatch/ypmatch.c stable/11/usr.bin/ypwhich/ypwhich.c stable/11/usr.sbin/ac/ac.c stable/11/usr.sbin/acpi/acpiconf/acpiconf.c stable/11/usr.sbin/acpi/acpidb/acpidb.c stable/11/usr.sbin/acpi/acpidump/acpi.c stable/11/usr.sbin/acpi/acpidump/acpi_user.c stable/11/usr.sbin/acpi/acpidump/acpidump.c stable/11/usr.sbin/acpi/acpidump/acpidump.h stable/11/usr.sbin/adduser/adduser.sh stable/11/usr.sbin/adduser/rmuser.sh stable/11/usr.sbin/apmd/apmd.c stable/11/usr.sbin/apmd/apmd.h stable/11/usr.sbin/apmd/apmdlex.l stable/11/usr.sbin/apmd/apmdparse.y stable/11/usr.sbin/asf/asf.c stable/11/usr.sbin/asf/asf.h stable/11/usr.sbin/asf/asf_kld.c stable/11/usr.sbin/asf/asf_kvm.c stable/11/usr.sbin/asf/asf_prog.c stable/11/usr.sbin/bhyve/acpi.c stable/11/usr.sbin/bhyve/acpi.h stable/11/usr.sbin/bhyve/ahci.h stable/11/usr.sbin/bhyve/bhyverun.c stable/11/usr.sbin/bhyve/bhyverun.h stable/11/usr.sbin/bhyve/block_if.c stable/11/usr.sbin/bhyve/block_if.h stable/11/usr.sbin/bhyve/consport.c stable/11/usr.sbin/bhyve/dbgport.c stable/11/usr.sbin/bhyve/dbgport.h stable/11/usr.sbin/bhyve/inout.c stable/11/usr.sbin/bhyve/inout.h stable/11/usr.sbin/bhyve/ioapic.c stable/11/usr.sbin/bhyve/ioapic.h stable/11/usr.sbin/bhyve/mem.c stable/11/usr.sbin/bhyve/mem.h stable/11/usr.sbin/bhyve/mevent.c stable/11/usr.sbin/bhyve/mevent.h stable/11/usr.sbin/bhyve/mevent_test.c stable/11/usr.sbin/bhyve/mptbl.c stable/11/usr.sbin/bhyve/mptbl.h stable/11/usr.sbin/bhyve/pci_ahci.c stable/11/usr.sbin/bhyve/pci_emul.c stable/11/usr.sbin/bhyve/pci_emul.h stable/11/usr.sbin/bhyve/pci_hostbridge.c stable/11/usr.sbin/bhyve/pci_lpc.c stable/11/usr.sbin/bhyve/pci_lpc.h stable/11/usr.sbin/bhyve/pci_passthru.c stable/11/usr.sbin/bhyve/pci_uart.c stable/11/usr.sbin/bhyve/pci_virtio_block.c stable/11/usr.sbin/bhyve/pci_virtio_net.c stable/11/usr.sbin/bhyve/pm.c stable/11/usr.sbin/bhyve/post.c stable/11/usr.sbin/bhyve/rtc.c stable/11/usr.sbin/bhyve/rtc.h stable/11/usr.sbin/bhyve/smbiostbl.c stable/11/usr.sbin/bhyve/smbiostbl.h stable/11/usr.sbin/bhyve/spinup_ap.c stable/11/usr.sbin/bhyve/spinup_ap.h stable/11/usr.sbin/bhyve/uart_emul.c stable/11/usr.sbin/bhyve/uart_emul.h stable/11/usr.sbin/bhyve/virtio.c stable/11/usr.sbin/bhyve/virtio.h stable/11/usr.sbin/bhyve/xmsr.c stable/11/usr.sbin/bhyve/xmsr.h stable/11/usr.sbin/bhyvectl/bhyvectl.c stable/11/usr.sbin/bhyveload/bhyveload.c stable/11/usr.sbin/bluetooth/bcmfw/bcmfw.c stable/11/usr.sbin/bluetooth/bt3cfw/bt3cfw.c stable/11/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c stable/11/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.h stable/11/usr.sbin/bluetooth/bthidcontrol/hid.c stable/11/usr.sbin/bluetooth/bthidcontrol/sdp.c stable/11/usr.sbin/bluetooth/bthidd/bthid_config.h stable/11/usr.sbin/bluetooth/bthidd/bthidd.c stable/11/usr.sbin/bluetooth/bthidd/bthidd.h stable/11/usr.sbin/bluetooth/bthidd/client.c stable/11/usr.sbin/bluetooth/bthidd/hid.c stable/11/usr.sbin/bluetooth/bthidd/kbd.c stable/11/usr.sbin/bluetooth/bthidd/kbd.h stable/11/usr.sbin/bluetooth/bthidd/lexer.l stable/11/usr.sbin/bluetooth/bthidd/parser.y stable/11/usr.sbin/bluetooth/bthidd/server.c stable/11/usr.sbin/bluetooth/bthidd/session.c stable/11/usr.sbin/bluetooth/btpand/bnep.c stable/11/usr.sbin/bluetooth/btpand/bnep.h stable/11/usr.sbin/bluetooth/btpand/btpand.c stable/11/usr.sbin/bluetooth/btpand/btpand.h stable/11/usr.sbin/bluetooth/btpand/channel.c stable/11/usr.sbin/bluetooth/btpand/client.c stable/11/usr.sbin/bluetooth/btpand/event.c stable/11/usr.sbin/bluetooth/btpand/event.h stable/11/usr.sbin/bluetooth/btpand/packet.c stable/11/usr.sbin/bluetooth/btpand/sdp.c stable/11/usr.sbin/bluetooth/btpand/sdp.h stable/11/usr.sbin/bluetooth/btpand/server.c stable/11/usr.sbin/bluetooth/btpand/tap.c stable/11/usr.sbin/bluetooth/hccontrol/hccontrol.c stable/11/usr.sbin/bluetooth/hccontrol/hccontrol.h stable/11/usr.sbin/bluetooth/hccontrol/host_controller_baseband.c stable/11/usr.sbin/bluetooth/hccontrol/info.c stable/11/usr.sbin/bluetooth/hccontrol/link_control.c stable/11/usr.sbin/bluetooth/hccontrol/link_policy.c stable/11/usr.sbin/bluetooth/hccontrol/node.c stable/11/usr.sbin/bluetooth/hccontrol/send_recv.c stable/11/usr.sbin/bluetooth/hccontrol/status.c stable/11/usr.sbin/bluetooth/hccontrol/util.c stable/11/usr.sbin/bluetooth/hcsecd/hcsecd.c stable/11/usr.sbin/bluetooth/hcsecd/hcsecd.h stable/11/usr.sbin/bluetooth/hcsecd/lexer.l stable/11/usr.sbin/bluetooth/hcsecd/parser.y stable/11/usr.sbin/bluetooth/hcseriald/hcseriald.c stable/11/usr.sbin/bluetooth/l2control/l2cap.c stable/11/usr.sbin/bluetooth/l2control/l2control.c stable/11/usr.sbin/bluetooth/l2control/l2control.h stable/11/usr.sbin/bluetooth/l2ping/l2ping.c stable/11/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c stable/11/usr.sbin/bluetooth/sdpcontrol/sdpcontrol.c stable/11/usr.sbin/bluetooth/sdpcontrol/sdpcontrol.h stable/11/usr.sbin/bluetooth/sdpcontrol/search.c stable/11/usr.sbin/bluetooth/sdpd/bgd.c stable/11/usr.sbin/bluetooth/sdpd/dun.c stable/11/usr.sbin/bluetooth/sdpd/ftrn.c stable/11/usr.sbin/bluetooth/sdpd/gn.c stable/11/usr.sbin/bluetooth/sdpd/irmc.c stable/11/usr.sbin/bluetooth/sdpd/irmc_command.c stable/11/usr.sbin/bluetooth/sdpd/lan.c stable/11/usr.sbin/bluetooth/sdpd/log.c stable/11/usr.sbin/bluetooth/sdpd/log.h stable/11/usr.sbin/bluetooth/sdpd/main.c stable/11/usr.sbin/bluetooth/sdpd/nap.c stable/11/usr.sbin/bluetooth/sdpd/opush.c stable/11/usr.sbin/bluetooth/sdpd/panu.c stable/11/usr.sbin/bluetooth/sdpd/profile.c stable/11/usr.sbin/bluetooth/sdpd/profile.h stable/11/usr.sbin/bluetooth/sdpd/provider.c stable/11/usr.sbin/bluetooth/sdpd/provider.h stable/11/usr.sbin/bluetooth/sdpd/sar.c stable/11/usr.sbin/bluetooth/sdpd/scr.c stable/11/usr.sbin/bluetooth/sdpd/sd.c stable/11/usr.sbin/bluetooth/sdpd/server.c stable/11/usr.sbin/bluetooth/sdpd/server.h stable/11/usr.sbin/bluetooth/sdpd/sp.c stable/11/usr.sbin/bluetooth/sdpd/srr.c stable/11/usr.sbin/bluetooth/sdpd/ssar.c stable/11/usr.sbin/bluetooth/sdpd/ssr.c stable/11/usr.sbin/bluetooth/sdpd/sur.c stable/11/usr.sbin/bluetooth/sdpd/uuid-private.h stable/11/usr.sbin/bluetooth/sdpd/uuid.c stable/11/usr.sbin/boot0cfg/boot0cfg.c stable/11/usr.sbin/bsdinstall/distextract/distextract.c stable/11/usr.sbin/bsdinstall/distfetch/distfetch.c stable/11/usr.sbin/bsdinstall/partedit/diskeditor.c stable/11/usr.sbin/bsdinstall/partedit/diskeditor.h stable/11/usr.sbin/bsdinstall/partedit/gpart_ops.c stable/11/usr.sbin/bsdinstall/partedit/part_wizard.c stable/11/usr.sbin/bsdinstall/partedit/partedit.c stable/11/usr.sbin/bsdinstall/partedit/partedit.h stable/11/usr.sbin/bsdinstall/partedit/partedit_generic.c stable/11/usr.sbin/bsdinstall/partedit/partedit_powerpc.c stable/11/usr.sbin/bsdinstall/partedit/partedit_sparc64.c stable/11/usr.sbin/bsdinstall/partedit/partedit_x86.c stable/11/usr.sbin/bsdinstall/partedit/scripted.c stable/11/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c stable/11/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c stable/11/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c stable/11/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c stable/11/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c stable/11/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h stable/11/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c stable/11/usr.sbin/bsnmpd/modules/snmp_hast/hast_snmp.c stable/11/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c stable/11/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.c stable/11/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.h stable/11/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c stable/11/usr.sbin/btxld/btx.h stable/11/usr.sbin/btxld/btxld.c stable/11/usr.sbin/btxld/elfh.c stable/11/usr.sbin/btxld/elfh.h stable/11/usr.sbin/chkgrp/chkgrp.c stable/11/usr.sbin/ckdist/ckdist.c stable/11/usr.sbin/clear_locks/clear_locks.c stable/11/usr.sbin/cpucontrol/amd.c stable/11/usr.sbin/cpucontrol/amd.h stable/11/usr.sbin/cpucontrol/cpucontrol.c stable/11/usr.sbin/cpucontrol/cpucontrol.h stable/11/usr.sbin/cpucontrol/intel.c stable/11/usr.sbin/cpucontrol/intel.h stable/11/usr.sbin/cpucontrol/via.c stable/11/usr.sbin/cpucontrol/via.h stable/11/usr.sbin/crunch/crunchide/exec_elf32.c stable/11/usr.sbin/crunch/crunchide/exec_elf64.c stable/11/usr.sbin/crunch/crunchide/extern.h stable/11/usr.sbin/ctladm/ctladm.h stable/11/usr.sbin/ctladm/util.c stable/11/usr.sbin/ctld/ctld.c stable/11/usr.sbin/ctld/ctld.h stable/11/usr.sbin/ctld/discovery.c stable/11/usr.sbin/ctld/kernel.c stable/11/usr.sbin/ctld/keys.c stable/11/usr.sbin/ctld/log.c stable/11/usr.sbin/ctld/login.c stable/11/usr.sbin/ctld/parse.y stable/11/usr.sbin/ctld/pdu.c stable/11/usr.sbin/ctld/token.l stable/11/usr.sbin/ctm/ctm_dequeue/ctm_dequeue.c stable/11/usr.sbin/daemon/daemon.c stable/11/usr.sbin/devinfo/devinfo.c stable/11/usr.sbin/digictl/digictl.c stable/11/usr.sbin/diskinfo/diskinfo.c stable/11/usr.sbin/dumpcis/cardinfo.h stable/11/usr.sbin/dumpcis/cis.h stable/11/usr.sbin/dumpcis/main.c stable/11/usr.sbin/dumpcis/printcis.c stable/11/usr.sbin/dumpcis/readcis.c stable/11/usr.sbin/dumpcis/readcis.h stable/11/usr.sbin/eeprom/eeprom.c stable/11/usr.sbin/eeprom/ofw_options.c stable/11/usr.sbin/eeprom/ofw_options.h stable/11/usr.sbin/etcupdate/etcupdate.sh stable/11/usr.sbin/extattr/rmextattr.c stable/11/usr.sbin/extattrctl/extattrctl.c stable/11/usr.sbin/fdcontrol/fdcontrol.c stable/11/usr.sbin/fdformat/fdformat.c stable/11/usr.sbin/fdread/fdread.c stable/11/usr.sbin/fdread/fdutil.c stable/11/usr.sbin/fdread/fdutil.h stable/11/usr.sbin/fifolog/fifolog_create/fifolog_create.c stable/11/usr.sbin/fifolog/fifolog_reader/fifolog_reader.c stable/11/usr.sbin/fifolog/fifolog_writer/fifolog_writer.c stable/11/usr.sbin/fifolog/lib/fifolog.h stable/11/usr.sbin/fifolog/lib/fifolog_create.c stable/11/usr.sbin/fifolog/lib/fifolog_int.c stable/11/usr.sbin/fifolog/lib/fifolog_reader.c stable/11/usr.sbin/fifolog/lib/fifolog_write.h stable/11/usr.sbin/fifolog/lib/fifolog_write_poll.c stable/11/usr.sbin/fifolog/lib/libfifolog.h stable/11/usr.sbin/fifolog/lib/libfifolog_int.h stable/11/usr.sbin/fifolog/lib/miniobj.h stable/11/usr.sbin/flowctl/flowctl.c stable/11/usr.sbin/freebsd-update/freebsd-update.sh stable/11/usr.sbin/getfmac/getfmac.c stable/11/usr.sbin/getpmac/getpmac.c stable/11/usr.sbin/gpioctl/gpioctl.c stable/11/usr.sbin/gssd/gssd.c stable/11/usr.sbin/gstat/gstat.c stable/11/usr.sbin/i2c/i2c.c stable/11/usr.sbin/inetd/builtins.c stable/11/usr.sbin/iscsid/discovery.c stable/11/usr.sbin/iscsid/iscsid.c stable/11/usr.sbin/iscsid/iscsid.h stable/11/usr.sbin/iscsid/keys.c stable/11/usr.sbin/iscsid/log.c stable/11/usr.sbin/iscsid/login.c stable/11/usr.sbin/iscsid/pdu.c stable/11/usr.sbin/jail/command.c stable/11/usr.sbin/jail/config.c stable/11/usr.sbin/jail/jail.c stable/11/usr.sbin/jail/jaillex.l stable/11/usr.sbin/jail/jailp.h stable/11/usr.sbin/jail/jailparse.y stable/11/usr.sbin/jail/state.c stable/11/usr.sbin/jexec/jexec.c stable/11/usr.sbin/jls/jls.c stable/11/usr.sbin/kbdcontrol/kbdcontrol.c stable/11/usr.sbin/kbdcontrol/lex.h stable/11/usr.sbin/kbdcontrol/lex.l stable/11/usr.sbin/kbdmap/kbdmap.c stable/11/usr.sbin/kbdmap/kbdmap.h stable/11/usr.sbin/kgzip/aouthdr.c stable/11/usr.sbin/kgzip/aouthdr.h stable/11/usr.sbin/kgzip/elfhdr.c stable/11/usr.sbin/kgzip/elfhdr.h stable/11/usr.sbin/kgzip/kgz.h stable/11/usr.sbin/kgzip/kgzcmp.c stable/11/usr.sbin/kgzip/kgzip.c stable/11/usr.sbin/kgzip/kgzip.h stable/11/usr.sbin/kgzip/kgzld.c stable/11/usr.sbin/kgzip/xio.c stable/11/usr.sbin/kldxref/ef_amd64.c stable/11/usr.sbin/kldxref/ef_i386.c stable/11/usr.sbin/kldxref/ef_nop.c stable/11/usr.sbin/kldxref/ef_powerpc.c stable/11/usr.sbin/kldxref/ef_sparc64.c stable/11/usr.sbin/lastlogin/lastlogin.c stable/11/usr.sbin/lpr/chkprintcap/skimprintcap.c stable/11/usr.sbin/lpr/chkprintcap/skimprintcap.h stable/11/usr.sbin/lpr/common_source/ctlinfo.c stable/11/usr.sbin/lpr/common_source/ctlinfo.h stable/11/usr.sbin/lpr/common_source/lp.cdefs.h stable/11/usr.sbin/lpr/common_source/matchjobs.c stable/11/usr.sbin/lpr/common_source/matchjobs.h stable/11/usr.sbin/lpr/filters.ru/koi2855/koi2855.c stable/11/usr.sbin/lpr/filters.ru/koi2alt/koi2alt.c stable/11/usr.sbin/lpr/lp/lp.sh stable/11/usr.sbin/lpr/lpc/movejobs.c stable/11/usr.sbin/lptcontrol/lptcontrol.c stable/11/usr.sbin/mailwrapper/mailwrapper.c stable/11/usr.sbin/mailwrapper/pathnames.h stable/11/usr.sbin/makefs/cd9660.c stable/11/usr.sbin/makefs/cd9660.h stable/11/usr.sbin/makefs/cd9660/cd9660_archimedes.c stable/11/usr.sbin/makefs/cd9660/cd9660_archimedes.h stable/11/usr.sbin/makefs/cd9660/cd9660_conversion.c stable/11/usr.sbin/makefs/cd9660/cd9660_debug.c stable/11/usr.sbin/makefs/cd9660/cd9660_eltorito.c stable/11/usr.sbin/makefs/cd9660/cd9660_eltorito.h stable/11/usr.sbin/makefs/cd9660/cd9660_strings.c stable/11/usr.sbin/makefs/cd9660/cd9660_write.c stable/11/usr.sbin/makefs/cd9660/iso9660_rrip.c stable/11/usr.sbin/makefs/cd9660/iso9660_rrip.h stable/11/usr.sbin/makefs/ffs.h stable/11/usr.sbin/makefs/ffs/buf.c stable/11/usr.sbin/makefs/ffs/buf.h stable/11/usr.sbin/makefs/ffs/ffs_bswap.c stable/11/usr.sbin/makefs/ffs/newfs_extern.h stable/11/usr.sbin/makefs/ffs/ufs_bswap.h stable/11/usr.sbin/makefs/makefs.c stable/11/usr.sbin/makefs/makefs.h stable/11/usr.sbin/makefs/mtree.c stable/11/usr.sbin/makefs/walk.c stable/11/usr.sbin/memcontrol/memcontrol.c stable/11/usr.sbin/mfiutil/mfi_bbu.c stable/11/usr.sbin/mfiutil/mfi_cmd.c stable/11/usr.sbin/mfiutil/mfi_config.c stable/11/usr.sbin/mfiutil/mfi_drive.c stable/11/usr.sbin/mfiutil/mfi_evt.c stable/11/usr.sbin/mfiutil/mfi_flash.c stable/11/usr.sbin/mfiutil/mfi_foreign.c stable/11/usr.sbin/mfiutil/mfi_patrol.c stable/11/usr.sbin/mfiutil/mfi_properties.c stable/11/usr.sbin/mfiutil/mfi_show.c stable/11/usr.sbin/mfiutil/mfi_volume.c stable/11/usr.sbin/mfiutil/mfiutil.c stable/11/usr.sbin/mfiutil/mfiutil.h stable/11/usr.sbin/mlxcontrol/command.c stable/11/usr.sbin/mlxcontrol/config.c stable/11/usr.sbin/mlxcontrol/interface.c stable/11/usr.sbin/mlxcontrol/mlxcontrol.h stable/11/usr.sbin/mlxcontrol/util.c stable/11/usr.sbin/moused/moused.c stable/11/usr.sbin/mptable/mptable.c stable/11/usr.sbin/mtest/mtest.c stable/11/usr.sbin/nandsim/nandsim.c stable/11/usr.sbin/nandsim/nandsim_cfgparse.c stable/11/usr.sbin/nandsim/nandsim_cfgparse.h stable/11/usr.sbin/nandtool/nand_erase.c stable/11/usr.sbin/nandtool/nand_info.c stable/11/usr.sbin/nandtool/nand_read.c stable/11/usr.sbin/nandtool/nand_readoob.c stable/11/usr.sbin/nandtool/nand_write.c stable/11/usr.sbin/nandtool/nand_writeoob.c stable/11/usr.sbin/nandtool/nandtool.c stable/11/usr.sbin/nandtool/nandtool.h stable/11/usr.sbin/nandtool/usage.h stable/11/usr.sbin/newsyslog/extern.h stable/11/usr.sbin/pciconf/err.c stable/11/usr.sbin/pkg/config.c stable/11/usr.sbin/pkg/config.h stable/11/usr.sbin/pkg/dns_utils.c stable/11/usr.sbin/pkg/dns_utils.h stable/11/usr.sbin/pkg/pkg.c stable/11/usr.sbin/pmcannotate/pmcannotate.c stable/11/usr.sbin/pmccontrol/pmccontrol.c stable/11/usr.sbin/pmcstat/pmcpl_annotate.c stable/11/usr.sbin/pmcstat/pmcpl_annotate.h stable/11/usr.sbin/pmcstat/pmcpl_annotate_cg.c stable/11/usr.sbin/pmcstat/pmcpl_annotate_cg.h stable/11/usr.sbin/pmcstat/pmcpl_callgraph.c stable/11/usr.sbin/pmcstat/pmcpl_callgraph.h stable/11/usr.sbin/pmcstat/pmcpl_calltree.c stable/11/usr.sbin/pmcstat/pmcpl_calltree.h stable/11/usr.sbin/pmcstat/pmcpl_gprof.c stable/11/usr.sbin/pmcstat/pmcpl_gprof.h stable/11/usr.sbin/pmcstat/pmcstat.c stable/11/usr.sbin/pmcstat/pmcstat.h stable/11/usr.sbin/pmcstat/pmcstat_log.c stable/11/usr.sbin/pmcstat/pmcstat_log.h stable/11/usr.sbin/pmcstat/pmcstat_top.h stable/11/usr.sbin/portsnap/make_index/make_index.c stable/11/usr.sbin/portsnap/phttpget/phttpget.c stable/11/usr.sbin/portsnap/portsnap/portsnap.sh stable/11/usr.sbin/powerd/powerd.c stable/11/usr.sbin/ppp/acf.c stable/11/usr.sbin/ppp/acf.h stable/11/usr.sbin/ppp/arp.c stable/11/usr.sbin/ppp/arp.h stable/11/usr.sbin/ppp/async.c stable/11/usr.sbin/ppp/async.h stable/11/usr.sbin/ppp/auth.c stable/11/usr.sbin/ppp/auth.h stable/11/usr.sbin/ppp/bundle.c stable/11/usr.sbin/ppp/bundle.h stable/11/usr.sbin/ppp/cbcp.c stable/11/usr.sbin/ppp/cbcp.h stable/11/usr.sbin/ppp/ccp.c stable/11/usr.sbin/ppp/ccp.h stable/11/usr.sbin/ppp/chap.c stable/11/usr.sbin/ppp/chap.h stable/11/usr.sbin/ppp/chap_ms.c stable/11/usr.sbin/ppp/chap_ms.h stable/11/usr.sbin/ppp/chat.c stable/11/usr.sbin/ppp/chat.h stable/11/usr.sbin/ppp/command.c stable/11/usr.sbin/ppp/command.h stable/11/usr.sbin/ppp/datalink.c stable/11/usr.sbin/ppp/datalink.h stable/11/usr.sbin/ppp/deflate.c stable/11/usr.sbin/ppp/deflate.h stable/11/usr.sbin/ppp/defs.c stable/11/usr.sbin/ppp/defs.h stable/11/usr.sbin/ppp/descriptor.h stable/11/usr.sbin/ppp/ether.c stable/11/usr.sbin/ppp/ether.h stable/11/usr.sbin/ppp/exec.c stable/11/usr.sbin/ppp/exec.h stable/11/usr.sbin/ppp/filter.c stable/11/usr.sbin/ppp/filter.h stable/11/usr.sbin/ppp/fsm.c stable/11/usr.sbin/ppp/fsm.h stable/11/usr.sbin/ppp/hdlc.c stable/11/usr.sbin/ppp/hdlc.h stable/11/usr.sbin/ppp/i4b.h stable/11/usr.sbin/ppp/id.c stable/11/usr.sbin/ppp/id.h stable/11/usr.sbin/ppp/iface.c stable/11/usr.sbin/ppp/iface.h stable/11/usr.sbin/ppp/ip.c stable/11/usr.sbin/ppp/ip.h stable/11/usr.sbin/ppp/ipcp.c stable/11/usr.sbin/ppp/ipcp.h stable/11/usr.sbin/ppp/iplist.c stable/11/usr.sbin/ppp/iplist.h stable/11/usr.sbin/ppp/ipv6cp.c stable/11/usr.sbin/ppp/ipv6cp.h stable/11/usr.sbin/ppp/layer.h stable/11/usr.sbin/ppp/lcp.c stable/11/usr.sbin/ppp/lcp.h stable/11/usr.sbin/ppp/link.c stable/11/usr.sbin/ppp/link.h stable/11/usr.sbin/ppp/log.c stable/11/usr.sbin/ppp/log.h stable/11/usr.sbin/ppp/lqr.c stable/11/usr.sbin/ppp/lqr.h stable/11/usr.sbin/ppp/main.c stable/11/usr.sbin/ppp/main.h stable/11/usr.sbin/ppp/mbuf.c stable/11/usr.sbin/ppp/mbuf.h stable/11/usr.sbin/ppp/mp.c stable/11/usr.sbin/ppp/mp.h stable/11/usr.sbin/ppp/mppe.c stable/11/usr.sbin/ppp/mppe.h stable/11/usr.sbin/ppp/nat_cmd.c stable/11/usr.sbin/ppp/nat_cmd.h stable/11/usr.sbin/ppp/ncp.c stable/11/usr.sbin/ppp/ncp.h stable/11/usr.sbin/ppp/ncpaddr.c stable/11/usr.sbin/ppp/ncpaddr.h stable/11/usr.sbin/ppp/netgraph.c stable/11/usr.sbin/ppp/netgraph.h stable/11/usr.sbin/ppp/pap.c stable/11/usr.sbin/ppp/pap.h stable/11/usr.sbin/ppp/pred.c stable/11/usr.sbin/ppp/pred.h stable/11/usr.sbin/ppp/probe.c stable/11/usr.sbin/ppp/probe.h stable/11/usr.sbin/ppp/prompt.c stable/11/usr.sbin/ppp/prompt.h stable/11/usr.sbin/ppp/proto.c stable/11/usr.sbin/ppp/proto.h stable/11/usr.sbin/ppp/radius.c stable/11/usr.sbin/ppp/radius.h stable/11/usr.sbin/ppp/route.c stable/11/usr.sbin/ppp/route.h stable/11/usr.sbin/ppp/server.c stable/11/usr.sbin/ppp/server.h stable/11/usr.sbin/ppp/sig.c stable/11/usr.sbin/ppp/sig.h stable/11/usr.sbin/ppp/sync.c stable/11/usr.sbin/ppp/sync.h stable/11/usr.sbin/ppp/systems.c stable/11/usr.sbin/ppp/systems.h stable/11/usr.sbin/ppp/tcp.c stable/11/usr.sbin/ppp/tcp.h stable/11/usr.sbin/ppp/tcpmss.c stable/11/usr.sbin/ppp/tcpmss.h stable/11/usr.sbin/ppp/throughput.c stable/11/usr.sbin/ppp/throughput.h stable/11/usr.sbin/ppp/timer.c stable/11/usr.sbin/ppp/timer.h stable/11/usr.sbin/ppp/tty.c stable/11/usr.sbin/ppp/tty.h stable/11/usr.sbin/ppp/tun.c stable/11/usr.sbin/ppp/tun.h stable/11/usr.sbin/ppp/ua.h stable/11/usr.sbin/ppp/udp.c stable/11/usr.sbin/ppp/udp.h stable/11/usr.sbin/ppp/vjcomp.c stable/11/usr.sbin/ppp/vjcomp.h stable/11/usr.sbin/pppctl/pppctl.c stable/11/usr.sbin/pw/bitmap.c stable/11/usr.sbin/pw/bitmap.h stable/11/usr.sbin/pw/cpdir.c stable/11/usr.sbin/pw/grupd.c stable/11/usr.sbin/pw/psdate.c stable/11/usr.sbin/pw/psdate.h stable/11/usr.sbin/pw/pw.c stable/11/usr.sbin/pw/pw.h stable/11/usr.sbin/pw/pw_conf.c stable/11/usr.sbin/pw/pw_group.c stable/11/usr.sbin/pw/pw_log.c stable/11/usr.sbin/pw/pw_nis.c stable/11/usr.sbin/pw/pw_user.c stable/11/usr.sbin/pw/pw_vpw.c stable/11/usr.sbin/pw/pwupd.c stable/11/usr.sbin/pw/pwupd.h stable/11/usr.sbin/pw/rm_r.c stable/11/usr.sbin/quot/quot.c stable/11/usr.sbin/rarpd/rarpd.c stable/11/usr.sbin/rpc.lockd/kern.c stable/11/usr.sbin/rpc.umntall/mounttab.c stable/11/usr.sbin/rpc.umntall/mounttab.h stable/11/usr.sbin/rpc.umntall/rpc.umntall.c stable/11/usr.sbin/rpcbind/util.c stable/11/usr.sbin/rtadvctl/rtadvctl.c stable/11/usr.sbin/rtadvd/advcap.h stable/11/usr.sbin/rtadvd/control.c stable/11/usr.sbin/rtadvd/control.h stable/11/usr.sbin/rtadvd/control_client.c stable/11/usr.sbin/rtadvd/control_client.h stable/11/usr.sbin/rtadvd/control_server.c stable/11/usr.sbin/rtadvd/control_server.h stable/11/usr.sbin/rtprio/rtprio.c stable/11/usr.sbin/sa/db.c stable/11/usr.sbin/sa/extern.h stable/11/usr.sbin/sa/main.c stable/11/usr.sbin/sa/pathnames.h stable/11/usr.sbin/sa/pdb.c stable/11/usr.sbin/sa/usrdb.c stable/11/usr.sbin/service/service.sh stable/11/usr.sbin/services_mkdb/extern.h stable/11/usr.sbin/services_mkdb/services_mkdb.c stable/11/usr.sbin/services_mkdb/uniq.c stable/11/usr.sbin/setfmac/setfmac.c stable/11/usr.sbin/setpmac/setpmac.c stable/11/usr.sbin/smbmsg/pathnames.h stable/11/usr.sbin/smbmsg/smbmsg.c stable/11/usr.sbin/snapinfo/snapinfo.c stable/11/usr.sbin/spkrtest/spkrtest.sh stable/11/usr.sbin/spray/spray.c stable/11/usr.sbin/traceroute/findsaddr-udp.c stable/11/usr.sbin/uathload/uathload.c stable/11/usr.sbin/ugidfw/ugidfw.c stable/11/usr.sbin/uhsoctl/uhsoctl.c stable/11/usr.sbin/unbound/local-setup/local-unbound-setup.sh stable/11/usr.sbin/usbconfig/dump.c stable/11/usr.sbin/usbconfig/dump.h stable/11/usr.sbin/usbconfig/usbconfig.c stable/11/usr.sbin/usbdump/usbdump.c stable/11/usr.sbin/utx/utx.c stable/11/usr.sbin/vidcontrol/decode.c stable/11/usr.sbin/vidcontrol/vidcontrol.c stable/11/usr.sbin/wake/wake.c stable/11/usr.sbin/watch/watch.c stable/11/usr.sbin/watchdogd/watchdogd.c stable/11/usr.sbin/wlandebug/wlandebug.c stable/11/usr.sbin/ypbind/ypbind.c stable/11/usr.sbin/yppoll/yppoll.c stable/11/usr.sbin/ypset/ypset.c Directory Properties: stable/11/ (props changed) Modified: stable/11/bin/pkill/pkill.c ============================================================================== --- stable/11/bin/pkill/pkill.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/bin/pkill/pkill.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $NetBSD: pkill.c,v 1.16 2005/10/10 22:13:20 kleink Exp $ */ /*- + * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * * Copyright (c) 2002 The NetBSD Foundation, Inc. * Copyright (c) 2005 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/etc/pam.d/convert.pl ============================================================================== --- stable/11/etc/pam.d/convert.pl Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/etc/pam.d/convert.pl Mon Mar 5 07:26:05 2018 (r330449) @@ -1,5 +1,7 @@ #!/usr/bin/perl -w #- +# SPDX-License-Identifier: BSD-3-Clause +# # Copyright (c) 2001,2002 Networks Associates Technologies, Inc. # All rights reserved. # Modified: stable/11/kerberos5/lib/libgssapi_krb5/gss_krb5.c ============================================================================== --- stable/11/kerberos5/lib/libgssapi_krb5/gss_krb5.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/kerberos5/lib/libgssapi_krb5/gss_krb5.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2005 Doug Rabson * All rights reserved. * Modified: stable/11/kerberos5/lib/libgssapi_krb5/pname_to_uid.c ============================================================================== --- stable/11/kerberos5/lib/libgssapi_krb5/pname_to_uid.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/kerberos5/lib/libgssapi_krb5/pname_to_uid.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2008 Isilon Inc http://www.isilon.com/ * Authors: Doug Rabson * Developed with Red Inc: Alfred Perlstein Modified: stable/11/kerberos5/lib/libgssapi_krb5/prefix.c ============================================================================== --- stable/11/kerberos5/lib/libgssapi_krb5/prefix.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/kerberos5/lib/libgssapi_krb5/prefix.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2008 Doug Rabson * All rights reserved. * Modified: stable/11/kerberos5/lib/libgssapi_ntlm/prefix.c ============================================================================== --- stable/11/kerberos5/lib/libgssapi_ntlm/prefix.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/kerberos5/lib/libgssapi_ntlm/prefix.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2008 Doug Rabson * All rights reserved. * Modified: stable/11/kerberos5/lib/libgssapi_spnego/freebsd_compat.c ============================================================================== --- stable/11/kerberos5/lib/libgssapi_spnego/freebsd_compat.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/kerberos5/lib/libgssapi_spnego/freebsd_compat.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2008 Doug Rabson * All rights reserved. * Modified: stable/11/sbin/adjkerntz/adjkerntz.c ============================================================================== --- stable/11/sbin/adjkerntz/adjkerntz.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/adjkerntz/adjkerntz.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (C) 1993-1998 by Andrey A. Chernov, Moscow, Russia. * All rights reserved. * Modified: stable/11/sbin/adjkerntz/pathnames.h ============================================================================== --- stable/11/sbin/adjkerntz/pathnames.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/adjkerntz/pathnames.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (C) 1993 by Andrew A. Chernov, Moscow, Russia. * All rights reserved. * @@ -22,6 +24,8 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $FreeBSD$ */ #include Modified: stable/11/sbin/camcontrol/camcontrol.h ============================================================================== --- stable/11/sbin/camcontrol/camcontrol.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/camcontrol/camcontrol.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * * Copyright (c) 1998 Kenneth D. Merry. * All rights reserved. * Modified: stable/11/sbin/camcontrol/fwdownload.c ============================================================================== --- stable/11/sbin/camcontrol/fwdownload.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/camcontrol/fwdownload.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2011 Sandvine Incorporated. All rights reserved. * Copyright (c) 2002-2011 Andre Albsmeier * All rights reserved. Modified: stable/11/sbin/camcontrol/modeedit.c ============================================================================== --- stable/11/sbin/camcontrol/modeedit.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/camcontrol/modeedit.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2000 Kelly Yancey * Derived from work done by Julian Elischer , 1993, and Peter Dufault , 1994. Modified: stable/11/sbin/camcontrol/progress.c ============================================================================== --- stable/11/sbin/camcontrol/progress.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/camcontrol/progress.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $NetBSD: progressbar.c,v 1.21 2009/04/12 10:18:52 lukem Exp $ */ /*- + * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * * Copyright (c) 1997-2009 The NetBSD Foundation, Inc. * All rights reserved. * Modified: stable/11/sbin/camcontrol/progress.h ============================================================================== --- stable/11/sbin/camcontrol/progress.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/camcontrol/progress.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $NetBSD: progressbar.c,v 1.21 2009/04/12 10:18:52 lukem Exp $ */ /*- + * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * * Copyright (c) 1997-2012 The NetBSD Foundation, Inc. * All rights reserved. * Modified: stable/11/sbin/camcontrol/util.c ============================================================================== --- stable/11/sbin/camcontrol/util.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/camcontrol/util.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-3-Clause + * * Written By Julian ELischer * Copyright julian Elischer 1993. * Permission is granted to use or redistribute this file in any way as long Modified: stable/11/sbin/ccdconfig/ccdconfig.c ============================================================================== --- stable/11/sbin/ccdconfig/ccdconfig.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ccdconfig/ccdconfig.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-4-Clause + * * Copyright (c) 2003 Poul-Henning Kamp * Copyright (c) 1995 Jason R. Thorpe. * All rights reserved. Modified: stable/11/sbin/ccdconfig/pathnames.h ============================================================================== --- stable/11/sbin/ccdconfig/pathnames.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ccdconfig/pathnames.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $NetBSD: pathnames.h,v 1.1 1995/08/17 16:37:20 thorpej Exp $ */ -/* +/*- + * SPDX-License-Identifier: BSD-4-Clause + * * Copyright (c) 1995 Jason R. Thorpe. * All rights reserved. * Modified: stable/11/sbin/comcontrol/comcontrol.c ============================================================================== --- stable/11/sbin/comcontrol/comcontrol.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/comcontrol/comcontrol.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 1992 Christopher G. Demetriou * All rights reserved. * Modified: stable/11/sbin/conscontrol/conscontrol.c ============================================================================== --- stable/11/sbin/conscontrol/conscontrol.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/conscontrol/conscontrol.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2001 Jonathan Lemon * All rights reserved. * Modified: stable/11/sbin/ddb/ddb.c ============================================================================== --- stable/11/sbin/ddb/ddb.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ddb/ddb.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007 Robert N. M. Watson * All rights reserved. * Modified: stable/11/sbin/ddb/ddb.h ============================================================================== --- stable/11/sbin/ddb/ddb.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ddb/ddb.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007 Robert N. M. Watson * All rights reserved. * Modified: stable/11/sbin/ddb/ddb_capture.c ============================================================================== --- stable/11/sbin/ddb/ddb_capture.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ddb/ddb_capture.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2008 Robert N. M. Watson * All rights reserved. * Modified: stable/11/sbin/ddb/ddb_script.c ============================================================================== --- stable/11/sbin/ddb/ddb_script.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ddb/ddb_script.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007 Robert N. M. Watson * All rights reserved. * Modified: stable/11/sbin/devd/devd.h ============================================================================== --- stable/11/sbin/devd/devd.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/devd/devd.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /*- * DEVD (Device action daemon) * + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2002 M. Warner Losh . * All rights reserved. * Modified: stable/11/sbin/devd/devd.hh ============================================================================== --- stable/11/sbin/devd/devd.hh Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/devd/devd.hh Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2002-2003 M. Warner Losh. * All rights reserved. * Modified: stable/11/sbin/devd/parse.y ============================================================================== --- stable/11/sbin/devd/parse.y Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/devd/parse.y Mon Mar 5 07:26:05 2018 (r330449) @@ -2,6 +2,8 @@ /*- * DEVD (Device action daemon) * + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2002 M. Warner Losh . * All rights reserved. * Modified: stable/11/sbin/devd/token.l ============================================================================== --- stable/11/sbin/devd/token.l Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/devd/token.l Mon Mar 5 07:26:05 2018 (r330449) @@ -2,6 +2,8 @@ /*- * DEVD (Device action daemon) * + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2002 M. Warner Losh . * All rights reserved. * Modified: stable/11/sbin/devfs/devfs.c ============================================================================== --- stable/11/sbin/devfs/devfs.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/devfs/devfs.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2001, 2002 Dima Dorfman. * All rights reserved. * Modified: stable/11/sbin/devfs/extern.h ============================================================================== --- stable/11/sbin/devfs/extern.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/devfs/extern.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2002 Dima Dorfman. * All rights reserved. * Modified: stable/11/sbin/devfs/rule.c ============================================================================== --- stable/11/sbin/devfs/rule.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/devfs/rule.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2002 Dima Dorfman. * All rights reserved. * Modified: stable/11/sbin/etherswitchcfg/etherswitchcfg.c ============================================================================== --- stable/11/sbin/etherswitchcfg/etherswitchcfg.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/etherswitchcfg/etherswitchcfg.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2011-2012 Stefan Bethke. * All rights reserved. * Modified: stable/11/sbin/fsck/fsutil.h ============================================================================== --- stable/11/sbin/fsck/fsutil.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck/fsutil.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $NetBSD: fsutil.h,v 1.114 2009/10/21 01:07:46 snj Exp $ */ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause + * * Copyright (c) 1996 Christos Zoulas. All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: stable/11/sbin/fsck_ffs/ea.c ============================================================================== --- stable/11/sbin/fsck_ffs/ea.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_ffs/ea.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2002 Poul-Henning Kamp * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. Modified: stable/11/sbin/fsck_ffs/suj.c ============================================================================== --- stable/11/sbin/fsck_ffs/suj.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_ffs/suj.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright 2009, 2010 Jeffrey W. Roberson * All rights reserved. * Modified: stable/11/sbin/fsck_msdosfs/boot.c ============================================================================== --- stable/11/sbin/fsck_msdosfs/boot.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_msdosfs/boot.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (C) 1995, 1997 Wolfgang Solfrank * Copyright (c) 1995 Martin Husemann * Modified: stable/11/sbin/fsck_msdosfs/check.c ============================================================================== --- stable/11/sbin/fsck_msdosfs/check.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_msdosfs/check.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (C) 1995, 1996, 1997 Wolfgang Solfrank * Copyright (c) 1995 Martin Husemann * Modified: stable/11/sbin/fsck_msdosfs/dir.c ============================================================================== --- stable/11/sbin/fsck_msdosfs/dir.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_msdosfs/dir.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (C) 1995, 1996, 1997 Wolfgang Solfrank * Copyright (c) 1995 Martin Husemann * Some structure declaration borrowed from Paul Popelka Modified: stable/11/sbin/fsck_msdosfs/dosfs.h ============================================================================== --- stable/11/sbin/fsck_msdosfs/dosfs.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_msdosfs/dosfs.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (C) 1995, 1996, 1997 Wolfgang Solfrank * Copyright (c) 1995 Martin Husemann * Some structure declaration borrowed from Paul Popelka Modified: stable/11/sbin/fsck_msdosfs/ext.h ============================================================================== --- stable/11/sbin/fsck_msdosfs/ext.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_msdosfs/ext.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (C) 1995, 1996, 1997 Wolfgang Solfrank * Copyright (c) 1995 Martin Husemann * Modified: stable/11/sbin/fsck_msdosfs/fat.c ============================================================================== --- stable/11/sbin/fsck_msdosfs/fat.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_msdosfs/fat.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause + * * Copyright (C) 1995, 1996, 1997 Wolfgang Solfrank * Copyright (c) 1995 Martin Husemann * Modified: stable/11/sbin/fsck_msdosfs/main.c ============================================================================== --- stable/11/sbin/fsck_msdosfs/main.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsck_msdosfs/main.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause + * * Copyright (C) 1995 Wolfgang Solfrank * Copyright (c) 1995 Martin Husemann * Modified: stable/11/sbin/fsdb/fsdb.c ============================================================================== --- stable/11/sbin/fsdb/fsdb.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsdb/fsdb.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $NetBSD: fsdb.c,v 1.2 1995/10/08 23:18:10 thorpej Exp $ */ -/* +/*- + * SPDX-License-Identifier: BSD-3-Clause + * * Copyright (c) 1995 John T. Kohl * All rights reserved. * Modified: stable/11/sbin/fsdb/fsdb.h ============================================================================== --- stable/11/sbin/fsdb/fsdb.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsdb/fsdb.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $NetBSD: fsdb.h,v 1.2 1995/10/08 23:18:11 thorpej Exp $ */ -/* +/*- + * SPDX-License-Identifier: BSD-3-Clause + * * Copyright (c) 1995 John T. Kohl * All rights reserved. * Modified: stable/11/sbin/fsdb/fsdbutil.c ============================================================================== --- stable/11/sbin/fsdb/fsdbutil.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsdb/fsdbutil.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $NetBSD: fsdbutil.c,v 1.2 1995/10/08 23:18:12 thorpej Exp $ */ -/* +/*- + * SPDX-License-Identifier: BSD-3-Clause + * * Copyright (c) 1995 John T. Kohl * All rights reserved. * Modified: stable/11/sbin/fsirand/fsirand.c ============================================================================== --- stable/11/sbin/fsirand/fsirand.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/fsirand/fsirand.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,6 +1,8 @@ /* $OpenBSD: fsirand.c,v 1.9 1997/02/28 00:46:33 millert Exp $ */ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 1997 Todd C. Miller * All rights reserved. * Modified: stable/11/sbin/gbde/gbde.c ============================================================================== --- stable/11/sbin/gbde/gbde.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/gbde/gbde.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2002 Poul-Henning Kamp * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. Modified: stable/11/sbin/geom/class/cache/geom_cache.c ============================================================================== --- stable/11/sbin/geom/class/cache/geom_cache.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/cache/geom_cache.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2006 Ruslan Ermilov * All rights reserved. * Modified: stable/11/sbin/geom/class/concat/geom_concat.c ============================================================================== --- stable/11/sbin/geom/class/concat/geom_concat.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/concat/geom_concat.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2005 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/eli/geom_eli.c ============================================================================== --- stable/11/sbin/geom/class/eli/geom_eli.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/eli/geom_eli.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2010 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/journal/geom_journal.c ============================================================================== --- stable/11/sbin/geom/class/journal/geom_journal.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/journal/geom_journal.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2005-2006 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/journal/geom_journal.h ============================================================================== --- stable/11/sbin/geom/class/journal/geom_journal.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/journal/geom_journal.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2006 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/journal/geom_journal_ufs.c ============================================================================== --- stable/11/sbin/geom/class/journal/geom_journal_ufs.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/journal/geom_journal_ufs.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2006 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/label/geom_label.c ============================================================================== --- stable/11/sbin/geom/class/label/geom_label.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/label/geom_label.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2005 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/mirror/geom_mirror.c ============================================================================== --- stable/11/sbin/geom/class/mirror/geom_mirror.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/mirror/geom_mirror.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2009 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/mountver/geom_mountver.c ============================================================================== --- stable/11/sbin/geom/class/mountver/geom_mountver.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/mountver/geom_mountver.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2010 Edward Tomasz Napierala * All rights reserved. * Modified: stable/11/sbin/geom/class/multipath/geom_multipath.c ============================================================================== --- stable/11/sbin/geom/class/multipath/geom_multipath.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/multipath/geom_multipath.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2006 Mathew Jacob * All rights reserved. * Modified: stable/11/sbin/geom/class/nop/geom_nop.c ============================================================================== --- stable/11/sbin/geom/class/nop/geom_nop.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/nop/geom_nop.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2006 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/part/geom_part.c ============================================================================== --- stable/11/sbin/geom/class/part/geom_part.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/part/geom_part.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007, 2008 Marcel Moolenaar * All rights reserved. * Modified: stable/11/sbin/geom/class/raid/geom_raid.c ============================================================================== --- stable/11/sbin/geom/class/raid/geom_raid.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/raid/geom_raid.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2010 Alexander Motin * All rights reserved. * Modified: stable/11/sbin/geom/class/raid3/geom_raid3.c ============================================================================== --- stable/11/sbin/geom/class/raid3/geom_raid3.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/raid3/geom_raid3.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2005 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/sched/geom_sched.c ============================================================================== --- stable/11/sbin/geom/class/sched/geom_sched.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/sched/geom_sched.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009 Fabio Checconi * Copyright (c) 2010 Luigi Rizzo, Universita` di Pisa * All rights reserved. Modified: stable/11/sbin/geom/class/shsec/geom_shsec.c ============================================================================== --- stable/11/sbin/geom/class/shsec/geom_shsec.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/shsec/geom_shsec.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2005 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/stripe/geom_stripe.c ============================================================================== --- stable/11/sbin/geom/class/stripe/geom_stripe.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/stripe/geom_stripe.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2005 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/class/virstor/geom_virstor.c ============================================================================== --- stable/11/sbin/geom/class/virstor/geom_virstor.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/class/virstor/geom_virstor.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2005 Ivan Voras * * Redistribution and use in source and binary forms, with or without Modified: stable/11/sbin/geom/core/geom.c ============================================================================== --- stable/11/sbin/geom/core/geom.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/core/geom.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2009 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/core/geom.h ============================================================================== --- stable/11/sbin/geom/core/geom.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/core/geom.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/misc/subr.c ============================================================================== --- stable/11/sbin/geom/misc/subr.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/misc/subr.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2010 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/geom/misc/subr.h ============================================================================== --- stable/11/sbin/geom/misc/subr.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/geom/misc/subr.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004-2010 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/ggate/ggatec/ggatec.c ============================================================================== --- stable/11/sbin/ggate/ggatec/ggatec.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ggate/ggatec/ggatec.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/ggate/ggated/ggated.c ============================================================================== --- stable/11/sbin/ggate/ggated/ggated.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ggate/ggated/ggated.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/ggate/ggatel/ggatel.c ============================================================================== --- stable/11/sbin/ggate/ggatel/ggatel.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ggate/ggatel/ggatel.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/ggate/shared/ggate.c ============================================================================== --- stable/11/sbin/ggate/shared/ggate.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ggate/shared/ggate.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/ggate/shared/ggate.h ============================================================================== --- stable/11/sbin/ggate/shared/ggate.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/ggate/shared/ggate.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/gvinum/gvinum.c ============================================================================== --- stable/11/sbin/gvinum/gvinum.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/gvinum/gvinum.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2004 Lukas Ertl * Copyright (c) 2005 Chris Jones * Copyright (c) 2007 Ulf Lilleengen Modified: stable/11/sbin/hastctl/hastctl.c ============================================================================== --- stable/11/sbin/hastctl/hastctl.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastctl/hastctl.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/activemap.c ============================================================================== --- stable/11/sbin/hastd/activemap.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/activemap.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/activemap.h ============================================================================== --- stable/11/sbin/hastd/activemap.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/activemap.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/control.c ============================================================================== --- stable/11/sbin/hastd/control.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/control.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/control.h ============================================================================== --- stable/11/sbin/hastd/control.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/control.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/ebuf.c ============================================================================== --- stable/11/sbin/hastd/ebuf.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/ebuf.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/ebuf.h ============================================================================== --- stable/11/sbin/hastd/ebuf.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/ebuf.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/event.c ============================================================================== --- stable/11/sbin/hastd/event.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/event.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2010 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/hastd/event.h ============================================================================== --- stable/11/sbin/hastd/event.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/event.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2010 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/hastd/hast.h ============================================================================== --- stable/11/sbin/hastd/hast.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hast.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/hast_checksum.c ============================================================================== --- stable/11/sbin/hastd/hast_checksum.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hast_checksum.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/hastd/hast_checksum.h ============================================================================== --- stable/11/sbin/hastd/hast_checksum.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hast_checksum.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/hastd/hast_compression.c ============================================================================== --- stable/11/sbin/hastd/hast_compression.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hast_compression.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/hastd/hast_compression.h ============================================================================== --- stable/11/sbin/hastd/hast_compression.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hast_compression.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. * Modified: stable/11/sbin/hastd/hast_proto.c ============================================================================== --- stable/11/sbin/hastd/hast_proto.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hast_proto.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/hast_proto.h ============================================================================== --- stable/11/sbin/hastd/hast_proto.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hast_proto.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/hastd.c ============================================================================== --- stable/11/sbin/hastd/hastd.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hastd.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * Copyright (c) 2010-2011 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/hastd.h ============================================================================== --- stable/11/sbin/hastd/hastd.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hastd.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/hooks.c ============================================================================== --- stable/11/sbin/hastd/hooks.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hooks.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2010 The FreeBSD Foundation * Copyright (c) 2010 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/hooks.h ============================================================================== --- stable/11/sbin/hastd/hooks.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/hooks.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2010 The FreeBSD Foundation * Copyright (c) 2010 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/lzf.c ============================================================================== --- stable/11/sbin/hastd/lzf.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/lzf.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2000-2008 Marc Alexander Lehmann * * Redistribution and use in source and binary forms, with or without modifica- Modified: stable/11/sbin/hastd/lzf.h ============================================================================== --- stable/11/sbin/hastd/lzf.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/lzf.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ -/* +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2000-2008 Marc Alexander Lehmann * * Redistribution and use in source and binary forms, with or without modifica- Modified: stable/11/sbin/hastd/metadata.c ============================================================================== --- stable/11/sbin/hastd/metadata.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/metadata.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/metadata.h ============================================================================== --- stable/11/sbin/hastd/metadata.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/metadata.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/nv.c ============================================================================== --- stable/11/sbin/hastd/nv.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/nv.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/nv.h ============================================================================== --- stable/11/sbin/hastd/nv.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/nv.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * All rights reserved. * Modified: stable/11/sbin/hastd/parse.y ============================================================================== --- stable/11/sbin/hastd/parse.y Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/parse.y Mon Mar 5 07:26:05 2018 (r330449) @@ -1,5 +1,7 @@ %{ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/pjdlog.c ============================================================================== --- stable/11/sbin/hastd/pjdlog.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/pjdlog.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/pjdlog.h ============================================================================== --- stable/11/sbin/hastd/pjdlog.h Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/pjdlog.h Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation * Copyright (c) 2011 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/primary.c ============================================================================== --- stable/11/sbin/hastd/primary.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/primary.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009 The FreeBSD Foundation * Copyright (c) 2010-2011 Pawel Jakub Dawidek * All rights reserved. Modified: stable/11/sbin/hastd/proto.c ============================================================================== --- stable/11/sbin/hastd/proto.c Mon Mar 5 07:14:56 2018 (r330448) +++ stable/11/sbin/hastd/proto.c Mon Mar 5 07:26:05 2018 (r330449) @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2009-2010 The FreeBSD Foundation *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable@freebsd.org Mon Mar 5 07:33:01 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59ED8F38FA1; Mon, 5 Mar 2018 07:33:01 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 051A46843D; Mon, 5 Mar 2018 07:33:01 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 000BF20F16; Mon, 5 Mar 2018 07:33:00 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w257X0qP091448; Mon, 5 Mar 2018 07:33:00 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w257X0EV091447; Mon, 5 Mar 2018 07:33:00 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050733.w257X0EV091447@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 07:33:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330450 - stable/11/sys/dev/ioat X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/ioat X-SVN-Commit-Revision: 330450 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 07:33:01 -0000 Author: eadler Date: Mon Mar 5 07:33:00 2018 New Revision: 330450 URL: https://svnweb.freebsd.org/changeset/base/330450 Log: MFC r326572: ioat(4): Add Skylake Xeon PCI-ID SKX IOAT is just another 3.2 version of the CBDMA engine. Modified: stable/11/sys/dev/ioat/ioat.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/ioat/ioat.c ============================================================================== --- stable/11/sys/dev/ioat/ioat.c Mon Mar 5 07:26:05 2018 (r330449) +++ stable/11/sys/dev/ioat/ioat.c Mon Mar 5 07:33:00 2018 (r330450) @@ -241,8 +241,8 @@ static struct _pcsid { 0x6f278086, "BDX IOAT Ch7" }, { 0x6f2e8086, "BDX IOAT Ch0 (RAID)" }, { 0x6f2f8086, "BDX IOAT Ch1 (RAID)" }, - - { 0x00000000, NULL } + { 0x20218086, "SKX IOAT" }, + { 0x00000000, NULL } }; /* From owner-svn-src-stable@freebsd.org Mon Mar 5 07:54:59 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 775F9F3A73B; Mon, 5 Mar 2018 07:54:59 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A32C368F6B; Mon, 5 Mar 2018 07:54:58 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 99B8D21249; Mon, 5 Mar 2018 07:54:58 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w257swQ6001440; Mon, 5 Mar 2018 07:54:58 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w257swAE001435; Mon, 5 Mar 2018 07:54:58 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050754.w257swAE001435@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 07:54:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 X-SVN-Commit-Revision: 330451 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 07:54:59 -0000 Author: eadler Date: Mon Mar 5 07:54:57 2018 New Revision: 330451 URL: https://svnweb.freebsd.org/changeset/base/330451 Log: MFC r306837: [net80211] extend the ieee80211_rx_stats struct to include more information. There are a variety of more interesting RX statistics that we should keep track of but we don't. This is a starting point for adding more information. Specifically: * now the RX rate information and some of the packet status is passed up; * The 32 bit or 64 bit TSF is passed up; * the PHY mode is passed up; * the "I'm decap'ed AMSDU!" state is passed up; * number of RX chains is bumped to 4. This is all mostly a placeholder for getting the data into the RX status before we pass it up to net80211 - unfortunately we don't yet enforce that drivers provide it, nor do we pass the provided info back up the stack so anyone can use the data. We're going to need to use some of this data moving forward. Notably, now that some hardware can do AMSDU decap for us (the intel iwm driver can do it when we flip it on; the ath10k port I'm doing does it for us) then we need to pass it up through the stack so the duplicate RX sequence numbers and crypto/IV details don't cause the packet to be dropped and/or counted against a replay counter. It's also the beginning of being able to do more interesting node accounting in net80211. Specifically, once drivers start populating per-packet rate information, AMPDU information, timestamps, etc, we can start providing histograms of rate-versus-RSSI, account for receive time spent per node and other such interesting things. (Note: I'm also hoping to include ranging and RTT information for future chipset support; and it's likely going to include it in this kind of fashion.) Modified: stable/11/sys/dev/iwm/if_iwm.c stable/11/sys/dev/otus/if_otus.c stable/11/sys/dev/usb/wlan/if_rsu.c stable/11/sys/net80211/ieee80211_freebsd.h stable/11/sys/net80211/ieee80211_input.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/iwm/if_iwm.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 07:33:00 2018 (r330450) +++ stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 07:54:57 2018 (r330451) @@ -3259,8 +3259,8 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc, struct mbuf * } /* rssi is in 1/2db units */ - rxs.rssi = rssi * 2; - rxs.nf = sc->sc_noise; + rxs.c_rssi = rssi * 2; + rxs.c_nf = sc->sc_noise; if (ieee80211_radiotap_active_vap(vap)) { struct iwm_rx_radiotap_header *tap = &sc->sc_rxtap; Modified: stable/11/sys/dev/otus/if_otus.c ============================================================================== --- stable/11/sys/dev/otus/if_otus.c Mon Mar 5 07:33:00 2018 (r330450) +++ stable/11/sys/dev/otus/if_otus.c Mon Mar 5 07:54:57 2018 (r330451) @@ -1710,8 +1710,8 @@ otus_sub_rxeof(struct otus_softc *sc, uint8_t *buf, in /* Add RSSI/NF to this mbuf */ bzero(&rxs, sizeof(rxs)); rxs.r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; - rxs.nf = sc->sc_nf[0]; /* XXX chain 0 != combined rssi/nf */ - rxs.rssi = tail->rssi; + rxs.c_nf = sc->sc_nf[0]; /* XXX chain 0 != combined rssi/nf */ + rxs.c_rssi = tail->rssi; /* XXX TODO: add MIMO RSSI/NF as well */ ieee80211_add_rx_params(m, &rxs); Modified: stable/11/sys/dev/usb/wlan/if_rsu.c ============================================================================== --- stable/11/sys/dev/usb/wlan/if_rsu.c Mon Mar 5 07:33:00 2018 (r330450) +++ stable/11/sys/dev/usb/wlan/if_rsu.c Mon Mar 5 07:54:57 2018 (r330451) @@ -1540,8 +1540,8 @@ rsu_event_survey(struct rsu_softc *sc, uint8_t *buf, i rxs.c_ieee = le32toh(bss->config.dsconfig); rxs.c_freq = ieee80211_ieee2mhz(rxs.c_ieee, IEEE80211_CHAN_2GHZ); /* This is a number from 0..100; so let's just divide it down a bit */ - rxs.rssi = le32toh(bss->rssi) / 2; - rxs.nf = -96; + rxs.c_rssi = le32toh(bss->rssi) / 2; + rxs.c_nf = -96; /* XXX avoid a LOR */ RSU_UNLOCK(sc); Modified: stable/11/sys/net80211/ieee80211_freebsd.h ============================================================================== --- stable/11/sys/net80211/ieee80211_freebsd.h Mon Mar 5 07:33:00 2018 (r330450) +++ stable/11/sys/net80211/ieee80211_freebsd.h Mon Mar 5 07:54:57 2018 (r330451) @@ -620,33 +620,82 @@ int ieee80211_add_xmit_params(struct mbuf *m, int ieee80211_get_xmit_params(struct mbuf *m, struct ieee80211_bpf_params *); -#define IEEE80211_MAX_CHAINS 3 +/* + * Note: this is fine for 3x3 (and 4x4) 11n HT40; + * but getting EVM information for VHT80, VHT160 + * will involve more than 6 EVM pilots. + */ +#define IEEE80211_MAX_CHAINS 4 #define IEEE80211_MAX_EVM_PILOTS 6 -#define IEEE80211_R_NF 0x0000001 /* global NF value valid */ -#define IEEE80211_R_RSSI 0x0000002 /* global RSSI value valid */ -#define IEEE80211_R_C_CHAIN 0x0000004 /* RX chain count valid */ -#define IEEE80211_R_C_NF 0x0000008 /* per-chain NF value valid */ -#define IEEE80211_R_C_RSSI 0x0000010 /* per-chain RSSI value valid */ -#define IEEE80211_R_C_EVM 0x0000020 /* per-chain EVM valid */ -#define IEEE80211_R_C_HT40 0x0000040 /* RX'ed packet is 40mhz, pilots 4,5 valid */ -#define IEEE80211_R_FREQ 0x0000080 /* Freq value populated, MHz */ -#define IEEE80211_R_IEEE 0x0000100 /* IEEE value populated */ -#define IEEE80211_R_BAND 0x0000200 /* Frequency band populated */ +#define IEEE80211_R_NF 0x00000001 /* global NF value valid */ +#define IEEE80211_R_RSSI 0x00000002 /* global RSSI value valid */ +#define IEEE80211_R_C_CHAIN 0x00000004 /* RX chain count valid */ +#define IEEE80211_R_C_NF 0x00000008 /* per-chain NF value valid */ +#define IEEE80211_R_C_RSSI 0x00000010 /* per-chain RSSI value valid */ +#define IEEE80211_R_C_EVM 0x00000020 /* per-chain EVM valid */ +#define IEEE80211_R_C_HT40 0x00000040 /* RX'ed packet is 40mhz, pilots 4,5 valid */ +#define IEEE80211_R_FREQ 0x00000080 /* Freq value populated, MHz */ +#define IEEE80211_R_IEEE 0x00000100 /* IEEE value populated */ +#define IEEE80211_R_BAND 0x00000200 /* Frequency band populated */ +#define IEEE80211_R_TSF32 0x00004000 /* 32 bit TSF */ +#define IEEE80211_R_TSF64 0x00008000 /* 64 bit TSF */ +#define IEEE80211_R_TSF_START 0x00010000 /* TSF is sampled at start of frame */ +#define IEEE80211_R_TSF_END 0x00020000 /* TSF is sampled at end of frame */ +/* RX packet flags - describe the kind of frame */ +#define IEEE80211_RX_F_STBC 0x00000001 +#define IEEE80211_RX_F_LDPC 0x00000002 +#define IEEE80211_RX_F_AMSDU 0x00000004 /* This is the start of an decap AMSDU list */ +#define IEEE80211_RX_F_AMSDU_MORE 0x00000008 /* This is another decap AMSDU frame in the batch */ +#define IEEE80211_RX_F_AMPDU 0x00000010 /* This is the start of an decap AMPDU list */ +#define IEEE80211_RX_F_AMPDU_MORE 0x00000020 /* This is another decap AMPDU frame in the batch */ + +/* Channel width */ +#define IEEE80211_RX_FW_20MHZ 1 +#define IEEE80211_RX_FW_40MHZ 2 +#define IEEE80211_RX_FW_80MHZ 3 + +/* PHY type */ +#define IEEE80211_RX_FP_11B 1 +#define IEEE80211_RX_FP_11G 2 +#define IEEE80211_RX_FP_11A 3 +#define IEEE80211_RX_FP_11NA 4 +#define IEEE80211_RX_FP_11NG 5 + struct ieee80211_rx_stats { uint32_t r_flags; /* IEEE80211_R_* flags */ + uint32_t c_pktflags; /* IEEE80211_RX_F_* flags */ + + uint64_t c_rx_tsf; /* 32 or 64 bit TSF */ + + /* All DWORD aligned */ + int16_t c_nf_ctl[IEEE80211_MAX_CHAINS]; /* per-chain NF */ + int16_t c_nf_ext[IEEE80211_MAX_CHAINS]; /* per-chain NF */ + int16_t c_rssi_ctl[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ + int16_t c_rssi_ext[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ + + /* 32 bits */ + uint8_t c_nf; /* global NF */ + uint8_t c_rssi; /* global RSSI */ uint8_t c_chain; /* number of RX chains involved */ - int16_t c_nf_ctl[IEEE80211_MAX_CHAINS]; /* per-chain NF */ - int16_t c_nf_ext[IEEE80211_MAX_CHAINS]; /* per-chain NF */ - int16_t c_rssi_ctl[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ - int16_t c_rssi_ext[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ - uint8_t nf; /* global NF */ - uint8_t rssi; /* global RSSI */ - uint8_t evm[IEEE80211_MAX_CHAINS][IEEE80211_MAX_EVM_PILOTS]; - /* per-chain, per-pilot EVM values */ - uint16_t c_freq; - uint8_t c_ieee; + uint8_t c_rate; /* legacy + 11n rate code */ + + /* 32 bits */ + uint16_t c_freq; /* Frequency, MHz */ + uint8_t c_ieee; /* Channel */ + uint8_t c_width; /* channel width, FW flags above */ + + /* Force alignment to DWORD */ + union { + uint8_t evm[IEEE80211_MAX_CHAINS][IEEE80211_MAX_EVM_PILOTS]; + /* per-chain, per-pilot EVM values */ + uint32_t __aln[8]; + } evm; + + /* 32 bits */ + uint8_t c_phytype; /* PHY type, FW flags above */ + uint8_t c_pad2[3]; }; struct ieee80211_rx_params { Modified: stable/11/sys/net80211/ieee80211_input.c ============================================================================== --- stable/11/sys/net80211/ieee80211_input.c Mon Mar 5 07:33:00 2018 (r330450) +++ stable/11/sys/net80211/ieee80211_input.c Mon Mar 5 07:54:57 2018 (r330451) @@ -100,7 +100,7 @@ ieee80211_input_mimo(struct ieee80211_node *ni, struct ieee80211_process_mimo(ni, &rxs); //return ieee80211_input(ni, m, rx->rssi, rx->nf); - return ni->ni_vap->iv_input(ni, m, &rxs, rxs.rssi, rxs.nf); + return ni->ni_vap->iv_input(ni, m, &rxs, rxs.c_rssi, rxs.c_nf); } int @@ -109,8 +109,8 @@ ieee80211_input_all(struct ieee80211com *ic, struct mb struct ieee80211_rx_stats rx; rx.r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; - rx.nf = nf; - rx.rssi = rssi; + rx.c_nf = nf; + rx.c_rssi = rssi; return ieee80211_input_mimo_all(ic, m, &rx); } From owner-svn-src-stable@freebsd.org Mon Mar 5 07:58:50 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0602DF3AAEE; Mon, 5 Mar 2018 07:58:50 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A5BD66919D; Mon, 5 Mar 2018 07:58:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9C4D32124B; Mon, 5 Mar 2018 07:58:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w257wnU3001660; Mon, 5 Mar 2018 07:58:49 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w257wndE001655; Mon, 5 Mar 2018 07:58:49 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050758.w257wndE001655@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 07:58:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330452 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 X-SVN-Commit-Revision: 330452 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 07:58:50 -0000 Author: eadler Date: Mon Mar 5 07:58:48 2018 New Revision: 330452 URL: https://svnweb.freebsd.org/changeset/base/330452 Log: MFC r307158: net80211: convert all ieee80211_input_mimo*() consumers to ieee80211_add_rx_params() + drop last (ieee80211_rx_stats) parameter Note: there is an additional check for ieee80211_get_rx_params() return value (which does not exist in the original diff). Modified: stable/11/sys/dev/iwm/if_iwm.c stable/11/sys/dev/otus/if_otus.c stable/11/sys/dev/usb/wlan/if_rsu.c stable/11/sys/net80211/ieee80211_input.c stable/11/sys/net80211/ieee80211_proto.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/iwm/if_iwm.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 07:54:57 2018 (r330451) +++ stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 07:58:48 2018 (r330452) @@ -3261,6 +3261,8 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc, struct mbuf * /* rssi is in 1/2db units */ rxs.c_rssi = rssi * 2; rxs.c_nf = sc->sc_noise; + if (ieee80211_add_rx_params(m, &rxs) == 0) + goto fail; if (ieee80211_radiotap_active_vap(vap)) { struct iwm_rx_radiotap_header *tap = &sc->sc_rxtap; @@ -3297,11 +3299,11 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc, struct mbuf * IWM_UNLOCK(sc); if (ni != NULL) { IWM_DPRINTF(sc, IWM_DEBUG_RECV, "input m %p\n", m); - ieee80211_input_mimo(ni, m, &rxs); + ieee80211_input_mimo(ni, m); ieee80211_free_node(ni); } else { IWM_DPRINTF(sc, IWM_DEBUG_RECV, "inputall m %p\n", m); - ieee80211_input_mimo_all(ic, m, &rxs); + ieee80211_input_mimo_all(ic, m); } IWM_LOCK(sc); Modified: stable/11/sys/dev/otus/if_otus.c ============================================================================== --- stable/11/sys/dev/otus/if_otus.c Mon Mar 5 07:54:57 2018 (r330451) +++ stable/11/sys/dev/otus/if_otus.c Mon Mar 5 07:58:48 2018 (r330452) @@ -1713,7 +1713,10 @@ otus_sub_rxeof(struct otus_softc *sc, uint8_t *buf, in rxs.c_nf = sc->sc_nf[0]; /* XXX chain 0 != combined rssi/nf */ rxs.c_rssi = tail->rssi; /* XXX TODO: add MIMO RSSI/NF as well */ - ieee80211_add_rx_params(m, &rxs); + if (ieee80211_add_rx_params(m, &rxs) == 0) { + counter_u64_add(ic->ic_ierrors, 1); + return; + } /* XXX make a method */ STAILQ_INSERT_TAIL(&rxq->mq_head, m, m_stailqpkt); @@ -1826,10 +1829,10 @@ tr_setup: if (ni != NULL) { if (ni->ni_flags & IEEE80211_NODE_HT) m->m_flags |= M_AMPDU; - (void)ieee80211_input_mimo(ni, m, NULL); + (void)ieee80211_input_mimo(ni, m); ieee80211_free_node(ni); } else - (void)ieee80211_input_mimo_all(ic, m, NULL); + (void)ieee80211_input_mimo_all(ic, m); } #ifdef IEEE80211_SUPPORT_SUPERG ieee80211_ff_age_all(ic, 100); Modified: stable/11/sys/dev/usb/wlan/if_rsu.c ============================================================================== --- stable/11/sys/dev/usb/wlan/if_rsu.c Mon Mar 5 07:54:57 2018 (r330451) +++ stable/11/sys/dev/usb/wlan/if_rsu.c Mon Mar 5 07:58:48 2018 (r330452) @@ -1542,10 +1542,12 @@ rsu_event_survey(struct rsu_softc *sc, uint8_t *buf, i /* This is a number from 0..100; so let's just divide it down a bit */ rxs.c_rssi = le32toh(bss->rssi) / 2; rxs.c_nf = -96; + if (ieee80211_add_rx_params(m, &rxs) == 0) + return; /* XXX avoid a LOR */ RSU_UNLOCK(sc); - ieee80211_input_mimo_all(ic, m, &rxs); + ieee80211_input_mimo_all(ic, m); RSU_LOCK(sc); } Modified: stable/11/sys/net80211/ieee80211_input.c ============================================================================== --- stable/11/sys/net80211/ieee80211_input.c Mon Mar 5 07:54:57 2018 (r330451) +++ stable/11/sys/net80211/ieee80211_input.c Mon Mar 5 07:58:48 2018 (r330452) @@ -83,18 +83,14 @@ ieee80211_process_mimo(struct ieee80211_node *ni, stru } int -ieee80211_input_mimo(struct ieee80211_node *ni, struct mbuf *m, - struct ieee80211_rx_stats *rx) +ieee80211_input_mimo(struct ieee80211_node *ni, struct mbuf *m) { struct ieee80211_rx_stats rxs; - if (rx) { - memcpy(&rxs, rx, sizeof(*rx)); - } else { - /* try to read from mbuf */ - bzero(&rxs, sizeof(rxs)); - ieee80211_get_rx_params(m, &rxs); - } + /* try to read stats from mbuf */ + bzero(&rxs, sizeof(rxs)); + if (ieee80211_get_rx_params(m, &rxs) != 0) + return (-1); /* XXX should assert IEEE80211_R_NF and IEEE80211_R_RSSI are set */ ieee80211_process_mimo(ni, &rxs); @@ -111,27 +107,21 @@ ieee80211_input_all(struct ieee80211com *ic, struct mb rx.r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; rx.c_nf = nf; rx.c_rssi = rssi; - return ieee80211_input_mimo_all(ic, m, &rx); + + if (!ieee80211_add_rx_params(m, &rx)) + return (-1); + + return ieee80211_input_mimo_all(ic, m); } int -ieee80211_input_mimo_all(struct ieee80211com *ic, struct mbuf *m, - struct ieee80211_rx_stats *rx) +ieee80211_input_mimo_all(struct ieee80211com *ic, struct mbuf *m) { - struct ieee80211_rx_stats rxs; struct ieee80211vap *vap; int type = -1; m->m_flags |= M_BCAST; /* NB: mark for bpf tap'ing */ - if (rx) { - memcpy(&rxs, rx, sizeof(*rx)); - } else { - /* try to read from mbuf */ - bzero(&rxs, sizeof(rxs)); - ieee80211_get_rx_params(m, &rxs); - } - /* XXX locking */ TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) { struct ieee80211_node *ni; @@ -152,6 +142,7 @@ ieee80211_input_mimo_all(struct ieee80211com *ic, stru /* * Packet contents are changed by ieee80211_decap * so do a deep copy of the packet. + * NB: tags are copied too. */ mcopy = m_dup(m, M_NOWAIT); if (mcopy == NULL) { @@ -163,7 +154,7 @@ ieee80211_input_mimo_all(struct ieee80211com *ic, stru m = NULL; } ni = ieee80211_ref_node(vap->iv_bss); - type = ieee80211_input_mimo(ni, mcopy, &rxs); + type = ieee80211_input_mimo(ni, mcopy); ieee80211_free_node(ni); } if (m != NULL) /* no vaps, reclaim mbuf */ Modified: stable/11/sys/net80211/ieee80211_proto.h ============================================================================== --- stable/11/sys/net80211/ieee80211_proto.h Mon Mar 5 07:54:57 2018 (r330451) +++ stable/11/sys/net80211/ieee80211_proto.h Mon Mar 5 07:58:48 2018 (r330452) @@ -83,10 +83,8 @@ void ieee80211_syncflag_ext(struct ieee80211vap *, int ((ni)->ni_vap->iv_input(ni, m, NULL, rssi, nf)) int ieee80211_input_all(struct ieee80211com *, struct mbuf *, int, int); -int ieee80211_input_mimo(struct ieee80211_node *, struct mbuf *, - struct ieee80211_rx_stats *); -int ieee80211_input_mimo_all(struct ieee80211com *, struct mbuf *, - struct ieee80211_rx_stats *); +int ieee80211_input_mimo(struct ieee80211_node *, struct mbuf *); +int ieee80211_input_mimo_all(struct ieee80211com *, struct mbuf *); struct ieee80211_bpf_params; int ieee80211_mgmt_output(struct ieee80211_node *, struct mbuf *, int, From owner-svn-src-stable@freebsd.org Mon Mar 5 08:00:18 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1DD96F3ADAD; Mon, 5 Mar 2018 08:00:18 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C425069326; Mon, 5 Mar 2018 08:00:17 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BF03C2124F; Mon, 5 Mar 2018 08:00:17 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2580H3Y001811; Mon, 5 Mar 2018 08:00:17 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2580Hb6001810; Mon, 5 Mar 2018 08:00:17 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050800.w2580Hb6001810@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:00:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330453 - stable/11/sys/dev/iwm X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/iwm X-SVN-Commit-Revision: 330453 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:00:18 -0000 Author: eadler Date: Mon Mar 5 08:00:17 2018 New Revision: 330453 URL: https://svnweb.freebsd.org/changeset/base/330453 Log: MFC r308185: [iwm] Set full-offload scan flag. Fixes fw panic when already associated. * Starting a scan from wpa_supplicant or via ifconfig while associated, should no longer cause firmware panics or abort early. Tested: * AC7260, STA mode Modified: stable/11/sys/dev/iwm/if_iwm.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/iwm/if_iwm.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 07:58:48 2018 (r330452) +++ stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 08:00:17 2018 (r330453) @@ -6140,6 +6140,8 @@ iwm_attach(device_t dev) IEEE80211_C_SHPREAMBLE /* short preamble supported */ // IEEE80211_C_BGSCAN /* capable of bg scanning */ ; + /* Advertise full-offload scanning */ + ic->ic_flags_ext = IEEE80211_FEXT_SCAN_OFFLOAD; for (i = 0; i < nitems(sc->sc_phyctxt); i++) { sc->sc_phyctxt[i].id = i; sc->sc_phyctxt[i].color = 0; From owner-svn-src-stable@freebsd.org Mon Mar 5 08:01:09 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8FFCEF3B013; Mon, 5 Mar 2018 08:01:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3A6F6694B1; Mon, 5 Mar 2018 08:01:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 353352127E; Mon, 5 Mar 2018 08:01:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258195e002581; Mon, 5 Mar 2018 08:01:09 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2581979002580; Mon, 5 Mar 2018 08:01:09 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050801.w2581979002580@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:01:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330454 - stable/11/sys/dev/iwm X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/iwm X-SVN-Commit-Revision: 330454 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:01:09 -0000 Author: eadler Date: Mon Mar 5 08:01:08 2018 New Revision: 330454 URL: https://svnweb.freebsd.org/changeset/base/330454 Log: MFC r313306: [iwm] free node reference if rxparams addition fails. Modified: stable/11/sys/dev/iwm/if_iwm.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/iwm/if_iwm.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 08:00:17 2018 (r330453) +++ stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 08:01:08 2018 (r330454) @@ -3261,8 +3261,11 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc, struct mbuf * /* rssi is in 1/2db units */ rxs.c_rssi = rssi * 2; rxs.c_nf = sc->sc_noise; - if (ieee80211_add_rx_params(m, &rxs) == 0) + if (ieee80211_add_rx_params(m, &rxs) == 0) { + if (ni) + ieee80211_free_node(ni); goto fail; + } if (ieee80211_radiotap_active_vap(vap)) { struct iwm_rx_radiotap_header *tap = &sc->sc_rxtap; @@ -3309,7 +3312,8 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc, struct mbuf * return TRUE; -fail: counter_u64_add(ic->ic_ierrors, 1); +fail: + counter_u64_add(ic->ic_ierrors, 1); return FALSE; } From owner-svn-src-stable@freebsd.org Mon Mar 5 08:05:33 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E3980F3B45F; Mon, 5 Mar 2018 08:05:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9108869968; Mon, 5 Mar 2018 08:05:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 87C69213DA; Mon, 5 Mar 2018 08:05:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2585Wad006616; Mon, 5 Mar 2018 08:05:32 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2585U49006601; Mon, 5 Mar 2018 08:05:30 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050805.w2585U49006601@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:05:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330455 - stable/11/sys/dev/iwm X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/iwm X-SVN-Commit-Revision: 330455 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:05:33 -0000 Author: eadler Date: Mon Mar 5 08:05:30 2018 New Revision: 330455 URL: https://svnweb.freebsd.org/changeset/base/330455 Log: MFC r318001: [iwm] include opt_iwm.h and opt_wlan.h consistently in all files. Modified: stable/11/sys/dev/iwm/if_iwm.c stable/11/sys/dev/iwm/if_iwm_7000.c stable/11/sys/dev/iwm/if_iwm_8000.c stable/11/sys/dev/iwm/if_iwm_binding.c stable/11/sys/dev/iwm/if_iwm_fw.c stable/11/sys/dev/iwm/if_iwm_led.c stable/11/sys/dev/iwm/if_iwm_mac_ctxt.c stable/11/sys/dev/iwm/if_iwm_notif_wait.c stable/11/sys/dev/iwm/if_iwm_pcie_trans.c stable/11/sys/dev/iwm/if_iwm_phy_ctxt.c stable/11/sys/dev/iwm/if_iwm_phy_db.c stable/11/sys/dev/iwm/if_iwm_power.c stable/11/sys/dev/iwm/if_iwm_scan.c stable/11/sys/dev/iwm/if_iwm_time_event.c stable/11/sys/dev/iwm/if_iwm_util.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/iwm/if_iwm.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm.c Mon Mar 5 08:05:30 2018 (r330455) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_7000.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_7000.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_7000.c Mon Mar 5 08:05:30 2018 (r330455) @@ -72,6 +72,9 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_wlan.h" +#include "opt_iwm.h" + #include #include "if_iwm_config.h" Modified: stable/11/sys/dev/iwm/if_iwm_8000.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_8000.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_8000.c Mon Mar 5 08:05:30 2018 (r330455) @@ -71,6 +71,9 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_wlan.h" +#include "opt_iwm.h" + #include #include "if_iwm_config.h" Modified: stable/11/sys/dev/iwm/if_iwm_binding.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_binding.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_binding.c Mon Mar 5 08:05:30 2018 (r330455) @@ -90,6 +90,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_fw.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_fw.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_fw.c Mon Mar 5 08:05:30 2018 (r330455) @@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_led.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_led.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_led.c Mon Mar 5 08:05:30 2018 (r330455) @@ -89,6 +89,9 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_wlan.h" +#include "opt_iwm.h" + #include #include #include Modified: stable/11/sys/dev/iwm/if_iwm_mac_ctxt.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_mac_ctxt.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_mac_ctxt.c Mon Mar 5 08:05:30 2018 (r330455) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_notif_wait.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_notif_wait.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_notif_wait.c Mon Mar 5 08:05:30 2018 (r330455) @@ -70,6 +70,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_pcie_trans.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_pcie_trans.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_pcie_trans.c Mon Mar 5 08:05:30 2018 (r330455) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_phy_ctxt.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_phy_ctxt.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_phy_ctxt.c Mon Mar 5 08:05:30 2018 (r330455) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_phy_db.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_phy_db.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_phy_db.c Mon Mar 5 08:05:30 2018 (r330455) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_power.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_power.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_power.c Mon Mar 5 08:05:30 2018 (r330455) @@ -90,6 +90,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_scan.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_scan.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_scan.c Mon Mar 5 08:05:30 2018 (r330455) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_time_event.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_time_event.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_time_event.c Mon Mar 5 08:05:30 2018 (r330455) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include Modified: stable/11/sys/dev/iwm/if_iwm_util.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm_util.c Mon Mar 5 08:01:08 2018 (r330454) +++ stable/11/sys/dev/iwm/if_iwm_util.c Mon Mar 5 08:05:30 2018 (r330455) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_wlan.h" +#include "opt_iwm.h" #include #include From owner-svn-src-stable@freebsd.org Mon Mar 5 08:14:12 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C97BF3BFF4; Mon, 5 Mar 2018 08:14:12 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B0CC26A238; Mon, 5 Mar 2018 08:14:11 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ABABD2156C; Mon, 5 Mar 2018 08:14:11 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258EBIM011872; Mon, 5 Mar 2018 08:14:11 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258EBQ7011870; Mon, 5 Mar 2018 08:14:11 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050814.w258EBQ7011870@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:14:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330456 - stable/11/sys/dev/etherswitch/arswitch X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/etherswitch/arswitch X-SVN-Commit-Revision: 330456 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:14:12 -0000 Author: eadler Date: Mon Mar 5 08:14:11 2018 New Revision: 330456 URL: https://svnweb.freebsd.org/changeset/base/330456 Log: MFC r303339: Update my TODO items. Modified: stable/11/sys/dev/etherswitch/arswitch/arswitch_7240.c stable/11/sys/dev/etherswitch/arswitch/arswitch_8316.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/etherswitch/arswitch/arswitch_7240.c ============================================================================== --- stable/11/sys/dev/etherswitch/arswitch/arswitch_7240.c Mon Mar 5 08:05:30 2018 (r330455) +++ stable/11/sys/dev/etherswitch/arswitch/arswitch_7240.c Mon Mar 5 08:14:11 2018 (r330456) @@ -97,6 +97,8 @@ ar7240_hw_global_setup(struct arswitch_softc *sc) AR7240_GLOBAL_CTRL_MTU_MASK, SM(1536, AR7240_GLOBAL_CTRL_MTU_MASK)); + /* XXX ARP? Frame Age enable? */ + /* Service Tag */ arswitch_modifyreg(sc->sc_dev, AR8X16_REG_SERVICE_TAG, AR8X16_SERVICE_TAG_MASK, 0); Modified: stable/11/sys/dev/etherswitch/arswitch/arswitch_8316.c ============================================================================== --- stable/11/sys/dev/etherswitch/arswitch/arswitch_8316.c Mon Mar 5 08:05:30 2018 (r330455) +++ stable/11/sys/dev/etherswitch/arswitch/arswitch_8316.c Mon Mar 5 08:14:11 2018 (r330456) @@ -137,6 +137,7 @@ ar8316_hw_global_setup(struct arswitch_softc *sc) arswitch_writereg(sc->sc_dev, AR8X16_REG_TAG_PRIO, 0xfa50); /* Enable ARP frame acknowledge. */ + /* XXX TODO: aging? */ arswitch_modifyreg(sc->sc_dev, AR8X16_REG_AT_CTRL, 0, AR8X16_AT_CTRL_ARP_EN); From owner-svn-src-stable@freebsd.org Mon Mar 5 08:17:03 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 69B06F3C375; Mon, 5 Mar 2018 08:17:03 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1C1766A480; Mon, 5 Mar 2018 08:17:03 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 12BDA2156E; Mon, 5 Mar 2018 08:17:03 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258H2IA012017; Mon, 5 Mar 2018 08:17:02 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258H21T012015; Mon, 5 Mar 2018 08:17:02 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050817.w258H21T012015@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:17:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330457 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330457 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:17:03 -0000 Author: eadler Date: Mon Mar 5 08:17:02 2018 New Revision: 330457 URL: https://svnweb.freebsd.org/changeset/base/330457 Log: MFC r305895: [net80211] add a HT method to populate HTCAP based on IBSS requirements. IBSS negotiation is a subset of the STA/AP negotiation. We always have a current channel, so base the HT capabilities on the current channel. This is then put into IBSS probe requests to inform peers of our 11n capabilities. Modified: stable/11/sys/net80211/ieee80211_ht.c stable/11/sys/net80211/ieee80211_ht.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_ht.c ============================================================================== --- stable/11/sys/net80211/ieee80211_ht.c Mon Mar 5 08:14:11 2018 (r330456) +++ stable/11/sys/net80211/ieee80211_ht.c Mon Mar 5 08:17:02 2018 (r330457) @@ -2846,6 +2846,96 @@ ieee80211_add_htcap(uint8_t *frm, struct ieee80211_nod } /* + * Non-associated probe request - add HT capabilities based on + * the current channel configuration. + */ +static uint8_t * +ieee80211_add_htcap_body_ch(uint8_t *frm, struct ieee80211vap *vap, + struct ieee80211_channel *c) +{ +#define ADDSHORT(frm, v) do { \ + frm[0] = (v) & 0xff; \ + frm[1] = (v) >> 8; \ + frm += 2; \ +} while (0) + struct ieee80211com *ic = vap->iv_ic; + uint16_t caps, extcaps; + int rxmax, density; + + /* HT capabilities */ + caps = vap->iv_htcaps & 0xffff; + + /* + * We don't use this in STA mode; only in IBSS mode. + * So in IBSS mode we base our HTCAP flags on the + * given channel. + */ + + /* override 20/40 use based on current channel */ + if (IEEE80211_IS_CHAN_HT40(c)) + caps |= IEEE80211_HTCAP_CHWIDTH40; + else + caps &= ~IEEE80211_HTCAP_CHWIDTH40; + + /* Use the currently configured values */ + rxmax = vap->iv_ampdu_rxmax; + density = vap->iv_ampdu_density; + + /* adjust short GI based on channel and config */ + if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) == 0) + caps &= ~IEEE80211_HTCAP_SHORTGI20; + if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40) == 0 || + (caps & IEEE80211_HTCAP_CHWIDTH40) == 0) + caps &= ~IEEE80211_HTCAP_SHORTGI40; + ADDSHORT(frm, caps); + + /* HT parameters */ + *frm = SM(rxmax, IEEE80211_HTCAP_MAXRXAMPDU) + | SM(density, IEEE80211_HTCAP_MPDUDENSITY) + ; + frm++; + + /* pre-zero remainder of ie */ + memset(frm, 0, sizeof(struct ieee80211_ie_htcap) - + __offsetof(struct ieee80211_ie_htcap, hc_mcsset)); + + /* supported MCS set */ + /* + * XXX: For sta mode the rate set should be restricted based + * on the AP's capabilities, but ni_htrates isn't setup when + * we're called to form an AssocReq frame so for now we're + * restricted to the device capabilities. + */ + ieee80211_set_mcsset(ic, frm); + + frm += __offsetof(struct ieee80211_ie_htcap, hc_extcap) - + __offsetof(struct ieee80211_ie_htcap, hc_mcsset); + + /* HT extended capabilities */ + extcaps = vap->iv_htextcaps & 0xffff; + + ADDSHORT(frm, extcaps); + + frm += sizeof(struct ieee80211_ie_htcap) - + __offsetof(struct ieee80211_ie_htcap, hc_txbf); + + return frm; +#undef ADDSHORT +} + +/* + * Add 802.11n HT capabilities information element + */ +uint8_t * +ieee80211_add_htcap_ch(uint8_t *frm, struct ieee80211vap *vap, + struct ieee80211_channel *c) +{ + frm[0] = IEEE80211_ELEMID_HTCAP; + frm[1] = sizeof(struct ieee80211_ie_htcap) - 2; + return ieee80211_add_htcap_body_ch(frm + 2, vap, c); +} + +/* * Add Broadcom OUI wrapped standard HTCAP ie; this is * used for compatibility w/ pre-draft implementations. */ Modified: stable/11/sys/net80211/ieee80211_ht.h ============================================================================== --- stable/11/sys/net80211/ieee80211_ht.h Mon Mar 5 08:14:11 2018 (r330456) +++ stable/11/sys/net80211/ieee80211_ht.h Mon Mar 5 08:17:02 2018 (r330457) @@ -210,6 +210,8 @@ void ieee80211_ampdu_stop(struct ieee80211_node *, int ieee80211_send_bar(struct ieee80211_node *, struct ieee80211_tx_ampdu *, ieee80211_seq); uint8_t *ieee80211_add_htcap(uint8_t *, struct ieee80211_node *); +uint8_t *ieee80211_add_htcap_ch(uint8_t *, struct ieee80211vap *, + struct ieee80211_channel *); uint8_t *ieee80211_add_htcap_vendor(uint8_t *, struct ieee80211_node *); uint8_t *ieee80211_add_htinfo(uint8_t *, struct ieee80211_node *); uint8_t *ieee80211_add_htinfo_vendor(uint8_t *, struct ieee80211_node *); From owner-svn-src-stable@freebsd.org Mon Mar 5 08:18:14 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BAB08F3C568; Mon, 5 Mar 2018 08:18:14 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6936A6A632; Mon, 5 Mar 2018 08:18:14 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6430E21570; Mon, 5 Mar 2018 08:18:14 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258IE0s012101; Mon, 5 Mar 2018 08:18:14 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258IE9o012098; Mon, 5 Mar 2018 08:18:14 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050818.w258IE9o012098@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:18:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330458 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330458 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:18:15 -0000 Author: eadler Date: Mon Mar 5 08:18:13 2018 New Revision: 330458 URL: https://svnweb.freebsd.org/changeset/base/330458 Log: MFC r306139: [net80211] don't add IBSS node table entries for neighbors from other SSIDs. The adhoc probe/beacon input path was creating nodes for all SSIDs. This wasn't a problem when the NICs were configured to only process frames for the current BSSID, but that didn't allow IBSS merges. Once avos and I flipped on "beacons from all BSSIDs" to allow for correct IBSS merging, we found this interesting behaviour. This adds a check against the current SSID. * If there's no VAP SSID, allow anything * If there's a VAP SSID, check if the incoming frame has a suitable SSID and if so, allow it. This prevents nodes being created for other SSIDs in probe and beacon frames - ie, beacons overlapping IBSSes with different SSIDs, and probe requests from arbitrary devices. Tested: * AR9380, IBSS mode, both local and other IBSSes. Modified: stable/11/sys/net80211/ieee80211_adhoc.c stable/11/sys/net80211/ieee80211_node.c stable/11/sys/net80211/ieee80211_node.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_adhoc.c ============================================================================== --- stable/11/sys/net80211/ieee80211_adhoc.c Mon Mar 5 08:17:02 2018 (r330457) +++ stable/11/sys/net80211/ieee80211_adhoc.c Mon Mar 5 08:18:13 2018 (r330458) @@ -734,8 +734,20 @@ adhoc_recv_mgmt(struct ieee80211_node *ni, struct mbuf if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) { /* * Create a new entry in the neighbor table. + * + * XXX TODO: + * + * Here we're not scanning; so if we have an + * SSID then make sure it matches our SSID. + * Otherwise this code will match on all IBSS + * beacons/probe requests for all SSIDs, + * filling the node table with nodes that + * aren't ours. */ - ni = ieee80211_add_neighbor(vap, wh, &scan); + if (ieee80211_ibss_node_check_new(ni, &scan)) + ni = ieee80211_add_neighbor(vap, wh, &scan); + else + ni = NULL; } else if (ni->ni_capinfo == 0) { /* * Update faked node created on transmit. Modified: stable/11/sys/net80211/ieee80211_node.c ============================================================================== --- stable/11/sys/net80211/ieee80211_node.c Mon Mar 5 08:17:02 2018 (r330457) +++ stable/11/sys/net80211/ieee80211_node.c Mon Mar 5 08:18:13 2018 (r330458) @@ -579,6 +579,62 @@ ieee80211_ibss_merge_check(struct ieee80211_node *ni) } /* + * Check if the given node should populate the node table. + * + * We need to be in "see all beacons for all ssids" mode in order + * to do IBSS merges, however this means we will populate nodes for + * /all/ IBSS SSIDs, versus just the one we care about. + * + * So this check ensures the node can actually belong to our IBSS + * configuration. For now it simply checks the SSID. + */ +int +ieee80211_ibss_node_check_new(struct ieee80211_node *ni, + const struct ieee80211_scanparams *scan) +{ + struct ieee80211vap *vap = ni->ni_vap; + int i; + + /* + * If we have no SSID and no scan SSID, return OK. + */ + if (vap->iv_des_nssid == 0 && scan->ssid == NULL) + goto ok; + + /* + * If we have one of (SSID, scan SSID) then return error. + */ + if (!! (vap->iv_des_nssid == 0) != !! (scan->ssid == NULL)) + goto mismatch; + + /* + * Double-check - we need scan SSID. + */ + if (scan->ssid == NULL) + goto mismatch; + + /* + * Check if the scan SSID matches the SSID list for the VAP. + */ + for (i = 0; i < vap->iv_des_nssid; i++) { + + /* Sanity length check */ + if (vap->iv_des_ssid[i].len != scan->ssid[1]) + continue; + + /* Note: SSID in the scan entry is the IE format */ + if (memcmp(vap->iv_des_ssid[i].ssid, scan->ssid + 2, + vap->iv_des_ssid[i].len) == 0) + goto ok; + } + +mismatch: + return (0); +ok: + return (1); +} + +/* * Handle 802.11 ad hoc network merge. The * convention, set by the Wireless Ethernet Compatibility Alliance * (WECA), is that an 802.11 station will change its BSSID to match Modified: stable/11/sys/net80211/ieee80211_node.h ============================================================================== --- stable/11/sys/net80211/ieee80211_node.h Mon Mar 5 08:17:02 2018 (r330457) +++ stable/11/sys/net80211/ieee80211_node.h Mon Mar 5 08:18:13 2018 (r330458) @@ -65,6 +65,7 @@ struct ieee80211_node_table; struct ieee80211com; struct ieee80211vap; +struct ieee80211_scanparams; /* * Information element ``blob''. We use this structure @@ -330,6 +331,8 @@ void ieee80211_setupcurchan(struct ieee80211com *, void ieee80211_setcurchan(struct ieee80211com *, struct ieee80211_channel *); void ieee80211_update_chw(struct ieee80211com *); int ieee80211_ibss_merge_check(struct ieee80211_node *); +int ieee80211_ibss_node_check_new(struct ieee80211_node *ni, + const struct ieee80211_scanparams *); int ieee80211_ibss_merge(struct ieee80211_node *); struct ieee80211_scan_entry; int ieee80211_sta_join(struct ieee80211vap *, struct ieee80211_channel *, From owner-svn-src-stable@freebsd.org Mon Mar 5 08:21:32 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0763FF3CA63; Mon, 5 Mar 2018 08:21:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id ABED26AC46; Mon, 5 Mar 2018 08:21:31 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A6DF1216C1; Mon, 5 Mar 2018 08:21:31 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258LVhA015386; Mon, 5 Mar 2018 08:21:31 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258LViE015385; Mon, 5 Mar 2018 08:21:31 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050821.w258LViE015385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:21:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330459 - stable/11/sbin/ifconfig X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sbin/ifconfig X-SVN-Commit-Revision: 330459 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:21:32 -0000 Author: eadler Date: Mon Mar 5 08:21:31 2018 New Revision: 330459 URL: https://svnweb.freebsd.org/changeset/base/330459 Log: MFC r306836: [ifconfig] correctly display RSSI. Modified: stable/11/sbin/ifconfig/ifieee80211.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ifconfig/ifieee80211.c ============================================================================== --- stable/11/sbin/ifconfig/ifieee80211.c Mon Mar 5 08:18:13 2018 (r330458) +++ stable/11/sbin/ifconfig/ifieee80211.c Mon Mar 5 08:21:31 2018 (r330459) @@ -3300,8 +3300,8 @@ printmimo(const struct ieee80211_mimo_info *mi) /* NB: don't muddy display unless there's something to show */ if (mi->rssi[0] != 0 || mi->rssi[1] != 0 || mi->rssi[2] != 0) { /* XXX ignore EVM for now */ - printf(" (rssi %d:%d:%d nf %d:%d:%d)", - mi->rssi[0], mi->rssi[1], mi->rssi[2], + printf(" (rssi %.1f:%.1f:%.1f nf %d:%d:%d)", + mi->rssi[0] / 2.0, mi->rssi[1] / 2.0, mi->rssi[2] / 2.0, mi->noise[0], mi->noise[1], mi->noise[2]); } } From owner-svn-src-stable@freebsd.org Mon Mar 5 08:22:24 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D68FDF3CD3C; Mon, 5 Mar 2018 08:22:24 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 86A206AE46; Mon, 5 Mar 2018 08:22:24 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 818F421703; Mon, 5 Mar 2018 08:22:24 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258MOeM017067; Mon, 5 Mar 2018 08:22:24 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258MO8s017066; Mon, 5 Mar 2018 08:22:24 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050822.w258MO8s017066@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:22:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330460 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330460 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:22:25 -0000 Author: eadler Date: Mon Mar 5 08:22:24 2018 New Revision: 330460 URL: https://svnweb.freebsd.org/changeset/base/330460 Log: MFC r308007: [net80211] don't abort a background scan upon reception of a single packet. Full offload drivers don't need this behaviour - they do it in firmware. Modified: stable/11/sys/net80211/ieee80211_scan_sw.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_scan_sw.c ============================================================================== --- stable/11/sys/net80211/ieee80211_scan_sw.c Mon Mar 5 08:21:31 2018 (r330459) +++ stable/11/sys/net80211/ieee80211_scan_sw.c Mon Mar 5 08:22:24 2018 (r330460) @@ -461,6 +461,11 @@ ieee80211_swscan_cancel_scan(struct ieee80211vap *vap) static void ieee80211_swscan_cancel_anyscan(struct ieee80211vap *vap) { + + /* XXX for now - just don't do this per packet. */ + if (vap->iv_flags_ext & IEEE80211_FEXT_SCAN_OFFLOAD) + return; + cancel_scan(vap, 1, __func__); } From owner-svn-src-stable@freebsd.org Mon Mar 5 08:22:49 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F3A5F3CDC8; Mon, 5 Mar 2018 08:22:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 107576AF91; Mon, 5 Mar 2018 08:22:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0B91A21714; Mon, 5 Mar 2018 08:22:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258Mm7p017127; Mon, 5 Mar 2018 08:22:48 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258MmvD017126; Mon, 5 Mar 2018 08:22:48 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050822.w258MmvD017126@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:22:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330461 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330461 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:22:49 -0000 Author: eadler Date: Mon Mar 5 08:22:48 2018 New Revision: 330461 URL: https://svnweb.freebsd.org/changeset/base/330461 Log: MFC r308008: [net80211] add comments! Modified: stable/11/sys/net80211/ieee80211_scan.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_scan.c ============================================================================== --- stable/11/sys/net80211/ieee80211_scan.c Mon Mar 5 08:22:24 2018 (r330460) +++ stable/11/sys/net80211/ieee80211_scan.c Mon Mar 5 08:22:48 2018 (r330461) @@ -443,6 +443,9 @@ ieee80211_cancel_scan(struct ieee80211vap *vap) /* * Cancel any scan currently going on. + * + * This is called during normal 802.11 data path to cancel + * a scan so a newly arrived normal data packet can be sent. */ void ieee80211_cancel_anyscan(struct ieee80211vap *vap) From owner-svn-src-stable@freebsd.org Mon Mar 5 08:24:59 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C7F26F3D0F3; Mon, 5 Mar 2018 08:24:58 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 785726B1C6; Mon, 5 Mar 2018 08:24:58 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6EDA421715; Mon, 5 Mar 2018 08:24:58 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258OwNG017243; Mon, 5 Mar 2018 08:24:58 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258OwUT017242; Mon, 5 Mar 2018 08:24:58 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050824.w258OwUT017242@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:24:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330462 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330462 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:24:59 -0000 Author: eadler Date: Mon Mar 5 08:24:58 2018 New Revision: 330462 URL: https://svnweb.freebsd.org/changeset/base/330462 Log: MFC r308663: [net80211] announce 11n capabilities in probe requests in IBSS mode. The 802.11-2012 specification notes that a subset of IEs should be present in IBSS probe requests. This is what (initially) allows nodes to discover that other nodes are 11n capable. Notably - HTCAP, but not HTINFO. This isn't everything required to reliably enable 11n between net80211 peers; there's more work to come. Tested: * AR9380, IBSS+11n mode Modified: stable/11/sys/net80211/ieee80211_output.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_output.c ============================================================================== --- stable/11/sys/net80211/ieee80211_output.c Mon Mar 5 08:22:48 2018 (r330461) +++ stable/11/sys/net80211/ieee80211_output.c Mon Mar 5 08:24:58 2018 (r330462) @@ -2074,6 +2074,7 @@ ieee80211_send_probereq(struct ieee80211_node *ni, { struct ieee80211vap *vap = ni->ni_vap; struct ieee80211com *ic = ni->ni_ic; + struct ieee80211_node *bss; const struct ieee80211_txparam *tp; struct ieee80211_bpf_params params; const struct ieee80211_rateset *rs; @@ -2081,10 +2082,13 @@ ieee80211_send_probereq(struct ieee80211_node *ni, uint8_t *frm; int ret; + bss = ieee80211_ref_node(vap->iv_bss); + if (vap->iv_state == IEEE80211_S_CAC) { IEEE80211_NOTE(vap, IEEE80211_MSG_OUTPUT, ni, "block %s frame in CAC state", "probe request"); vap->iv_stats.is_tx_badstate++; + ieee80211_free_node(bss); return EIO; /* XXX */ } @@ -2106,6 +2110,7 @@ ieee80211_send_probereq(struct ieee80211_node *ni, * [tlv] supported rates * [tlv] RSN (optional) * [tlv] extended supported rates + * [tlv] HT cap (optional) * [tlv] WPA (optional) * [tlv] user-specified ie's */ @@ -2113,6 +2118,8 @@ ieee80211_send_probereq(struct ieee80211_node *ni, ic->ic_headroom + sizeof(struct ieee80211_frame), 2 + IEEE80211_NWID_LEN + 2 + IEEE80211_RATE_SIZE + + sizeof(struct ieee80211_ie_htcap) + + sizeof(struct ieee80211_ie_htinfo) + sizeof(struct ieee80211_ie_wpa) + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) + sizeof(struct ieee80211_ie_wpa) @@ -2122,6 +2129,7 @@ ieee80211_send_probereq(struct ieee80211_node *ni, if (m == NULL) { vap->iv_stats.is_tx_nobuf++; ieee80211_free_node(ni); + ieee80211_free_node(bss); return ENOMEM; } @@ -2130,6 +2138,27 @@ ieee80211_send_probereq(struct ieee80211_node *ni, frm = ieee80211_add_rates(frm, rs); frm = ieee80211_add_rsn(frm, vap); frm = ieee80211_add_xrates(frm, rs); + + /* + * Note: we can't use bss; we don't have one yet. + * + * So, we should announce our capabilities + * in this channel mode (2g/5g), not the + * channel details itself. + */ + if ((vap->iv_opmode == IEEE80211_M_IBSS) && + (vap->iv_flags_ht & IEEE80211_FHT_HT)) { + struct ieee80211_channel *c; + + /* + * Get the HT channel that we should try upgrading to. + * If we can do 40MHz then this'll upgrade it appropriately. + */ + c = ieee80211_ht_adjust_channel(ic, ic->ic_curchan, + vap->iv_flags_ht); + frm = ieee80211_add_htcap_ch(frm, vap, c); + } + frm = ieee80211_add_wpa(frm, vap); if (vap->iv_appie_probereq != NULL) frm = add_appie(frm, vap->iv_appie_probereq); @@ -2141,6 +2170,7 @@ ieee80211_send_probereq(struct ieee80211_node *ni, if (m == NULL) { /* NB: cannot happen */ ieee80211_free_node(ni); + ieee80211_free_node(bss); return ENOMEM; } @@ -2157,8 +2187,11 @@ ieee80211_send_probereq(struct ieee80211_node *ni, IEEE80211_NODE_STAT(ni, tx_mgmt); IEEE80211_DPRINTF(vap, IEEE80211_MSG_DEBUG | IEEE80211_MSG_DUMPPKTS, - "send probe req on channel %u bssid %s ssid \"%.*s\"\n", - ieee80211_chan2ieee(ic, ic->ic_curchan), ether_sprintf(bssid), + "send probe req on channel %u bssid %s sa %6D da %6D ssid \"%.*s\"\n", + ieee80211_chan2ieee(ic, ic->ic_curchan), + ether_sprintf(bssid), + sa, ":", + da, ":", ssidlen, ssid); memset(¶ms, 0, sizeof(params)); @@ -2173,6 +2206,7 @@ ieee80211_send_probereq(struct ieee80211_node *ni, params.ibp_power = ni->ni_txpower; ret = ieee80211_raw_output(vap, ni, m, ¶ms); IEEE80211_TX_UNLOCK(ic); + ieee80211_free_node(bss); return (ret); } From owner-svn-src-stable@freebsd.org Mon Mar 5 08:25:24 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0210EF3D171; Mon, 5 Mar 2018 08:25:24 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A56366B2FC; Mon, 5 Mar 2018 08:25:23 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A07D321716; Mon, 5 Mar 2018 08:25:23 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258PNZ1017313; Mon, 5 Mar 2018 08:25:23 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258PNew017312; Mon, 5 Mar 2018 08:25:23 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050825.w258PNew017312@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:25:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330463 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330463 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:25:24 -0000 Author: eadler Date: Mon Mar 5 08:25:23 2018 New Revision: 330463 URL: https://svnweb.freebsd.org/changeset/base/330463 Log: MFC r308950: [net80211] Remove extra \n. Modified: stable/11/sys/net80211/ieee80211_ht.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_ht.c ============================================================================== --- stable/11/sys/net80211/ieee80211_ht.c Mon Mar 5 08:24:58 2018 (r330462) +++ stable/11/sys/net80211/ieee80211_ht.c Mon Mar 5 08:25:23 2018 (r330463) @@ -586,7 +586,7 @@ ieee80211_ampdu_rx_start_ext(struct ieee80211_node *ni rap->rxa_flags |= IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_XCHGPEND; IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, - "%s: tid=%d, start=%d, wnd=%d, flags=0x%08x\n", + "%s: tid=%d, start=%d, wnd=%d, flags=0x%08x", __func__, tid, seq, From owner-svn-src-stable@freebsd.org Mon Mar 5 08:27:29 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C8A60F3D52F; Mon, 5 Mar 2018 08:27:29 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 77E496B641; Mon, 5 Mar 2018 08:27:29 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 72E5E21719; Mon, 5 Mar 2018 08:27:29 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258RTwi017588; Mon, 5 Mar 2018 08:27:29 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258RTPj017587; Mon, 5 Mar 2018 08:27:29 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050827.w258RTPj017587@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:27:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330464 - stable/11/usr.bin/users X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.bin/users X-SVN-Commit-Revision: 330464 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:27:30 -0000 Author: eadler Date: Mon Mar 5 08:27:29 2018 New Revision: 330464 URL: https://svnweb.freebsd.org/changeset/base/330464 Log: MFC r311581: Capsicum: add capability mode to users binary Submitted by: Tyler Littlefield Reviewed by: cem, oshogbo Differential Revision: https://reviews.freebsd.org/D9046 Modified: stable/11/usr.bin/users/users.cc Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/users/users.cc ============================================================================== --- stable/11/usr.bin/users/users.cc Mon Mar 5 08:25:23 2018 (r330463) +++ stable/11/usr.bin/users/users.cc Mon Mar 5 08:27:29 2018 (r330464) @@ -27,9 +27,12 @@ * SUCH DAMAGE. */ +#include #include __FBSDID("$FreeBSD$"); +#include +#include #include #include @@ -51,6 +54,10 @@ main(int argc, char **) } setutxent(); + + if (cap_enter() < 0 && errno != ENOSYS) + err(1, "Failed to enter capability mode."); + while ((ut = getutxent()) != NULL) if (ut->ut_type == USER_PROCESS) names.insert(ut->ut_user); From owner-svn-src-stable@freebsd.org Mon Mar 5 08:29:40 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 78034F3D7D3; Mon, 5 Mar 2018 08:29:40 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DFED16B8C3; Mon, 5 Mar 2018 08:29:38 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B73AA2171C; Mon, 5 Mar 2018 08:29:38 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258TcGg017811; Mon, 5 Mar 2018 08:29:38 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258Tcr2017810; Mon, 5 Mar 2018 08:29:38 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050829.w258Tcr2017810@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:29:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330465 - stable/11/sys/conf X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/conf X-SVN-Commit-Revision: 330465 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:29:40 -0000 Author: eadler Date: Mon Mar 5 08:29:38 2018 New Revision: 330465 URL: https://svnweb.freebsd.org/changeset/base/330465 Log: MFC r313425: [iwm] add version 17 firmware. Modified: stable/11/sys/conf/files Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/conf/files ============================================================================== --- stable/11/sys/conf/files Mon Mar 5 08:27:29 2018 (r330464) +++ stable/11/sys/conf/files Mon Mar 5 08:29:38 2018 (r330465) @@ -1926,7 +1926,7 @@ iwm3160fw.fwo optional iwm3160fw | iwmfw \ no-implicit-rule \ clean "iwm3160fw.fwo" iwm3160.fw optional iwm3160fw | iwmfw \ - dependency "$S/contrib/dev/iwm/iwm-3160-16.fw.uu" \ + dependency "$S/contrib/dev/iwm/iwm-3160-17.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwm3160.fw" @@ -1940,7 +1940,7 @@ iwm7260fw.fwo optional iwm7260fw | iwmfw \ no-implicit-rule \ clean "iwm7260fw.fwo" iwm7260.fw optional iwm7260fw | iwmfw \ - dependency "$S/contrib/dev/iwm/iwm-7260-16.fw.uu" \ + dependency "$S/contrib/dev/iwm/iwm-7260-17.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwm7260.fw" @@ -1954,7 +1954,7 @@ iwm7265fw.fwo optional iwm7265fw | iwmfw \ no-implicit-rule \ clean "iwm7265fw.fwo" iwm7265.fw optional iwm7265fw | iwmfw \ - dependency "$S/contrib/dev/iwm/iwm-7265-16.fw.uu" \ + dependency "$S/contrib/dev/iwm/iwm-7265-17.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwm7265.fw" @@ -1982,7 +1982,7 @@ iwm8000Cfw.fwo optional iwm8000Cfw | iwmfw \ no-implicit-rule \ clean "iwm8000Cfw.fwo" iwm8000C.fw optional iwm8000Cfw | iwmfw \ - dependency "$S/contrib/dev/iwm/iwm-8000C-16.fw.uu" \ + dependency "$S/contrib/dev/iwm/iwm-8000C-17.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwm8000C.fw" From owner-svn-src-stable@freebsd.org Mon Mar 5 08:30:48 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3B306F3D966; Mon, 5 Mar 2018 08:30:48 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DEE866BADA; Mon, 5 Mar 2018 08:30:47 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D9D6A21736; Mon, 5 Mar 2018 08:30:47 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258UlNI017922; Mon, 5 Mar 2018 08:30:47 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258Ul2n017921; Mon, 5 Mar 2018 08:30:47 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050830.w258Ul2n017921@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:30:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330466 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330466 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:30:48 -0000 Author: eadler Date: Mon Mar 5 08:30:47 2018 New Revision: 330466 URL: https://svnweb.freebsd.org/changeset/base/330466 Log: MFC r313578: [net80211] add a sysctl that forces a vap restart. Well, vap restart really does "all restart" for now, which will be a good way of debugging firmware restart issues. Modified: stable/11/sys/net80211/ieee80211_freebsd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_freebsd.c ============================================================================== --- stable/11/sys/net80211/ieee80211_freebsd.c Mon Mar 5 08:29:38 2018 (r330465) +++ stable/11/sys/net80211/ieee80211_freebsd.c Mon Mar 5 08:30:47 2018 (r330466) @@ -180,6 +180,26 @@ ieee80211_sysctl_radar(SYSCTL_HANDLER_ARGS) return 0; } +/* + * For now, just restart everything. + * + * Later on, it'd be nice to have a separate VAP restart to + * full-device restart. + */ +static int +ieee80211_sysctl_vap_restart(SYSCTL_HANDLER_ARGS) +{ + struct ieee80211vap *vap = arg1; + int t = 0, error; + + error = sysctl_handle_int(oidp, &t, 0, req); + if (error || !req->newptr) + return error; + + ieee80211_restart_all(vap->iv_ic); + return 0; +} + void ieee80211_sysctl_attach(struct ieee80211com *ic) { @@ -259,6 +279,12 @@ ieee80211_sysctl_vattach(struct ieee80211vap *vap) &vap->iv_ampdu_mintraffic[WME_AC_VI], 0, "VI traffic tx aggr threshold (pps)"); } + + SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO, + "force_restart", CTLTYPE_INT | CTLFLAG_RW, vap, 0, + ieee80211_sysctl_vap_restart, "I", + "force a VAP restart"); + if (vap->iv_caps & IEEE80211_C_DFS) { SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "radar", CTLTYPE_INT | CTLFLAG_RW, vap->iv_ic, 0, From owner-svn-src-stable@freebsd.org Mon Mar 5 08:32:16 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 653EEF3DC66; Mon, 5 Mar 2018 08:32:16 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 160956BE74; Mon, 5 Mar 2018 08:32:16 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ECC6421892; Mon, 5 Mar 2018 08:32:15 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258WFxD021781; Mon, 5 Mar 2018 08:32:15 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258WFWw021779; Mon, 5 Mar 2018 08:32:15 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050832.w258WFWw021779@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:32:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330467 - stable/11/sys/dev/asmc X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/asmc X-SVN-Commit-Revision: 330467 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:32:16 -0000 Author: eadler Date: Mon Mar 5 08:32:15 2018 New Revision: 330467 URL: https://svnweb.freebsd.org/changeset/base/330467 Log: MFC r313880: [asmc] Add support for MacBook Pro 11,2 This patch will add support for MacBookPro 11.2. For the macros, the MBP11_* macros (for the existing MacBookPro11.3) did not match so they have been renamed to MBP113_* and a new MBP112_* has been added (modified copy of MBP11_*). Some trailing whitespaces may have been removed automatically. PR: kern/214836 Modified: stable/11/sys/dev/asmc/asmc.c stable/11/sys/dev/asmc/asmcvar.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/asmc/asmc.c ============================================================================== --- stable/11/sys/dev/asmc/asmc.c Mon Mar 5 08:30:47 2018 (r330466) +++ stable/11/sys/dev/asmc/asmc.c Mon Mar 5 08:32:15 2018 (r330467) @@ -155,13 +155,13 @@ static struct asmc_model *asmc_match(device_t dev); asmc_mbp_sysctl_light_control struct asmc_model asmc_models[] = { - { + { "MacBook1,1", "Apple SMC MacBook Core Duo", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, NULL, NULL, NULL, ASMC_MB_TEMPS, ASMC_MB_TEMPNAMES, ASMC_MB_TEMPDESCS }, - { + { "MacBook2,1", "Apple SMC MacBook Core 2 Duo", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, NULL, NULL, NULL, ASMC_MB_TEMPS, ASMC_MB_TEMPNAMES, ASMC_MB_TEMPDESCS @@ -173,68 +173,74 @@ struct asmc_model asmc_models[] = { ASMC_MB31_TEMPS, ASMC_MB31_TEMPNAMES, ASMC_MB31_TEMPDESCS }, - { + { "MacBookPro1,1", "Apple SMC MacBook Pro Core Duo (15-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, - { + { "MacBookPro1,2", "Apple SMC MacBook Pro Core Duo (17-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, - { + { "MacBookPro2,1", "Apple SMC MacBook Pro Core 2 Duo (17-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, - { + { "MacBookPro2,2", "Apple SMC MacBook Pro Core 2 Duo (15-inch)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, - { + { "MacBookPro3,1", "Apple SMC MacBook Pro Core 2 Duo (15-inch LED)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, - { + { "MacBookPro3,2", "Apple SMC MacBook Pro Core 2 Duo (17-inch HD)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP_TEMPS, ASMC_MBP_TEMPNAMES, ASMC_MBP_TEMPDESCS }, - - { + + { "MacBookPro4,1", "Apple SMC MacBook Pro Core 2 Duo (Penryn)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP4_TEMPS, ASMC_MBP4_TEMPNAMES, ASMC_MBP4_TEMPDESCS }, - { + { "MacBookPro5,1", "Apple SMC MacBook Pro Core 2 Duo (2008/2009)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP5_TEMPS, ASMC_MBP5_TEMPNAMES, ASMC_MBP5_TEMPDESCS }, - { + { "MacBookPro8,2", "Apple SMC MacBook Pro (early 2011)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, ASMC_MBP8_TEMPS, ASMC_MBP8_TEMPNAMES, ASMC_MBP8_TEMPDESCS }, - { + { + "MacBookPro11,2", "Apple SMC MacBook Pro Retina Core i7 (2013/2014)", + ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, + ASMC_MBP112_TEMPS, ASMC_MBP112_TEMPNAMES, ASMC_MBP112_TEMPDESCS + }, + + { "MacBookPro11,3", "Apple SMC MacBook Pro Retina Core i7 (2013/2014)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, - ASMC_MBP11_TEMPS, ASMC_MBP11_TEMPNAMES, ASMC_MBP11_TEMPDESCS + ASMC_MBP113_TEMPS, ASMC_MBP113_TEMPNAMES, ASMC_MBP113_TEMPDESCS }, - + /* The Mac Mini has no SMS */ - { + { "Macmini1,1", "Apple SMC Mac Mini", NULL, NULL, NULL, ASMC_FAN_FUNCS, @@ -243,7 +249,7 @@ struct asmc_model asmc_models[] = { }, /* The Mac Mini 3,1 has no SMS */ - { + { "Macmini3,1", "Apple SMC Mac Mini 3,1", NULL, NULL, NULL, ASMC_FAN_FUNCS, @@ -273,31 +279,31 @@ struct asmc_model asmc_models[] = { "MacBookAir1,1", "Apple SMC MacBook Air", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, NULL, NULL, NULL, ASMC_MBA_TEMPS, ASMC_MBA_TEMPNAMES, ASMC_MBA_TEMPDESCS - }, + }, { "MacBookAir3,1", "Apple SMC MacBook Air Core 2 Duo (Late 2010)", ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, NULL, NULL, NULL, ASMC_MBA3_TEMPS, ASMC_MBA3_TEMPNAMES, ASMC_MBA3_TEMPDESCS - }, + }, { "MacBookAir5,1", "Apple SMC MacBook Air 11-inch (Mid 2012)", ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, + ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, ASMC_MBA5_TEMPS, ASMC_MBA5_TEMPNAMES, ASMC_MBA5_TEMPDESCS - }, + }, { "MacBookAir5,2", "Apple SMC MacBook Air 13-inch (Mid 2012)", ASMC_SMS_FUNCS_DISABLED, - ASMC_FAN_FUNCS2, + ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS, ASMC_MBA5_TEMPS, ASMC_MBA5_TEMPNAMES, ASMC_MBA5_TEMPDESCS - }, + }, - + { NULL, NULL } }; @@ -333,7 +339,7 @@ ACPI_MODULE_NAME("ASMC") #ifdef DEBUG #define ASMC_DPRINTF(str) device_printf(dev, str) #else -#define ASMC_DPRINTF(str) +#define ASMC_DPRINTF(str) #endif /* NB: can't be const */ @@ -376,7 +382,7 @@ asmc_probe(device_t dev) return (ENXIO); if (ACPI_ID_PROBE(device_get_parent(dev), dev, asmc_ids) == NULL) return (ENXIO); - + model = asmc_match(dev); if (!model) { device_printf(dev, "model not recognized\n"); @@ -404,10 +410,10 @@ asmc_attach(device_t dev) device_printf(dev, "unable to allocate IO port\n"); return (ENOMEM); } - + sysctlctx = device_get_sysctl_ctx(dev); sysctlnode = device_get_sysctl_tree(dev); - + model = asmc_match(dev); mtx_init(&sc->sc_mtx, "asmc", NULL, MTX_SPIN); @@ -495,13 +501,13 @@ asmc_attach(device_t dev) sc->sc_light_tree = SYSCTL_ADD_NODE(sysctlctx, SYSCTL_CHILDREN(sysctlnode), OID_AUTO, "light", CTLFLAG_RD, 0, "Keyboard backlight sensors"); - + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_light_tree), OID_AUTO, "left", CTLTYPE_INT | CTLFLAG_RD, dev, 0, model->smc_light_left, "I", "Keyboard backlight left sensor"); - + SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_light_tree), OID_AUTO, "right", CTLTYPE_INT | CTLFLAG_RD, @@ -574,7 +580,7 @@ asmc_attach(device_t dev) goto err2; } - ret = bus_setup_intr(dev, sc->sc_irq, + ret = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_MISC | INTR_MPSAFE, #ifdef INTR_FILTER asmc_sms_intrfast, asmc_sms_handler, @@ -663,7 +669,7 @@ asmc_init(device_t dev) asmc_key_write(dev, ASMC_KEY_INTOK, buf, 1); DELAY(50); - /* + /* * Initiate the polling intervals. */ buf[0] = 20; /* msecs */ @@ -698,13 +704,13 @@ asmc_init(device_t dev) DELAY(100); sc->sc_sms_intr_works = 0; - + /* * Retry SMS initialization 1000 times * (takes approx. 2 seconds in worst case) */ for (i = 0; i < 1000; i++) { - if (asmc_key_read(dev, ASMC_KEY_SMS, buf, 2) == 0 && + if (asmc_key_read(dev, ASMC_KEY_SMS, buf, 2) == 0 && (buf[0] == ASMC_SMS_INIT1 && buf[1] == ASMC_SMS_INIT2)) { error = 0; sc->sc_sms_intr_works = 1; @@ -734,7 +740,7 @@ nosms: */ asmc_key_read(dev, ASMC_NKEYS, buf, 4); device_printf(dev, "number of keys: %d\n", ntohl(*(uint32_t*)buf)); - } + } #ifdef DEBUG asmc_dumpall(dev); @@ -782,10 +788,10 @@ asmc_wait(device_t dev, uint8_t val) #ifdef DEBUG device_printf(dev, "%s failed: 0x%x, 0x%x\n", __func__, val, ASMC_CMDPORT_READ(sc)); -#endif +#endif return (1); } - + /* * Send the given command, retrying up to 10 times if * the acknowledgement fails. @@ -919,7 +925,7 @@ out: maxlen = type[0]; type[0] = ' '; type[5] = 0; - if (maxlen > sizeof(v)) { + if (maxlen > sizeof(v)) { device_printf(dev, "WARNING: cropping maxlen from %d to %zu\n", maxlen, sizeof(v)); @@ -1189,7 +1195,7 @@ asmc_sms_read(device_t dev, const char *key, int16_t * uint8_t buf[2]; int error; - /* no need to do locking here as asmc_key_read() already does it */ + /* no need to do locking here as asmc_key_read() already does it */ switch (key[3]) { case 'X': case 'Y': @@ -1246,7 +1252,7 @@ static void asmc_sms_handler(void *arg) { struct asmc_softc *sc = device_get_softc(arg); - + asmc_sms_task(sc, 0); } #endif @@ -1293,7 +1299,7 @@ asmc_sms_task(void *arg, int pending) } snprintf(notify, sizeof(notify), " notify=0x%x", type); - devctl_notify("ACPI", "asmc", "SMS", notify); + devctl_notify("ACPI", "asmc", "SMS", notify); } static int @@ -1363,11 +1369,11 @@ asmc_mbp_sysctl_light_right(SYSCTL_HANDLER_ARGS) uint8_t buf[6]; int error; int32_t v; - + asmc_key_read(dev, ASMC_KEY_LIGHTRIGHT, buf, sizeof buf); v = buf[2]; error = sysctl_handle_int(oidp, &v, 0, req); - + return (error); } Modified: stable/11/sys/dev/asmc/asmcvar.h ============================================================================== --- stable/11/sys/dev/asmc/asmcvar.h Mon Mar 5 08:30:47 2018 (r330466) +++ stable/11/sys/dev/asmc/asmcvar.h Mon Mar 5 08:32:15 2018 (r330467) @@ -76,7 +76,7 @@ struct asmc_softc { /* Number of keys */ -#define ASMC_NKEYS "#KEY" /* RO; 4 bytes */ +#define ASMC_NKEYS "#KEY" /* RO; 4 bytes */ /* * Fan control via SMC. @@ -154,7 +154,7 @@ struct asmc_softc { #define ASMC_MB31_TEMPDESCS { "Enclosure Bottomside", \ "Northbridge Point 1", \ "Heatsink 1","Heatsink 2" \ - "Memory Bank A", } + "Memory Bank A", } #define ASMC_MBP_TEMPS { "TB0T", "Th0H", "Th1H", "Tm0P", \ "TG0H", "TG0P", "TG0T", NULL } @@ -167,7 +167,7 @@ struct asmc_softc { "Heatsink 1", "Heatsink 2", \ "Memory Controller", \ "Graphics Chip", "Graphics Heatsink", \ - "Unknown", } + "Unknown", } #define ASMC_MBP4_TEMPS { "TB0T", "Th0H", "Th1H", "Th2H", "Tm0P", \ "TG0H", "TG0D", "TC0D", "TC0P", "Ts0P", \ @@ -186,13 +186,13 @@ struct asmc_softc { "Graphics Chip Diode", \ "CPU Temperature Diode", "CPU Point 2", \ "Unknown", "Unknown", \ - "Wireless Module", } + "Wireless Module", } #define ASMC_MBP5_TEMPS { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", \ "TC0F", "TC0P", "TG0D", "TG0F", "TG0H", \ "TG0P", "TG0T", "TG1H", "TN0D", "TN0P", \ "TTF0", "Th2H", "Tm0P", "Ts0P", "Ts0S", \ - NULL } + NULL } #define ASMC_MBP5_TEMPNAMES { "enclosure_bottom_0", "enclosure_bottom_1", \ "enclosure_bottom_2", "enclosure_bottom_3", \ @@ -203,7 +203,7 @@ struct asmc_softc { "gpu_2_heatsink", "northbridge_diode", \ "northbridge_pin", "unknown", \ "heatsink_2", "memory_controller", \ - "pci_express_slot_pin", "pci_express_slot_unk" } + "pci_express_slot_pin", "pci_express_slot_unk" } #define ASMC_MBP5_TEMPDESCS { "Enclosure Bottom 0", "Enclosure Bottom 1", \ "Enclosure Bottom 2", "Enclosure Bottom 3", \ @@ -214,40 +214,67 @@ struct asmc_softc { "GPU 2 Heatsink", "Northbridge Diode", \ "Northbridge Pin", "Unknown", \ "Heatsink 2", "Memory Controller", \ - "PCI Express Slot Pin", "PCI Express Slot (unk)" } + "PCI Express Slot Pin", "PCI Express Slot (unk)" } #define ASMC_MBP8_TEMPS { "TB0T", "TB1T", "TB2T", "TC0C", "TC0D", \ "TC0E", "TC0F", "TC0P", "TC1C", "TC2C", \ "TC3C", "TC4C", "TCFC", "TCGC", "TCSA", \ "TCTD", "TG0D", "TG0P", "THSP", "TM0S", \ "TMBS", "TP0P", "TPCD", "TW0P", "Th1H", \ - "Th2H", "Tm0P", "Ts0P", "Ts0S", NULL } + "Th2H", "Tm0P", "Ts0P", "Ts0S", NULL } #define ASMC_MBP8_TEMPNAMES { "enclosure", "TB1T", "TB2T", "TC0C", "TC0D", \ "TC0E", "TC0F", "TC0P", "TC1C", "TC2C", \ "TC3C", "TC4C", "TCFC", "TCGC", "TCSA", \ "TCTD", "graphics", "TG0P", "THSP", "TM0S", \ "TMBS", "TP0P", "TPCD", "wireless", "Th1H", \ - "Th2H", "memory", "Ts0P", "Ts0S" } + "Th2H", "memory", "Ts0P", "Ts0S" } #define ASMC_MBP8_TEMPDESCS { "Enclosure Bottomside", "TB1T", "TB2T", "TC0C", "TC0D", \ "TC0E", "TC0F", "TC0P", "TC1C", "TC2C", \ "TC3C", "TC4C", "TCFC", "TCGC", "TCSA", \ "TCTD", "TG0D", "TG0P", "THSP", "TM0S", \ "TMBS", "TP0P", "TPCD", "TW0P", "Th1H", \ - "Th2H", "Tm0P", "Ts0P", "Ts0S" } + "Th2H", "Tm0P", "Ts0P", "Ts0S" } -#define ASMC_MBP11_TEMPS { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ +#define ASMC_MBP112_TEMPS { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ "TC0F", "TC0P", "TC1C", "TC2C", "TC3C", \ "TC4C", "TCFC", "TCGC", "TCSA", "TCTD", \ + "TCXC", "TH0A", "TH0B", "TH0F", "TH0R", \ + "TH0V", "TH0a", "TH0b", "TH0c", "TM0P", \ + "TM0S", "TP0P", "TPCD", "TW0P", "Ta0P", \ + "TaSP", "Th1H", "Th2H", "Ts0P", "Ts0S", \ + "Ts1S", NULL } + +#define ASMC_MBP112_TEMPNAMES { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ + "TC0F", "TC0P", "TC1C", "TC2C", "TC3C", \ + "TC4C", "TCFC", "TCGC", "TCSA", "TCTD", \ + "TCXC", "TH0A", "TH0B", "TH0F", "TH0R", \ + "TH0V", "TH0a", "TH0b", "TH0c", "TM0P", \ + "TM0S", "TP0P", "TPCD", "TW0P", "Ta0P", \ + "TaSP", "Th1H", "Th2H", "Ts0P", "Ts0S", \ + "Ts1S" } + +#define ASMC_MBP112_TEMPDESCS { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ + "TC0F", "TC0P", "TC1C", "TC2C", "TC3C", \ + "TC4C", "TCFC", "TCGC", "TCSA", "TCTD", \ + "TCXC", "TH0A", "TH0B", "TH0F", "TH0R", \ + "TH0V", "TH0a", "TH0b", "TH0c", "TM0P", \ + "TM0S", "TP0P", "TPCD", "TW0P", "Ta0P", \ + "TaSP", "Th1H", "Th2H", "Ts0P", "Ts0S", \ + "Ts1S" } + +#define ASMC_MBP113_TEMPS { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ + "TC0F", "TC0P", "TC1C", "TC2C", "TC3C", \ + "TC4C", "TCFC", "TCGC", "TCSA", "TCTD", \ "TCXC", "TG0D", "TG0P", "TG1D", "TG1F", \ "TG1d", "TH0A", "TH0B", "TH0F", "TH0R", \ "TH0V", "TH0a", "TH0b", "TH0c", "TM0P", \ "TM0S", "TP0P", "TPCD", "TW0P", "Ta0P", \ "TaSP", "Th1H", "Th2H", "Ts0P", "Ts0S", \ - "Ts1S", NULL } + "Ts1S", NULL } -#define ASMC_MBP11_TEMPNAMES { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ +#define ASMC_MBP113_TEMPNAMES { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ "TC0F", "TC0P", "TC1C", "TC2C", "TC3C", \ "TC4C", "TCFC", "TCGC", "TCSA", "TCTD", \ "TCXC", "TG0D", "TG0P", "TG1D", "TG1F", \ @@ -255,9 +282,9 @@ struct asmc_softc { "TH0V", "TH0a", "TH0b", "TH0c", "TM0P", \ "TM0S", "TP0P", "TPCD", "TW0P", "Ta0P", \ "TaSP", "Th1H", "Th2H", "Ts0P", "Ts0S", \ - "Ts1S" } + "Ts1S" } -#define ASMC_MBP11_TEMPDESCS { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ +#define ASMC_MBP113_TEMPDESCS { "TB0T", "TB1T", "TB2T", "TBXT", "TC0E", \ "TC0F", "TC0P", "TC1C", "TC2C", "TC3C", \ "TC4C", "TCFC", "TCGC", "TCSA", "TCTD", \ "TCXC", "TG0D", "TG0P", "TG1D", "TG1F", \ @@ -265,7 +292,8 @@ struct asmc_softc { "TH0V", "TH0a", "TH0b", "TH0c", "TM0P", \ "TM0S", "TP0P", "TPCD", "TW0P", "Ta0P", \ "TaSP", "Th1H", "Th2H", "Ts0P", "Ts0S", \ - "Ts1S" } + "Ts1S" } + #define ASMC_MM_TEMPS { "TN0P", "TN1P", NULL } #define ASMC_MM_TEMPNAMES { "northbridge1", "northbridge2" } From owner-svn-src-stable@freebsd.org Mon Mar 5 08:32:55 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 33603F3DD89; Mon, 5 Mar 2018 08:32:55 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D0B786BFDC; Mon, 5 Mar 2018 08:32:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CB8C2218AA; Mon, 5 Mar 2018 08:32:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258Ws13022656; Mon, 5 Mar 2018 08:32:54 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258WsHM022655; Mon, 5 Mar 2018 08:32:54 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050832.w258WsHM022655@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:32:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330468 - stable/11/sbin/ifconfig X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sbin/ifconfig X-SVN-Commit-Revision: 330468 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:32:55 -0000 Author: eadler Date: Mon Mar 5 08:32:54 2018 New Revision: 330468 URL: https://svnweb.freebsd.org/changeset/base/330468 Log: MFC r313978: [ifconfig] fix a memory leak. Modified: stable/11/sbin/ifconfig/ifieee80211.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ifconfig/ifieee80211.c ============================================================================== --- stable/11/sbin/ifconfig/ifieee80211.c Mon Mar 5 08:32:15 2018 (r330467) +++ stable/11/sbin/ifconfig/ifieee80211.c Mon Mar 5 08:32:54 2018 (r330468) @@ -1083,6 +1083,7 @@ set80211chanlist(const char *val, int d, int s, const cp = tp; } set80211(s, IEEE80211_IOC_CHANLIST, 0, sizeof(chanlist), &chanlist); + free(temp); } static void From owner-svn-src-stable@freebsd.org Mon Mar 5 08:33:30 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7FF74F3DEE6; Mon, 5 Mar 2018 08:33:30 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2957A6C1EF; Mon, 5 Mar 2018 08:33:30 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 246D3218AC; Mon, 5 Mar 2018 08:33:30 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258XURf022841; Mon, 5 Mar 2018 08:33:30 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258XUg4022840; Mon, 5 Mar 2018 08:33:30 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050833.w258XUg4022840@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:33:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330469 - stable/11/sbin/ifconfig X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sbin/ifconfig X-SVN-Commit-Revision: 330469 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:33:30 -0000 Author: eadler Date: Mon Mar 5 08:33:29 2018 New Revision: 330469 URL: https://svnweb.freebsd.org/changeset/base/330469 Log: MFC r313979: [ifconfig] fix a memory leak! Modified: stable/11/sbin/ifconfig/ifbridge.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ifconfig/ifbridge.c ============================================================================== --- stable/11/sbin/ifconfig/ifbridge.c Mon Mar 5 08:32:54 2018 (r330468) +++ stable/11/sbin/ifconfig/ifbridge.c Mon Mar 5 08:33:29 2018 (r330469) @@ -207,7 +207,7 @@ bridge_interfaces(int s, const char *prefix) } printf("\n"); } - + free(pad); free(inbuf); } From owner-svn-src-stable@freebsd.org Mon Mar 5 08:37:10 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C06D5F3E2F0; Mon, 5 Mar 2018 08:37:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 714DB6C429; Mon, 5 Mar 2018 08:37:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 67F39218AD; Mon, 5 Mar 2018 08:37:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258b9V6023023; Mon, 5 Mar 2018 08:37:09 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258b9O4023021; Mon, 5 Mar 2018 08:37:09 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050837.w258b9O4023021@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:37:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330470 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330470 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:37:10 -0000 Author: eadler Date: Mon Mar 5 08:37:08 2018 New Revision: 330470 URL: https://svnweb.freebsd.org/changeset/base/330470 Log: MFC r310891: [net80211] add placeholders for the VHT action frame handling. Upcoming vht support will register send/receive action handlers. Modified: stable/11/sys/net80211/ieee80211.h stable/11/sys/net80211/ieee80211_action.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211.h ============================================================================== --- stable/11/sys/net80211/ieee80211.h Mon Mar 5 08:33:29 2018 (r330469) +++ stable/11/sys/net80211/ieee80211.h Mon Mar 5 08:37:08 2018 (r330470) @@ -367,7 +367,7 @@ struct ieee80211_action { #define IEEE80211_ACTION_CAT_MESH 13 /* Mesh */ #define IEEE80211_ACTION_CAT_SELF_PROT 15 /* Self-protected */ /* 16 - 125 reserved */ -#define IEEE80211_ACTION_VHT 21 +#define IEEE80211_ACTION_CAT_VHT 21 #define IEEE80211_ACTION_CAT_VENDOR 127 /* Vendor Specific */ #define IEEE80211_ACTION_HT_TXCHWIDTH 0 /* recommended xmit chan width*/ Modified: stable/11/sys/net80211/ieee80211_action.c ============================================================================== --- stable/11/sys/net80211/ieee80211_action.c Mon Mar 5 08:33:29 2018 (r330469) +++ stable/11/sys/net80211/ieee80211_action.c Mon Mar 5 08:37:08 2018 (r330470) @@ -79,6 +79,10 @@ static ieee80211_send_action_func *vendor_send_action[ send_inval, send_inval, send_inval, send_inval, }; +static ieee80211_send_action_func *vht_send_action[3] = { + send_inval, send_inval, send_inval, +}; + int ieee80211_send_action_register(int cat, int act, ieee80211_send_action_func *f) { @@ -108,6 +112,11 @@ ieee80211_send_action_register(int cat, int act, ieee8 break; vendor_send_action[act] = f; return 0; + case IEEE80211_ACTION_CAT_VHT: + if (act >= nitems(vht_send_action)) + break; + vht_send_action[act] = f; + return 0; } return EINVAL; } @@ -144,6 +153,10 @@ ieee80211_send_action(struct ieee80211_node *ni, int c if (act < nitems(vendor_send_action)) f = vendor_send_action[act]; break; + case IEEE80211_ACTION_CAT_VHT: + if (act < nitems(vht_send_action)) + f = vht_send_action[act]; + break; } return f(ni, cat, act, sa); } @@ -177,6 +190,10 @@ static ieee80211_recv_action_func *vendor_recv_action[ recv_inval, recv_inval, recv_inval, recv_inval, }; +static ieee80211_recv_action_func *vht_recv_action[3] = { + recv_inval, recv_inval, recv_inval +}; + int ieee80211_recv_action_register(int cat, int act, ieee80211_recv_action_func *f) { @@ -206,6 +223,11 @@ ieee80211_recv_action_register(int cat, int act, ieee8 break; vendor_recv_action[act] = f; return 0; + case IEEE80211_ACTION_CAT_VHT: + if (act >= nitems(vht_recv_action)) + break; + vht_recv_action[act] = f; + return 0; } return EINVAL; } @@ -255,6 +277,10 @@ ieee80211_recv_action(struct ieee80211_node *ni, case IEEE80211_ACTION_CAT_VENDOR: if (ia->ia_action < nitems(vendor_recv_action)) f = vendor_recv_action[ia->ia_action]; + break; + case IEEE80211_ACTION_CAT_VHT: + if (ia->ia_action < nitems(vht_recv_action)) + f = vht_recv_action[ia->ia_action]; break; } return f(ni, wh, frm, efrm); From owner-svn-src-stable@freebsd.org Mon Mar 5 08:40:19 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0EADF3E6A7; Mon, 5 Mar 2018 08:40:18 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 908C46C681; Mon, 5 Mar 2018 08:40:18 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 85AC1218B6; Mon, 5 Mar 2018 08:40:18 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258eIFG023204; Mon, 5 Mar 2018 08:40:18 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258eIQx023203; Mon, 5 Mar 2018 08:40:18 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050840.w258eIQx023203@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:40:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330471 - stable/11/sys/net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/net80211 X-SVN-Commit-Revision: 330471 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:40:19 -0000 Author: eadler Date: Mon Mar 5 08:40:18 2018 New Revision: 330471 URL: https://svnweb.freebsd.org/changeset/base/330471 Log: MFC r311861: [net80211] Add default parameters for 11ac. I doubt TDMA code will ever work for 11ac, but you never know, someone may one day make it happen. Modified: stable/11/sys/net80211/ieee80211_tdma.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_tdma.c ============================================================================== --- stable/11/sys/net80211/ieee80211_tdma.c Mon Mar 5 08:37:08 2018 (r330470) +++ stable/11/sys/net80211/ieee80211_tdma.c Mon Mar 5 08:40:18 2018 (r330471) @@ -176,6 +176,8 @@ ieee80211_tdma_vattach(struct ieee80211vap *vap) settxparms(vap, IEEE80211_MODE_11NG, TDMA_TXRATE_11NG_DEFAULT); settxparms(vap, IEEE80211_MODE_HALF, TDMA_TXRATE_HALF_DEFAULT); settxparms(vap, IEEE80211_MODE_QUARTER, TDMA_TXRATE_QUARTER_DEFAULT); + settxparms(vap, IEEE80211_MODE_VHT_2GHZ, TDMA_TXRATE_11NG_DEFAULT); + settxparms(vap, IEEE80211_MODE_VHT_5GHZ, TDMA_TXRATE_11NA_DEFAULT); setackpolicy(vap->iv_ic, 1); /* disable ACK's */ From owner-svn-src-stable@freebsd.org Mon Mar 5 08:42:07 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DDE70F3E853; Mon, 5 Mar 2018 08:42:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 915FA6C8F3; Mon, 5 Mar 2018 08:42:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8C4DB21A19; Mon, 5 Mar 2018 08:42:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258g7YZ027826; Mon, 5 Mar 2018 08:42:07 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258g7m9027825; Mon, 5 Mar 2018 08:42:07 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050842.w258g7m9027825@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:42:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330472 - stable/11/sys/dev/usb/wlan X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/usb/wlan X-SVN-Commit-Revision: 330472 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:42:08 -0000 Author: eadler Date: Mon Mar 5 08:42:07 2018 New Revision: 330472 URL: https://svnweb.freebsd.org/changeset/base/330472 Log: MFC r311830: [rsu] add support for the "green" rsu NICs. They're still a 1T2R NIC, so reuse the same rfconfig and nstream configuration. Modified: stable/11/sys/dev/usb/wlan/if_rsu.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/usb/wlan/if_rsu.c ============================================================================== --- stable/11/sys/dev/usb/wlan/if_rsu.c Mon Mar 5 08:40:18 2018 (r330471) +++ stable/11/sys/dev/usb/wlan/if_rsu.c Mon Mar 5 08:42:07 2018 (r330472) @@ -492,6 +492,12 @@ rsu_attach(device_t self) sc->sc_ntxstream = 2; rft = "2T2R"; break; + case 0x3: /* "green" NIC */ + sc->sc_rftype = RTL8712_RFCONFIG_1T2R; + sc->sc_nrxstream = 2; + sc->sc_ntxstream = 1; + rft = "1T2R ('green')"; + break; default: device_printf(sc->sc_dev, "%s: unknown board type (rfconfig=0x%02x)\n", From owner-svn-src-stable@freebsd.org Mon Mar 5 08:44:09 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8F013F3EC4D; Mon, 5 Mar 2018 08:44:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3E3D36CCB8; Mon, 5 Mar 2018 08:44:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 391AB21A3D; Mon, 5 Mar 2018 08:44:09 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258i9pt027959; Mon, 5 Mar 2018 08:44:09 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258i9qc027958; Mon, 5 Mar 2018 08:44:09 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050844.w258i9qc027958@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:44:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330473 - stable/11/share/misc X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/share/misc X-SVN-Commit-Revision: 330473 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:44:09 -0000 Author: eadler Date: Mon Mar 5 08:44:08 2018 New Revision: 330473 URL: https://svnweb.freebsd.org/changeset/base/330473 Log: MFC r324423,r324436: Update iso3166 codes Based on https://raw.githubusercontent.com/lukes/ISO-3166-Countries-with-Regional-Codes/master/all/all.csv and hand massaged. Modified: stable/11/share/misc/iso3166 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/misc/iso3166 ============================================================================== --- stable/11/share/misc/iso3166 Mon Mar 5 08:42:07 2018 (r330472) +++ stable/11/share/misc/iso3166 Mon Mar 5 08:44:08 2018 (r330473) @@ -21,7 +21,7 @@ # two three number name AF AFG 004 Afghanistan AL ALB 008 Albania -AX ALA 248 Aland Islands +AX ALA 248 Ã…land Islands DZ DZA 012 Algeria AS ASM 016 American Samoa AD AND 020 Andorra @@ -59,7 +59,7 @@ BI BDI 108 Burundi KH KHM 116 Cambodia CM CMR 120 Cameroon CA CAN 124 Canada -CV CPV 132 Cape Verde +CV CPV 132 Cabo Verde KY CYM 136 Cayman Islands CF CAF 140 Central African Republic TD TCD 148 Chad @@ -70,20 +70,19 @@ CC CCK 166 Cocos (Keeling) Islands CO COL 170 Colombia KM COM 174 Comoros CG COG 178 Congo -CD COD 180 Congo, the Democratic Republic of the +CD COD 180 Congo, Democratic Republic of the CK COK 184 Cook Islands CR CRI 188 Costa Rica -CI CIV 384 Cote d'Ivoire +CI CIV 384 Côte d'Ivoire HR HRV 191 Croatia CU CUB 192 Cuba -CW CUW 531 Curacao +CW CUW 531 Curaçao CY CYP 196 Cyprus CZ CZE 203 Czech Republic DK DNK 208 Denmark DJ DJI 262 Djibouti DM DMA 212 Dominica DO DOM 214 Dominican Republic -TL TLS 626 Timor-Leste EC ECU 218 Ecuador EG EGY 818 Egypt SV SLV 222 El Salvador @@ -117,13 +116,14 @@ GW GNB 624 Guinea-Bissau GY GUY 328 Guyana HT HTI 332 Haiti HM HMD 334 Heard Island and McDonald Islands +VA VAT 336 Holy See HN HND 340 Honduras HK HKG 344 Hong Kong HU HUN 348 Hungary IS ISL 352 Iceland IN IND 356 India ID IDN 360 Indonesia -IR IRN 364 Iran, Islamic Republic of +IR IRN 364 Iran (Islamic Republic of) IQ IRQ 368 Iraq IE IRL 372 Ireland IM IMN 833 Isle of Man @@ -136,8 +136,8 @@ JO JOR 400 Jordan KZ KAZ 398 Kazakhstan KE KEN 404 Kenya KI KIR 296 Kiribati -KP PRK 408 Korea, Democratic People's Republic of -KR KOR 410 Korea, Republic of +KP PRK 408 Korea (Democratic People's Republic of) +KR KOR 410 Korea (Republic of) KW KWT 414 Kuwait KG KGZ 417 Kyrgyzstan LA LAO 418 Lao People's Democratic Republic @@ -145,12 +145,12 @@ LV LVA 428 Latvia LB LBN 422 Lebanon LS LSO 426 Lesotho LR LBR 430 Liberia -LY LBY 434 Libyan Arab Jamahiriya +LY LBY 434 Libya LI LIE 438 Liechtenstein LT LTU 440 Lithuania LU LUX 442 Luxembourg MO MAC 446 Macao -MK MKD 807 Macedonia, the Former Yugoslav Republic of +MK MKD 807 Macedonia (the former Yugoslav Republic of) MG MDG 450 Madagascar MW MWI 454 Malawi MY MYS 458 Malaysia @@ -163,8 +163,8 @@ MR MRT 478 Mauritania MU MUS 480 Mauritius YT MYT 175 Mayotte MX MEX 484 Mexico -FM FSM 583 Micronesia, Federated States of -MD MDA 498 Moldova, Republic of +FM FSM 583 Micronesia (Federated States of) +MD MDA 498 Moldova (Republic of) MC MCO 492 Monaco MN MNG 496 Mongolia ME MNE 499 Montenegro @@ -188,7 +188,7 @@ NO NOR 578 Norway OM OMN 512 Oman PK PAK 586 Pakistan PW PLW 585 Palau -PS PSE 275 Palestinian Territory, Occupied +PS PSE 275 Palestine, State of PA PAN 591 Panama PG PNG 598 Papua New Guinea PY PRY 600 Paraguay @@ -199,14 +199,16 @@ PL POL 616 Poland PT PRT 620 Portugal PR PRI 630 Puerto Rico QA QAT 634 Qatar -RE REU 638 Reunion +RE REU 638 Réunion RO ROU 642 Romania RU RUS 643 Russian Federation RW RWA 646 Rwanda -BL BLM 652 Saint Barthelemy +BL BLM 652 Saint Barthélemy +SH SHN 654 Saint Helena Ascension and Tristan da Cunha KN KNA 659 Saint Kitts and Nevis LC LCA 662 Saint Lucia -MF MAF 663 Saint Martin (French Part) +MF MAF 663 Saint Martin (French part) +PM SPM 666 Saint Pierre and Miquelon VC VCT 670 Saint Vincent and the Grenadines WS WSM 882 Samoa SM SMR 674 San Marino @@ -227,8 +229,6 @@ GS SGS 239 South Georgia and the South Sandwich Island SS SSD 728 South Sudan ES ESP 724 Spain LK LKA 144 Sri Lanka -SH SHN 654 Saint Helena, Ascension and Tristan da Cunha -PM SPM 666 Saint Pierre and Miquelon SD SDN 729 Sudan SR SUR 740 Suriname SJ SJM 744 Svalbard and Jan Mayen @@ -238,8 +238,9 @@ CH CHE 756 Switzerland SY SYR 760 Syrian Arab Republic TW TWN 158 Taiwan TJ TJK 762 Tajikistan -TZ TZA 834 Tanzania, United Republic of +TZ TZA 834 Tanzania United Republic of TH THA 764 Thailand +TL TLS 626 Timor-Leste TG TGO 768 Togo TK TKL 772 Tokelau TO TON 776 Tonga @@ -252,17 +253,16 @@ TV TUV 798 Tuvalu UG UGA 800 Uganda UA UKR 804 Ukraine AE ARE 784 United Arab Emirates -GB GBR 826 United Kingdom -US USA 840 United States +GB GBR 826 United Kingdom of Great Britain and Northern Ireland +US USA 840 United States of America UM UMI 581 United States Minor Outlying Islands UY URY 858 Uruguay UZ UZB 860 Uzbekistan VU VUT 548 Vanuatu -VA VAT 336 Holy See (Vatican City State) VE VEN 862 Venezuela, Bolivarian Republic of VN VNM 704 Viet Nam -VG VGB 092 Virgin Islands, British -VI VIR 850 Virgin Islands, U.S. +VG VGB 092 Virgin Islands (British) +VI VIR 850 Virgin Islands (U.S.) WF WLF 876 Wallis and Futuna EH ESH 732 Western Sahara YE YEM 887 Yemen From owner-svn-src-stable@freebsd.org Mon Mar 5 08:44:49 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C5CD5F3ECDC; Mon, 5 Mar 2018 08:44:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 74D916CDF2; Mon, 5 Mar 2018 08:44:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6FED621A3E; Mon, 5 Mar 2018 08:44:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258inan028026; Mon, 5 Mar 2018 08:44:49 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258ina1028025; Mon, 5 Mar 2018 08:44:49 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050844.w258ina1028025@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:44:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330474 - stable/11 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11 X-SVN-Commit-Revision: 330474 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:44:49 -0000 Author: eadler Date: Mon Mar 5 08:44:49 2018 New Revision: 330474 URL: https://svnweb.freebsd.org/changeset/base/330474 Log: MFC r306435: callsign isn't required anymore Modified: stable/11/.arcconfig Directory Properties: stable/11/ (props changed) Modified: stable/11/.arcconfig ============================================================================== --- stable/11/.arcconfig Mon Mar 5 08:44:08 2018 (r330473) +++ stable/11/.arcconfig Mon Mar 5 08:44:49 2018 (r330474) @@ -1,5 +1,4 @@ { - "repository.callsign" : "S", "phabricator.uri" : "https://reviews.freebsd.org/", "history.immutable" : true } From owner-svn-src-stable@freebsd.org Mon Mar 5 08:45:40 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F16FEF3EDCE; Mon, 5 Mar 2018 08:45:39 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A45416CF38; Mon, 5 Mar 2018 08:45:39 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9F17221A3F; Mon, 5 Mar 2018 08:45:39 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258jdUV028114; Mon, 5 Mar 2018 08:45:39 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258jdwX028113; Mon, 5 Mar 2018 08:45:39 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050845.w258jdwX028113@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:45:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330475 - stable/11/sys/contrib/ipfilter/netinet X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/contrib/ipfilter/netinet X-SVN-Commit-Revision: 330475 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:45:40 -0000 Author: eadler Date: Mon Mar 5 08:45:39 2018 New Revision: 330475 URL: https://svnweb.freebsd.org/changeset/base/330475 Log: MFC r306449: Remove an extra etter. Modified: stable/11/sys/contrib/ipfilter/netinet/fil.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/contrib/ipfilter/netinet/fil.c ============================================================================== --- stable/11/sys/contrib/ipfilter/netinet/fil.c Mon Mar 5 08:44:49 2018 (r330474) +++ stable/11/sys/contrib/ipfilter/netinet/fil.c Mon Mar 5 08:45:39 2018 (r330475) @@ -421,7 +421,7 @@ static ipftuneable_t ipf_main_tuneables[] = { /* - * The next section of code is a a collection of small routines that set + * The next section of code is a collection of small routines that set * fields in the fr_info_t structure passed based on properties of the * current packet. There are different routines for the same protocol * for each of IPv4 and IPv6. Adding a new protocol, for which there From owner-svn-src-stable@freebsd.org Mon Mar 5 08:47:28 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F9FEF3F006; Mon, 5 Mar 2018 08:47:28 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F2D5C6D107; Mon, 5 Mar 2018 08:47:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E94CA21A40; Mon, 5 Mar 2018 08:47:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258lRP6028221; Mon, 5 Mar 2018 08:47:27 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258lRL3028220; Mon, 5 Mar 2018 08:47:27 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050847.w258lRL3028220@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:47:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330476 - stable/11/etc X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/etc X-SVN-Commit-Revision: 330476 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:47:28 -0000 Author: eadler Date: Mon Mar 5 08:47:27 2018 New Revision: 330476 URL: https://svnweb.freebsd.org/changeset/base/330476 Log: MFC r326456: pf.os: Add OpenBSD:6.1 Obtained From: OpenBSD Modified: stable/11/etc/pf.os Directory Properties: stable/11/ (props changed) Modified: stable/11/etc/pf.os ============================================================================== --- stable/11/etc/pf.os Mon Mar 5 08:45:39 2018 (r330475) +++ stable/11/etc/pf.os Mon Mar 5 08:47:27 2018 (r330476) @@ -1,5 +1,5 @@ # $FreeBSD$ -# $OpenBSD: pf.os,v 1.26 2012/08/03 12:25:16 jsg Exp $ +# $OpenBSD: pf.os,v 1.27 2016/09/03 17:08:57 sthen Exp $ # passive OS fingerprinting # ------------------------- # @@ -314,6 +314,9 @@ S22:64:1:52:M*,N,N,S,N,W0: Linux:2.2:ts:Linux 2.2 w/o 16384:64:1:64:M*,N,N,S,N,W3,N,N,T: OpenBSD:4.9::OpenBSD 4.9 16384:64:0:64:M*,N,N,S,N,W3,N,N,T: OpenBSD:4.9:no-df:OpenBSD 4.9 (scrub no-df) + +16384:64:1:64:M*,N,N,S,N,W6,N,N,T: OpenBSD:6.1::OpenBSD 6.1 +16384:64:0:64:M*,N,N,S,N,W6,N,N,T: OpenBSD:6.1:no-df:OpenBSD 6.1 (scrub no-df) # ----------------- DragonFly BSD ----------------- From owner-svn-src-stable@freebsd.org Mon Mar 5 08:49:12 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA609F3F278; Mon, 5 Mar 2018 08:49:12 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 69B3F6D28C; Mon, 5 Mar 2018 08:49:12 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64C0121A42; Mon, 5 Mar 2018 08:49:12 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258nCph028327; Mon, 5 Mar 2018 08:49:12 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258nC7e028326; Mon, 5 Mar 2018 08:49:12 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050849.w258nC7e028326@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:49:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330477 - stable/11/usr.bin/fmt X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.bin/fmt X-SVN-Commit-Revision: 330477 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:49:12 -0000 Author: eadler Date: Mon Mar 5 08:49:11 2018 New Revision: 330477 URL: https://svnweb.freebsd.org/changeset/base/330477 Log: MFC r326434: fmt(1): Fix usage of Nm macro Modified: stable/11/usr.bin/fmt/fmt.1 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/fmt/fmt.1 ============================================================================== --- stable/11/usr.bin/fmt/fmt.1 Mon Mar 5 08:47:27 2018 (r330476) +++ stable/11/usr.bin/fmt/fmt.1 Mon Mar 5 08:49:11 2018 (r330477) @@ -30,14 +30,14 @@ .\" .\" Modified by Gareth McCaughan to describe the new version of `fmt' .\" rather than the old one. -.Dd August 2, 2004 +.Dd December 1, 2017 .Dt FMT 1 .Os .Sh NAME .Nm fmt .Nd simple text formatter .Sh SYNOPSIS -.Nm fmt +.Nm .Op Fl cmnps .Op Fl d Ar chars .Op Fl l Ar num From owner-svn-src-stable@freebsd.org Mon Mar 5 08:50:17 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC0A1F3F3E6; Mon, 5 Mar 2018 08:50:16 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 979626D3E5; Mon, 5 Mar 2018 08:50:16 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9114B21A46; Mon, 5 Mar 2018 08:50:16 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258oGYj028438; Mon, 5 Mar 2018 08:50:16 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258oGG3028437; Mon, 5 Mar 2018 08:50:16 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050850.w258oGG3028437@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:50:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330478 - stable/11/targets/pseudo/userland X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/targets/pseudo/userland X-SVN-Commit-Revision: 330478 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:50:17 -0000 Author: eadler Date: Mon Mar 5 08:50:16 2018 New Revision: 330478 URL: https://svnweb.freebsd.org/changeset/base/330478 Log: MFC r325353: chase removal of csup in r267863 from 2014.. Modified: stable/11/targets/pseudo/userland/Makefile.depend Directory Properties: stable/11/ (props changed) Modified: stable/11/targets/pseudo/userland/Makefile.depend ============================================================================== --- stable/11/targets/pseudo/userland/Makefile.depend Mon Mar 5 08:49:11 2018 (r330477) +++ stable/11/targets/pseudo/userland/Makefile.depend Mon Mar 5 08:50:16 2018 (r330478) @@ -204,7 +204,6 @@ DIRDEPS+= \ usr.bin/cpio \ usr.bin/cpuset \ usr.bin/csplit \ - usr.bin/csup \ usr.bin/ctags \ usr.bin/ctlstat \ usr.bin/cut \ From owner-svn-src-stable@freebsd.org Mon Mar 5 08:50:55 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A461CF3F4AB; Mon, 5 Mar 2018 08:50:55 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 511036D635; Mon, 5 Mar 2018 08:50:55 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4C09521A57; Mon, 5 Mar 2018 08:50:55 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258othG028501; Mon, 5 Mar 2018 08:50:55 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258otJD028500; Mon, 5 Mar 2018 08:50:55 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050850.w258otJD028500@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:50:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330479 - stable/11/share/man/man7 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/share/man/man7 X-SVN-Commit-Revision: 330479 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:50:55 -0000 Author: eadler Date: Mon Mar 5 08:50:54 2018 New Revision: 330479 URL: https://svnweb.freebsd.org/changeset/base/330479 Log: MFC r325217: Fix '\' in binary ascii table Modified: stable/11/share/man/man7/ascii.7 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man7/ascii.7 ============================================================================== --- stable/11/share/man/man7/ascii.7 Mon Mar 5 08:50:16 2018 (r330478) +++ stable/11/share/man/man7/ascii.7 Mon Mar 5 08:50:54 2018 (r330479) @@ -28,7 +28,7 @@ .\" @(#)ascii.7 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd March 10, 2017 +.Dd October 30, 2017 .Dt ASCII 7 .Os .Sh NAME @@ -137,7 +137,7 @@ CAN 8 X x 11000 EM 9 Y y 11001 SUB : Z z 11010 ESC ; [ { 11011 - FS < \ | 11100 + FS < \e\ | 11100 GS = ] } 11101 RS > ^ - 11110 US ? _ DEL 11111 From owner-svn-src-stable@freebsd.org Mon Mar 5 08:56:16 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD054F3FB9C; Mon, 5 Mar 2018 08:56:15 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7EDD86DA0C; Mon, 5 Mar 2018 08:56:15 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 74E4521BCD; Mon, 5 Mar 2018 08:56:15 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258uFbL033404; Mon, 5 Mar 2018 08:56:15 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258uFVN033403; Mon, 5 Mar 2018 08:56:15 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050856.w258uFVN033403@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:56:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330480 - stable/11/share/misc X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/share/misc X-SVN-Commit-Revision: 330480 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:56:16 -0000 Author: eadler Date: Mon Mar 5 08:56:15 2018 New Revision: 330480 URL: https://svnweb.freebsd.org/changeset/base/330480 Log: MFC r314705,r315406,r315407,r316025,r316082,r316731: Add macOS 10.12 NetBSD 7.1 release added. Indentation for the DragonFlyBSD trunk fixed, EoL whitespace removed. macOS 10.12 release date added. DragonFly BSD 4.8.0 release added. OpenBSD 6.1 release added. Modified: stable/11/share/misc/bsd-family-tree Directory Properties: stable/11/ (props changed) Modified: stable/11/share/misc/bsd-family-tree ============================================================================== --- stable/11/share/misc/bsd-family-tree Mon Mar 5 08:50:54 2018 (r330479) +++ stable/11/share/misc/bsd-family-tree Mon Mar 5 08:56:15 2018 (r330480) @@ -176,7 +176,7 @@ FreeBSD 4.0 | | | | | NetBSD 1.4.2 | | | | | \ FreeBSD 5.0 | | | | | | | | | -FreeBSD 5.1 | | | DragonFly 1.0 +FreeBSD 5.1 | | | DragonFly 1.0 | \ | | | | | ----- Mac OS X | | | | 10.3 | | | @@ -187,7 +187,7 @@ FreeBSD 5.2 | | | *-------FreeBSD 5.3 | | | | | | | | OpenBSD 3.6 | | | | NetBSD 2.0 | | - | | | | | | | DragonFly 1.2.0 + | | | | | | | DragonFly 1.2.0 | | Mac OS X | | NetBSD 2.0.2 | | | | 10.4 | | | | | | FreeBSD 5.4 | | | | | | @@ -200,50 +200,50 @@ FreeBSD 5.2 | | | | | | | | NetBSD 2.1 | | | | | | | | | | | | | NetBSD 3.0 | | - | | | | | | | | DragonFly 1.4.0 + | | | | | | | | DragonFly 1.4.0 | | | | | | | OpenBSD 3.9 | | FreeBSD | | | | | | | | 6.1 | | | | | | | | | FreeBSD 5.5 | | | | | | - | | | | | NetBSD 3.0.1 | DragonFly 1.6.0 + | | | | | NetBSD 3.0.1 | DragonFly 1.6.0 | | | | | | | | | | | | | | OpenBSD 4.0 | | | | | | NetBSD 3.0.2 | | | | | | NetBSD 3.1 | | | FreeBSD 6.2 | | | | - | | | | | DragonFly 1.8.0 + | | | | | DragonFly 1.8.0 | | | | OpenBSD 4.1 | - | | | | | DragonFly 1.10.0 + | | | | | DragonFly 1.10.0 | | Mac OS X | | | | | 10.5 | | | | | | | OpenBSD 4.2 | | | | NetBSD 4.0 | | | FreeBSD 6.3 | | | | | | \ | | | | | - *--FreeBSD | | | | | DragonFly 1.12.0 + *--FreeBSD | | | | | DragonFly 1.12.0 | 7.0 | | | | | | | | | | | | OpenBSD 4.3 | - | | | | | NetBSD | DragonFly 2.0.0 + | | | | | NetBSD | DragonFly 2.0.0 | | FreeBSD | | 4.0.1 OpenBSD 4.4 | | | 6.4 | | | | | | | | | | | FreeBSD 7.1 | | | | - | | | | | DragonFly 2.2.0 + | | | | | DragonFly 2.2.0 | FreeBSD 7.2 | NetBSD 5.0 OpenBSD 4.5 | | \ | | | \ | | | | Mac OS X | | \ | | | | 10.6 | | \ | | - | | | | | NetBSD | DragonFly 2.4.0 + | | | | | NetBSD | DragonFly 2.4.0 | | | | | 5.0.1 OpenBSD 4.6 | | | | | | | | | *--FreeBSD | | | | | | | | 8.0 | | | | | | | | | FreeBSD | | | NetBSD | | - | | 7.3 | | | 5.0.2 | DragonFly 2.6.0 + | | 7.3 | | | 5.0.2 | DragonFly 2.6.0 | | | | | | OpenBSD 4.7 | | FreeBSD | | | | | | | 8.1 | | | | | | - | | | | | | | DragonFly 2.8.2 + | | | | | | | DragonFly 2.8.2 | | | | | | OpenBSD 4.8 | | | | | | *--NetBSD | | | FreeBSD FreeBSD | | | 5.1 | | @@ -281,7 +281,7 @@ FreeBSD 5.2 | | | | | | | | | | OpenBSD 5.3 DragonFly 3.4.1 | | | | | | NetBSD | | | | | | | | 6.0.2 | | - | | | | | | | | | + | | | | | | | | | | | | | | | NetBSD | | | | | | | | 6.0.3 | | | | | | | | | | | @@ -346,12 +346,16 @@ FreeBSD 5.2 | | | | 10.3 | | | | | | NetBSD 7.0.1 | | | | | | DragonFly 4.6.0 - *--FreeBSD | | OpenBSD 6.0 | - | 11.0 | | | | | | | | | | | | | | -FreeBSD 12 -current | NetBSD -current OpenBSD -current DragonFly -current + *--FreeBSD macOS | OpenBSD 6.0 | + | 11.0 10.12 | | | + | | NetBSD 7.1 | | + | | | | DragonFly 4.8.0 + | | | OpenBSD 6.1 | | | | | | +FreeBSD 12 -current | NetBSD -current OpenBSD -current DragonFly -current + | | | | | v v v v v Time @@ -703,7 +707,11 @@ FreeBSD 10.3 2016-04-04 [FBD] NetBSD 7.0.1 2016-05-22 [NBD] DragonFly 4.6.0 2016-08-02 [DFB] OpenBSD 6.0 2016-09-01 [OBD] +macOS 10.12 2016-09-20 [APL] FreeBSD 11.0 2016-10-10 [FBD] +NetBSD 7.1 2017-03-11 [NBD] +DragonFly 4.8.0 2017-03-27 [DFB] +OpenBSD 6.1 2017-04-11 [OBD] Bibliography ------------------------ From owner-svn-src-stable@freebsd.org Mon Mar 5 08:57:41 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 01E49F3FD08; Mon, 5 Mar 2018 08:57:41 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A691F6DBB0; Mon, 5 Mar 2018 08:57:40 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A180A21BCE; Mon, 5 Mar 2018 08:57:40 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w258veUh033495; Mon, 5 Mar 2018 08:57:40 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w258vexZ033494; Mon, 5 Mar 2018 08:57:40 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050857.w258vexZ033494@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 08:57:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330481 - stable/11/share/misc X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/share/misc X-SVN-Commit-Revision: 330481 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 08:57:41 -0000 Author: eadler Date: Mon Mar 5 08:57:40 2018 New Revision: 330481 URL: https://svnweb.freebsd.org/changeset/base/330481 Log: MFC r322668,r324239,r324240,r324422,r324476,r324688: FreeBSD 11.1 release added. ------------------------------------------------------------------------ r324239 | maxim | 2017-10-03 13:31:22 +0000 (Tue, 03 Oct 2017) | 2 lines FreeBSD 10.4 release added. ------------------------------------------------------------------------ r324240 | maxim | 2017-10-03 14:23:49 +0000 (Tue, 03 Oct 2017) | 5 lines o FreeBSD 10.4 happened after 11.1, adjust the branches accordingly. o The current FreeBSD branch is 12 not 13. Suggested by: lidl ------------------------------------------------------------------------ r324422 | eadler | 2017-10-09 04:43:05 +0000 (Mon, 09 Oct 2017) | 2 lines Add macOS 10.13 ------------------------------------------------------------------------ r324476 | eadler | 2017-10-10 05:47:10 +0000 (Tue, 10 Oct 2017) | 2 lines Add OpenBSD 6.2, reorder macOS 10.13 ------------------------------------------------------------------------ r324688 | maxim | 2017-10-17 14:37:12 +0000 (Tue, 17 Oct 2017) | 2 lines DragonFly 5.0.0 release added. Modified: stable/11/share/misc/bsd-family-tree Directory Properties: stable/11/ (props changed) Modified: stable/11/share/misc/bsd-family-tree ============================================================================== --- stable/11/share/misc/bsd-family-tree Mon Mar 5 08:56:15 2018 (r330480) +++ stable/11/share/misc/bsd-family-tree Mon Mar 5 08:57:40 2018 (r330481) @@ -339,21 +339,25 @@ FreeBSD 5.2 | | | | | | | | DragonFly 4.2.0 | FreeBSD | | | | | 10.2 | | | | - | | OS X NetBSD 7.0 | | + | | macOS NetBSD 7.0 | | | | 10.11 | OpenBSD 5.8 | | | | | | DragonFly 4.4.1 | FreeBSD | | OpenBSD 5.9 | | 10.3 | | | | - | | NetBSD 7.0.1 | | - | | | | DragonFly 4.6.0 + | | | NetBSD 7.0.1 | | + | `------. | | | DragonFly 4.6.0 + | | | | | | + | | | | | | + *--FreeBSD | macOS | OpenBSD 6.0 | + | 11.0 | 10.12 | | | + | | | | NetBSD 7.1 | | + | | | macOS | | DragonFly 4.8.0 + | | | 10.13 | OpenBSD 6.1 | + | FreeBSD | | | | | + | 11.1 FreeBSD | | | | + | | 10.4 | | OpenBSD 6.2 | + | v | | | DragonFly 5.0.0 | | | | | - | | | | | - *--FreeBSD macOS | OpenBSD 6.0 | - | 11.0 10.12 | | | - | | NetBSD 7.1 | | - | | | | DragonFly 4.8.0 - | | | OpenBSD 6.1 | - | | | | | FreeBSD 12 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | v v v v v @@ -712,6 +716,11 @@ FreeBSD 11.0 2016-10-10 [FBD] NetBSD 7.1 2017-03-11 [NBD] DragonFly 4.8.0 2017-03-27 [DFB] OpenBSD 6.1 2017-04-11 [OBD] +FreeBSD 11.1 2017-07-26 [FBD] +macOS 10.13 2017-09-25 [APL] +FreeBSD 10.4 2017-10-03 [FBD] +OpenBSD 6.2 2017-10-09 [OBD] +DragonFly 5.0.0 2017-10-16 [DFB] Bibliography ------------------------ From owner-svn-src-stable@freebsd.org Mon Mar 5 09:01:52 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 758CAF403A4; Mon, 5 Mar 2018 09:01:52 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 27B746DFA7; Mon, 5 Mar 2018 09:01:52 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 229B921D4B; Mon, 5 Mar 2018 09:01:52 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2591p3Z037276; Mon, 5 Mar 2018 09:01:51 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2591p7v037275; Mon, 5 Mar 2018 09:01:51 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050901.w2591p7v037275@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 09:01:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330482 - stable/11/share/misc X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/share/misc X-SVN-Commit-Revision: 330482 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 09:01:52 -0000 Author: eadler Date: Mon Mar 5 09:01:51 2018 New Revision: 330482 URL: https://svnweb.freebsd.org/changeset/base/330482 Log: MFC r326724,r326868,r326869,r327096,r327333,r327334,r327342,r327361,r327510: Add two dates derived from looking at archival source tarballs in the TUHS collection for 7th Edition and V32. ------------------------------------------------------------------------ r326868 | eadler | 2017-12-15 03:36:48 +0000 (Fri, 15 Dec 2017) | 4 lines bsd-family-tree: Add NetBSD 7.0.2 Pulled directly from NetBSD ------------------------------------------------------------------------ r326869 | eadler | 2017-12-15 03:46:52 +0000 (Fri, 15 Dec 2017) | 2 lines bsd-family-tree: add dfly 5.0.[12] ------------------------------------------------------------------------ r327096 | sevan | 2017-12-22 21:54:39 +0000 (Fri, 22 Dec 2017) | 5 lines Drop the NetBSD rcs tag introduced in r326868. Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D13511 ------------------------------------------------------------------------ r327333 | eadler | 2017-12-29 04:49:59 +0000 (Fri, 29 Dec 2017) | 7 lines bsd-family-tree: add HardenedBSD This adds HardenedBSD which is a pseudo-fork of FreeBSD. It hasn't had a release yet, but does does have active users and a community. As such document it as a branch off of FreeBSD-stable. Ideally this adds enough space so that future releases are easy enough to add. ------------------------------------------------------------------------ r327334 | eadler | 2017-12-29 05:01:07 +0000 (Fri, 29 Dec 2017) | 5 lines bsd-family-tree: add NetBSD 6.0.6 This was a missing release. Released on the same day as 6.1.5 per https://blog.netbsd.org/tnf/entry/netbsd_6_1_5_and ------------------------------------------------------------------------ r327342 | eadler | 2017-12-29 14:31:43 +0000 (Fri, 29 Dec 2017) | 5 lines bsd-family-tree: add NetBSD 7.1.1; correct NetBSD abbrev Reported by: Herbert J. Skuhra Reported by: N.J. Mann ------------------------------------------------------------------------ r327361 | maxim | 2017-12-29 21:37:36 +0000 (Fri, 29 Dec 2017) | 2 lines Sort by time. ------------------------------------------------------------------------ r327510 | eadler | 2018-01-03 03:46:28 +0000 (Wed, 03 Jan 2018) | 7 lines bsd-family-tree: revert r327333 bsd-family-tree should only contain projects that have had actual releases. Requested by: core Modified: stable/11/share/misc/bsd-family-tree Directory Properties: stable/11/ (props changed) Modified: stable/11/share/misc/bsd-family-tree ============================================================================== --- stable/11/share/misc/bsd-family-tree Mon Mar 5 08:57:40 2018 (r330481) +++ stable/11/share/misc/bsd-family-tree Mon Mar 5 09:01:51 2018 (r330482) @@ -290,6 +290,9 @@ FreeBSD 5.2 | | | | | | | | | | | | | | | | | | NetBSD | | | | | | | | 6.0.5 | | + | | | | | | | | | + | | | | | | NetBSD | | + | | | | | | 6.0.6 | | | | | | | | | | | | | | | |`-NetBSD 6.1 | | | | FreeBSD | | | | | @@ -339,28 +342,35 @@ FreeBSD 5.2 | | | | | | | | DragonFly 4.2.0 | FreeBSD | | | | | 10.2 | | | | - | | macOS NetBSD 7.0 | | - | | 10.11 | OpenBSD 5.8 | - | | | | | DragonFly 4.4.1 - | FreeBSD | | OpenBSD 5.9 | - | 10.3 | | | | - | | | NetBSD 7.0.1 | | - | `------. | | | DragonFly 4.6.0 - | | | | | | - | | | | | | - *--FreeBSD | macOS | OpenBSD 6.0 | - | 11.0 | 10.12 | | | - | | | | NetBSD 7.1 | | - | | | macOS | | DragonFly 4.8.0 - | | | 10.13 | OpenBSD 6.1 | - | FreeBSD | | | | | - | 11.1 FreeBSD | | | | - | | 10.4 | | OpenBSD 6.2 | - | v | | | DragonFly 5.0.0 - | | | | | -FreeBSD 12 -current | NetBSD -current OpenBSD -current DragonFly -current - | | | | | - v v v v v + | | macOS NetBSD 7.0 | | + | | 10.11 | | | OpenBSD 5.8 | + | | | | | `--. | DragonFly 4.4.1 + | FreeBSD | | | | OpenBSD 5.9 | + | 10.3 | | | | | | + | | | | | NetBSD 7.0.1 | | + | `------. | | | | | DragonFly 4.6.0 + | | | | | | | | + | | | | | | | | + *--FreeBSD | macOS | | | OpenBSD 6.0 | + | 11.0 | 10.12 | | NetBSD 7.0.2 | | + | | | | | | | | + | | | | | *- NetBSD 7.1 | | + | | | | | | | | + | | | | | | | | + | | | macOS | | | DragonFly 4.8.0 + | | | 10.13 | | OpenBSD 6.1 | + | FreeBSD | | | | | DragonFly 5.0.0 + | 11.1 FreeBSD | | | | | + | | 10.4 | | | OpenBSD 6.2 DragonFly 5.0.1 + | | | | | | | + | | | | NetBSD 7.1.1 | DragonFly 5.0.2 + | | | | | | | + | | | | v | | + | v | | | | + | | | | | +FreeBSD 12 -current | NetBSD -current OpenBSD -current DragonFly -current + | | | | | + v v v v v Time ---------------- @@ -408,7 +418,7 @@ Fifth Edition 1974-06-xx [QCU] above 50 installations Sixth Edition 1975-05-xx [QCU] port to DEC Vax -Seventh Edition 1979-01-xx [QCU] +Seventh Edition 1979-01-xx [QCU] 1979-01-10 [TUHS] first portable UNIX Eighth Edition 1985-02-xx [QCU] VAX 11/750, VAX 11/780 [dmr] @@ -440,7 +450,7 @@ Tenth Edition 1989-10-xx [QCU] 2.11BSD 1992-02-xx [SMS] 2.11BSD rev #430 1999-12-13 [SMS] -32V 1978-1[01]-xx [QCU] +32V 1978-1[01]-xx [QCU] 1979-03-26 [TUHS] 3BSD late 1979 [QCU] March 1980 [TUHS] virtual memory, page replacement, demand paging @@ -682,14 +692,15 @@ NetBSD 6.0.4 2014-01-25 [NBD] NetBSD 6.1.3 2014-01-25 [NBD] DragonFly 3.6.1 2014-02-22 [DFB] DragonFly 3.6.2 2014-04-10 [DFB] -NetBSD 6.0.5 2014-04-12 [NDB] -NetBSD 6.1.4 2014-04-12 [NDB] +NetBSD 6.0.5 2014-04-12 [NBD] +NetBSD 6.1.4 2014-04-12 [NBD] OpenBSD 5.5 2014-05-01 [OBD] DragonFly 3.8.0 2014-06-04 [DFB] DragonFly 3.8.1 2014-06-16 [DFB] DragonFly 3.6.3 2014-06-17 [DFB] FreeBSD 9.3 2014-07-05 [FBD] DragonFly 3.8.2 2014-08-08 [DFB] +NetBSD 6.0.6 2014-09-22 [NBD] NetBSD 6.1.5 2014-09-22 [NBD] Mac OS X 10.10 2014-10-16 [APL] OpenBSD 5.6 2014-11-01 [OBD] @@ -713,6 +724,7 @@ DragonFly 4.6.0 2016-08-02 [DFB] OpenBSD 6.0 2016-09-01 [OBD] macOS 10.12 2016-09-20 [APL] FreeBSD 11.0 2016-10-10 [FBD] +NetBSD 7.0.2 2016-10-21 [NBD] NetBSD 7.1 2017-03-11 [NBD] DragonFly 4.8.0 2017-03-27 [DFB] OpenBSD 6.1 2017-04-11 [OBD] @@ -721,6 +733,9 @@ macOS 10.13 2017-09-25 [APL] FreeBSD 10.4 2017-10-03 [FBD] OpenBSD 6.2 2017-10-09 [OBD] DragonFly 5.0.0 2017-10-16 [DFB] +DragonFly 5.0.1 2017-11-06 [DFB] +DragonFly 5.0.2 2017-12-04 [DFB] +NetBSD 7.1.1 2017-12-22 [NBD] Bibliography ------------------------ From owner-svn-src-stable@freebsd.org Mon Mar 5 09:05:37 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD89EF407EC; Mon, 5 Mar 2018 09:05:37 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 808B46E3B9; Mon, 5 Mar 2018 09:05:37 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7B0F121D70; Mon, 5 Mar 2018 09:05:37 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2595bca038445; Mon, 5 Mar 2018 09:05:37 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2595bMC038444; Mon, 5 Mar 2018 09:05:37 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050905.w2595bMC038444@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 09:05:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330483 - in stable/11/tools/diag: . httpd-error X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/tools/diag: . httpd-error X-SVN-Commit-Revision: 330483 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 09:05:38 -0000 Author: eadler Date: Mon Mar 5 09:05:37 2018 New Revision: 330483 URL: https://svnweb.freebsd.org/changeset/base/330483 Log: MFC r326473: diag/httpd-error: remove This is a script for a web server in a specific configuration. Current web servers don't produce similar log files and it isn't FreeBSD's goal to produce a log file analyzer. Deleted: stable/11/tools/diag/httpd-error/ Modified: stable/11/tools/diag/README Directory Properties: stable/11/ (props changed) Modified: stable/11/tools/diag/README ============================================================================== --- stable/11/tools/diag/README Mon Mar 5 09:01:51 2018 (r330482) +++ stable/11/tools/diag/README Mon Mar 5 09:05:37 2018 (r330483) @@ -10,6 +10,5 @@ Please make a subdir per program, and add a brief desc dumpvfscache program that can be used to examine the contents of the vfs name cache. -httpd-error check for Web files which does not exists on your host localeck check for invalid/incomplete locales From owner-svn-src-stable@freebsd.org Mon Mar 5 09:06:15 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7788FF408B0; Mon, 5 Mar 2018 09:06:15 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1DA166E4DA; Mon, 5 Mar 2018 09:06:15 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1893021D71; Mon, 5 Mar 2018 09:06:15 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2596Eem038514; Mon, 5 Mar 2018 09:06:14 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2596E3h038513; Mon, 5 Mar 2018 09:06:14 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050906.w2596E3h038513@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 09:06:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330484 - stable/11/usr.bin/calendar X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.bin/calendar X-SVN-Commit-Revision: 330484 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 09:06:15 -0000 Author: eadler Date: Mon Mar 5 09:06:14 2018 New Revision: 330484 URL: https://svnweb.freebsd.org/changeset/base/330484 Log: MFC r327117: calendar: add missing header file time.h is required for strftime and struct tm Modified: stable/11/usr.bin/calendar/io.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/calendar/io.c ============================================================================== --- stable/11/usr.bin/calendar/io.c Mon Mar 5 09:05:37 2018 (r330483) +++ stable/11/usr.bin/calendar/io.c Mon Mar 5 09:06:14 2018 (r330484) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include "pathnames.h" From owner-svn-src-stable@freebsd.org Mon Mar 5 09:17:19 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 35209F4165D; Mon, 5 Mar 2018 09:17:19 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9D4D96ED2B; Mon, 5 Mar 2018 09:17:18 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 93E9021EFE; Mon, 5 Mar 2018 09:17:18 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w259HIa7043987; Mon, 5 Mar 2018 09:17:18 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w259HIgN043986; Mon, 5 Mar 2018 09:17:18 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050917.w259HIgN043986@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 09:17:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330485 - stable/11/lib/libc/include X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/lib/libc/include X-SVN-Commit-Revision: 330485 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 09:17:19 -0000 Author: eadler Date: Mon Mar 5 09:17:18 2018 New Revision: 330485 URL: https://svnweb.freebsd.org/changeset/base/330485 Log: MFC r326479: Add include guard to fpmath.h Modified: stable/11/lib/libc/include/fpmath.h Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/include/fpmath.h ============================================================================== --- stable/11/lib/libc/include/fpmath.h Mon Mar 5 09:06:14 2018 (r330484) +++ stable/11/lib/libc/include/fpmath.h Mon Mar 5 09:17:18 2018 (r330485) @@ -27,6 +27,9 @@ * $FreeBSD$ */ +#ifndef _FPMATH_H_ +#define _FPMATH_H_ + #include #include "_fpmath.h" @@ -73,3 +76,5 @@ union IEEEd2bits { #endif } bits; }; + +#endif /* !_FPMATH_H */ From owner-svn-src-stable@freebsd.org Mon Mar 5 09:17:56 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 70F6DF4176A; Mon, 5 Mar 2018 09:17:56 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 206706EE85; Mon, 5 Mar 2018 09:17:56 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1B53B21EFF; Mon, 5 Mar 2018 09:17:56 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w259HtXN044050; Mon, 5 Mar 2018 09:17:55 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w259Htp9044049; Mon, 5 Mar 2018 09:17:55 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050917.w259Htp9044049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 09:17:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330486 - stable/11/share/man/man3 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/share/man/man3 X-SVN-Commit-Revision: 330486 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 09:17:56 -0000 Author: eadler Date: Mon Mar 5 09:17:55 2018 New Revision: 330486 URL: https://svnweb.freebsd.org/changeset/base/330486 Log: MFC r326386: Fix pthread_condattr(3) type Modified: stable/11/share/man/man3/pthread_condattr.3 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man3/pthread_condattr.3 ============================================================================== --- stable/11/share/man/man3/pthread_condattr.3 Mon Mar 5 09:17:18 2018 (r330485) +++ stable/11/share/man/man3/pthread_condattr.3 Mon Mar 5 09:17:55 2018 (r330486) @@ -46,9 +46,9 @@ .Ft int .Fn pthread_condattr_destroy "pthread_condattr_t *attr" .Ft int -.Fn pthread_condattr_getclock "pthread_condattr_t * restrict attr" "clock_t * restrict clock_id" +.Fn pthread_condattr_getclock "pthread_condattr_t * restrict attr" "clockid_t * restrict clock_id" .Ft int -.Fn pthread_condattr_setclock "pthread_condattr_t *attr" "clock_t clock_id" +.Fn pthread_condattr_setclock "pthread_condattr_t *attr" "clockid_t clock_id" .Ft int .Fn pthread_condattr_getpshared "pthread_condattr_t * restrict attr" "int * restrict pshared" .Ft int From owner-svn-src-stable@freebsd.org Mon Mar 5 09:18:41 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 92B02F4189B; Mon, 5 Mar 2018 09:18:41 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3F8AD6EFCA; Mon, 5 Mar 2018 09:18:41 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3A8CB21F00; Mon, 5 Mar 2018 09:18:41 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w259IfjS044120; Mon, 5 Mar 2018 09:18:41 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w259IfaZ044119; Mon, 5 Mar 2018 09:18:41 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803050918.w259IfaZ044119@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 09:18:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330487 - stable/11/share/misc X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/share/misc X-SVN-Commit-Revision: 330487 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 09:18:41 -0000 Author: eadler Date: Mon Mar 5 09:18:40 2018 New Revision: 330487 URL: https://svnweb.freebsd.org/changeset/base/330487 Log: MFC r324424: Remove CVS - we don't run that infrastructure anymore Modified: stable/11/share/misc/organization.dot Directory Properties: stable/11/ (props changed) Modified: stable/11/share/misc/organization.dot ============================================================================== --- stable/11/share/misc/organization.dot Mon Mar 5 09:17:55 2018 (r330486) +++ stable/11/share/misc/organization.dot Mon Mar 5 09:18:40 2018 (r330487) @@ -45,10 +45,8 @@ accounts [label="Accounts Team\naccounts@FreeBSD.org\n backups [label="Backup Administrators\nbackups@FreeBSD.org\nsimon, kensmith,\ndhw"] bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo"] clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbrd, simon, ps,\nkensmith, peter"] -cvsupmaster [label="CVSup Mirror Site Coordinators\ncvsup-master@FreeBSD.org\nkuriyama, jdp,\nkensmith"] dnsadm [label="DNS Administrators\ndnsadm@FreeBSD.org\nbillf, dg, ps,\nkensmith, peter"] mirroradmin [label="FTP/WWW Mirror Site Coordinators\nmirror-admin@FreeBSD.org\nkuriyama, kensmith"] -ncvs [label="CVS src Repository Managers\nncvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon, peter"] perforceadmin [label="Perforce Repository Administrators\nperforce-admin@FreeBSD.org\nscottl, kensmith, gordon,\nrwatson, peter, dhw"] postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, sahil, dhw"] refadm [label="Reference Systems Administrators\nrefadm@FreeBSD.org\njake, billf, markm, simon,\nobrien, ps, kensmith,\npeter, dhw"] @@ -68,8 +66,6 @@ _admin -> accounts _admin -> backups _admin -> bugmeister _admin -> clusteradm -_admin -> ncvs -_admin -> cvsupmaster _admin -> dnsadm _admin -> mirroradmin _admin -> perforceadmin From owner-svn-src-stable@freebsd.org Mon Mar 5 12:04:44 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 090F4F27703; Mon, 5 Mar 2018 12:04:44 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id AB39975C75; Mon, 5 Mar 2018 12:04:43 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9D7D5239BC; Mon, 5 Mar 2018 12:04:43 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w25C4heX029617; Mon, 5 Mar 2018 12:04:43 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25C4hgv029616; Mon, 5 Mar 2018 12:04:43 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <201803051204.w25C4hgv029616@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Mon, 5 Mar 2018 12:04:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330497 - stable/11/sbin/route X-SVN-Group: stable-11 X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: stable/11/sbin/route X-SVN-Commit-Revision: 330497 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 12:04:44 -0000 Author: eugen Date: Mon Mar 5 12:04:43 2018 New Revision: 330497 URL: https://svnweb.freebsd.org/changeset/base/330497 Log: MFC r329930: route(8): make it possible to manually delete pinned route Reported by: Andreas Longwitz Approved by: avg (mentor) Modified: stable/11/sbin/route/route.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/route/route.c ============================================================================== --- stable/11/sbin/route/route.c Mon Mar 5 12:04:34 2018 (r330496) +++ stable/11/sbin/route/route.c Mon Mar 5 12:04:43 2018 (r330497) @@ -1520,8 +1520,10 @@ rtmsg(int cmd, int flags, int fib) so[RTAX_IFP].ss_len = sizeof(struct sockaddr_dl); rtm_addrs |= RTA_IFP; } - } else + } else { cmd = RTM_DELETE; + flags |= RTF_PINNED; + } #define rtm m_rtmsg.m_rtm rtm.rtm_type = cmd; rtm.rtm_flags = flags; From owner-svn-src-stable@freebsd.org Mon Mar 5 12:06:42 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 69DB1F27AF2; Mon, 5 Mar 2018 12:06:42 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 13F9A75EF5; Mon, 5 Mar 2018 12:06:42 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0AB66239BD; Mon, 5 Mar 2018 12:06:42 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w25C6fYq029744; Mon, 5 Mar 2018 12:06:41 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25C6fW4029743; Mon, 5 Mar 2018 12:06:41 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <201803051206.w25C6fW4029743@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Mon, 5 Mar 2018 12:06:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330498 - stable/10/sbin/route X-SVN-Group: stable-10 X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: stable/10/sbin/route X-SVN-Commit-Revision: 330498 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 12:06:42 -0000 Author: eugen Date: Mon Mar 5 12:06:41 2018 New Revision: 330498 URL: https://svnweb.freebsd.org/changeset/base/330498 Log: MFC r329930: route(8): make it possible to manually delete pinned route Reported by: Andreas Longwitz Approved by: avg (mentor) Modified: stable/10/sbin/route/route.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/route/route.c ============================================================================== --- stable/10/sbin/route/route.c Mon Mar 5 12:04:43 2018 (r330497) +++ stable/10/sbin/route/route.c Mon Mar 5 12:06:41 2018 (r330498) @@ -1535,8 +1535,10 @@ rtmsg(int cmd, int flags, int fib) so[RTAX_IFP].ss_len = sizeof(struct sockaddr_dl); rtm_addrs |= RTA_IFP; } - } else + } else { cmd = RTM_DELETE; + flags |= RTF_PINNED; + } #define rtm m_rtmsg.m_rtm rtm.rtm_type = cmd; rtm.rtm_flags = flags; From owner-svn-src-stable@freebsd.org Mon Mar 5 12:16:38 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4681DF29883; Mon, 5 Mar 2018 12:16:38 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E3251766B6; Mon, 5 Mar 2018 12:16:37 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D9CFD23B5D; Mon, 5 Mar 2018 12:16:37 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w25CGbP0034896; Mon, 5 Mar 2018 12:16:37 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25CGbu2034895; Mon, 5 Mar 2018 12:16:37 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <201803051216.w25CGbu2034895@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Mon, 5 Mar 2018 12:16:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330499 - stable/11/sys/security/mac_portacl X-SVN-Group: stable-11 X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: stable/11/sys/security/mac_portacl X-SVN-Commit-Revision: 330499 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 12:16:38 -0000 Author: eugen Date: Mon Mar 5 12:16:37 2018 New Revision: 330499 URL: https://svnweb.freebsd.org/changeset/base/330499 Log: MFC r329994: mac_portacl(4): stop panicing INVARIANTS-enabled kernel by loading .ko when kernel already has options MAC_PORTACL. PR: 183817 Approved by: avg (mentor) Modified: stable/11/sys/security/mac_portacl/mac_portacl.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/security/mac_portacl/mac_portacl.c ============================================================================== --- stable/11/sys/security/mac_portacl/mac_portacl.c Mon Mar 5 12:06:41 2018 (r330498) +++ stable/11/sys/security/mac_portacl/mac_portacl.c Mon Mar 5 12:16:37 2018 (r330499) @@ -487,3 +487,4 @@ static struct mac_policy_ops portacl_ops = MAC_POLICY_SET(&portacl_ops, mac_portacl, "TrustedBSD MAC/portacl", MPC_LOADTIME_FLAG_UNLOADOK, NULL); +MODULE_VERSION(mac_portacl, 1); From owner-svn-src-stable@freebsd.org Mon Mar 5 12:21:37 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3889FF2A076; Mon, 5 Mar 2018 12:21:37 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D8B7A76C66; Mon, 5 Mar 2018 12:21:36 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D3BC423CA6; Mon, 5 Mar 2018 12:21:36 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w25CLaKv035763; Mon, 5 Mar 2018 12:21:36 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25CLafg035744; Mon, 5 Mar 2018 12:21:36 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <201803051221.w25CLafg035744@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Mon, 5 Mar 2018 12:21:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330500 - stable/10/sys/security/mac_portacl X-SVN-Group: stable-10 X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: stable/10/sys/security/mac_portacl X-SVN-Commit-Revision: 330500 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 12:21:37 -0000 Author: eugen Date: Mon Mar 5 12:21:36 2018 New Revision: 330500 URL: https://svnweb.freebsd.org/changeset/base/330500 Log: MFC r329994: mac_portacl(4): stop panicing INVARIANTS-enabled kernel by loading .ko when kernel already has options MAC_PORTACL. PR: 183817 Approved by: avg (mentor) Modified: stable/10/sys/security/mac_portacl/mac_portacl.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/security/mac_portacl/mac_portacl.c ============================================================================== --- stable/10/sys/security/mac_portacl/mac_portacl.c Mon Mar 5 12:16:37 2018 (r330499) +++ stable/10/sys/security/mac_portacl/mac_portacl.c Mon Mar 5 12:21:36 2018 (r330500) @@ -493,3 +493,4 @@ static struct mac_policy_ops portacl_ops = MAC_POLICY_SET(&portacl_ops, mac_portacl, "TrustedBSD MAC/portacl", MPC_LOADTIME_FLAG_UNLOADOK, NULL); +MODULE_VERSION(mac_portacl, 1); From owner-svn-src-stable@freebsd.org Mon Mar 5 13:58:05 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B447AF31617; Mon, 5 Mar 2018 13:58:04 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5F9F07AD5B; Mon, 5 Mar 2018 13:58:04 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 41CDD24AF5; Mon, 5 Mar 2018 13:58:04 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w25Dw4O5084650; Mon, 5 Mar 2018 13:58:04 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25Dw4U9084649; Mon, 5 Mar 2018 13:58:04 GMT (envelope-from dab@FreeBSD.org) Message-Id: <201803051358.w25Dw4U9084649@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Mon, 5 Mar 2018 13:58:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330505 - stable/11/sys/libkern X-SVN-Group: stable-11 X-SVN-Commit-Author: dab X-SVN-Commit-Paths: stable/11/sys/libkern X-SVN-Commit-Revision: 330505 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 13:58:05 -0000 Author: dab Date: Mon Mar 5 13:58:03 2018 New Revision: 330505 URL: https://svnweb.freebsd.org/changeset/base/330505 Log: MFC r330027 iconv uses strlen directly on user supplied memory `iconv_sysctl_add` from `sys/libkern/iconv.c` incorrectly limits the size of user strings, such that several out of bounds reads could have been possible. static int iconv_sysctl_add(SYSCTL_HANDLER_ARGS) { struct iconv_converter_class *dcp; struct iconv_cspair *csp; struct iconv_add_in din; struct iconv_add_out dout; int error; error = SYSCTL_IN(req, &din, sizeof(din)); if (error) return error; if (din.ia_version != ICONV_ADD_VER) return EINVAL; if (din.ia_datalen > ICONV_CSMAXDATALEN) return EINVAL; if (strlen(din.ia_from) >= ICONV_CSNMAXLEN) return EINVAL; if (strlen(din.ia_to) >= ICONV_CSNMAXLEN) return EINVAL; if (strlen(din.ia_converter) >= ICONV_CNVNMAXLEN) return EINVAL; ... Since the `din` struct is directly copied from userland, there is no guarantee that the strings supplied will be NULL terminated. The `strlen` calls could continue reading past the designated buffer sizes. Declaration of `struct iconv_add_in` is found in `sys/sys/iconv.h`: struct iconv_add_in { int ia_version; char ia_converter[ICONV_CNVNMAXLEN]; char ia_to[ICONV_CSNMAXLEN]; char ia_from[ICONV_CSNMAXLEN]; int ia_datalen; const void *ia_data; }; Our strings are followed by the `ia_datalen` member, which is checked before the `strlen` calls: if (din.ia_datalen > ICONV_CSMAXDATALEN) Since `ICONV_CSMAXDATALEN` has value `0x41000` (and is `unsigned`), this ensures that `din.ia_datalen` contains at least 1 byte of 0, so it is not possible to trigger a read out of bounds of the `struct` however, this code is fragile and could introduce subtle bugs in the future if the `struct` is ever modified. PR: 207302 Submitted by: CTurt Reported by: CTurt Sponsored by: Dell EMC Modified: stable/11/sys/libkern/iconv.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/libkern/iconv.c ============================================================================== --- stable/11/sys/libkern/iconv.c Mon Mar 5 13:57:37 2018 (r330504) +++ stable/11/sys/libkern/iconv.c Mon Mar 5 13:58:03 2018 (r330505) @@ -411,11 +411,11 @@ iconv_sysctl_add(SYSCTL_HANDLER_ARGS) return EINVAL; if (din.ia_datalen > ICONV_CSMAXDATALEN) return EINVAL; - if (strlen(din.ia_from) >= ICONV_CSNMAXLEN) + if (strnlen(din.ia_from, sizeof(din.ia_from)) >= ICONV_CSNMAXLEN) return EINVAL; - if (strlen(din.ia_to) >= ICONV_CSNMAXLEN) + if (strnlen(din.ia_to, sizeof(din.ia_to)) >= ICONV_CSNMAXLEN) return EINVAL; - if (strlen(din.ia_converter) >= ICONV_CNVNMAXLEN) + if (strnlen(din.ia_converter, sizeof(din.ia_converter)) >= ICONV_CNVNMAXLEN) return EINVAL; if (iconv_lookupconv(din.ia_converter, &dcp) != 0) return EINVAL; From owner-svn-src-stable@freebsd.org Mon Mar 5 15:25:07 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3572EF37C72; Mon, 5 Mar 2018 15:25:07 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from mail.ignoranthack.me (ignoranthack.me [199.102.79.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 80FD57E83C; Mon, 5 Mar 2018 15:25:06 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from [192.168.0.6] (75-173-115-219.albq.qwest.net [75.173.115.219]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sbruno@ignoranthack.me) by mail.ignoranthack.me (Postfix) with ESMTPSA id BEF3D192830; Mon, 5 Mar 2018 07:02:16 +0000 (UTC) Subject: Re: svn commit: r330445 - in stable/11/sys/netinet: . cc tcp_stacks To: Eitan Adler , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org References: <201803050652.w256qQvu071205@repo.freebsd.org> From: Sean Bruno Message-ID: <21d58c93-0a5a-8dae-376c-516526fba747@freebsd.org> Date: Mon, 5 Mar 2018 08:25:02 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <201803050652.w256qQvu071205@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="r98E0ltgiJOW2l3KafORGNVJ4g3aNIF3o" X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 15:25:07 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --r98E0ltgiJOW2l3KafORGNVJ4g3aNIF3o Content-Type: multipart/mixed; boundary="7NO6evRwyiLYUVIzT5C9PKohcSKUInSoH"; protected-headers="v1" From: Sean Bruno To: Eitan Adler , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Message-ID: <21d58c93-0a5a-8dae-376c-516526fba747@freebsd.org> Subject: Re: svn commit: r330445 - in stable/11/sys/netinet: . cc tcp_stacks References: <201803050652.w256qQvu071205@repo.freebsd.org> In-Reply-To: <201803050652.w256qQvu071205@repo.freebsd.org> --7NO6evRwyiLYUVIzT5C9PKohcSKUInSoH Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 03/04/18 23:52, Eitan Adler wrote: > Author: eadler > Date: Mon Mar 5 06:52:26 2018 > New Revision: 330445 > URL: https://svnweb.freebsd.org/changeset/base/330445 >=20 > Log: > MFC r307901,r308180: This commit was reverted at r321480 and should not have been MFC'd. Want me to revert this? sean --7NO6evRwyiLYUVIzT5C9PKohcSKUInSoH-- --r98E0ltgiJOW2l3KafORGNVJ4g3aNIF3o Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAlqdYU5fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 /LZvRwgAgAC3o3HAmW8y6s4t6lX/xpm1m5h1NjYfekQYQtPXYXYqbgjIl6SrnwGX W1mobDbMRz0g6MknXJQLaWtp+AxaHDhYtm4YpN2OuXi0e6+hDH957pU/XwojqX0+ 0ZweCUM1JvFovCHHo3vf6zcFK/g00/EXs9GAwbtEMQaxxCZLoITTLrXZXQoY0EzR xm53t1RSzTcWY9fiDxCheXgt0LfB5NxR4RRQwoVolaNIhlAnLVlpgnZG8o+1t32q HI9grFOJXRALkhIzUoPnX7a0MR59nJd1QDLLliGgIZWplyJsN4c4jHtL81YTLAdf z8P6IGFoSHwyTI5EenrbwxqFebNtXA== =HCLA -----END PGP SIGNATURE----- --r98E0ltgiJOW2l3KafORGNVJ4g3aNIF3o-- From owner-svn-src-stable@freebsd.org Mon Mar 5 16:00:06 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8B3E5F3AA0F; Mon, 5 Mar 2018 16:00:06 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3230F7FCE0; Mon, 5 Mar 2018 16:00:06 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0E3F925E38; Mon, 5 Mar 2018 16:00:06 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w25G05QA044280; Mon, 5 Mar 2018 16:00:05 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25G05E8044279; Mon, 5 Mar 2018 16:00:05 GMT (envelope-from dab@FreeBSD.org) Message-Id: <201803051600.w25G05E8044279@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Mon, 5 Mar 2018 16:00:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330512 - stable/10/sys/libkern X-SVN-Group: stable-10 X-SVN-Commit-Author: dab X-SVN-Commit-Paths: stable/10/sys/libkern X-SVN-Commit-Revision: 330512 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 16:00:06 -0000 Author: dab Date: Mon Mar 5 16:00:05 2018 New Revision: 330512 URL: https://svnweb.freebsd.org/changeset/base/330512 Log: MFC r330027 iconv uses strlen directly on user supplied memory `iconv_sysctl_add` from `sys/libkern/iconv.c` incorrectly limits the size of user strings, such that several out of bounds reads could have been possible. static int iconv_sysctl_add(SYSCTL_HANDLER_ARGS) { struct iconv_converter_class *dcp; struct iconv_cspair *csp; struct iconv_add_in din; struct iconv_add_out dout; int error; error = SYSCTL_IN(req, &din, sizeof(din)); if (error) return error; if (din.ia_version != ICONV_ADD_VER) return EINVAL; if (din.ia_datalen > ICONV_CSMAXDATALEN) return EINVAL; if (strlen(din.ia_from) >= ICONV_CSNMAXLEN) return EINVAL; if (strlen(din.ia_to) >= ICONV_CSNMAXLEN) return EINVAL; if (strlen(din.ia_converter) >= ICONV_CNVNMAXLEN) return EINVAL; ... Since the `din` struct is directly copied from userland, there is no guarantee that the strings supplied will be NULL terminated. The `strlen` calls could continue reading past the designated buffer sizes. Declaration of `struct iconv_add_in` is found in `sys/sys/iconv.h`: struct iconv_add_in { int ia_version; char ia_converter[ICONV_CNVNMAXLEN]; char ia_to[ICONV_CSNMAXLEN]; char ia_from[ICONV_CSNMAXLEN]; int ia_datalen; const void *ia_data; }; Our strings are followed by the `ia_datalen` member, which is checked before the `strlen` calls: if (din.ia_datalen > ICONV_CSMAXDATALEN) Since `ICONV_CSMAXDATALEN` has value `0x41000` (and is `unsigned`), this ensures that `din.ia_datalen` contains at least 1 byte of 0, so it is not possible to trigger a read out of bounds of the `struct` however, this code is fragile and could introduce subtle bugs in the future if the `struct` is ever modified. PR: 207302 Submitted by: CTurt Reported by: CTurt Sponsored by: Dell EMC Modified: stable/10/sys/libkern/iconv.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/libkern/iconv.c ============================================================================== --- stable/10/sys/libkern/iconv.c Mon Mar 5 15:12:35 2018 (r330511) +++ stable/10/sys/libkern/iconv.c Mon Mar 5 16:00:05 2018 (r330512) @@ -411,11 +411,11 @@ iconv_sysctl_add(SYSCTL_HANDLER_ARGS) return EINVAL; if (din.ia_datalen > ICONV_CSMAXDATALEN) return EINVAL; - if (strlen(din.ia_from) >= ICONV_CSNMAXLEN) + if (strnlen(din.ia_from, sizeof(din.ia_from)) >= ICONV_CSNMAXLEN) return EINVAL; - if (strlen(din.ia_to) >= ICONV_CSNMAXLEN) + if (strnlen(din.ia_to, sizeof(din.ia_to)) >= ICONV_CSNMAXLEN) return EINVAL; - if (strlen(din.ia_converter) >= ICONV_CNVNMAXLEN) + if (strnlen(din.ia_converter, sizeof(din.ia_converter)) >= ICONV_CNVNMAXLEN) return EINVAL; if (iconv_lookupconv(din.ia_converter, &dcp) != 0) return EINVAL; From owner-svn-src-stable@freebsd.org Mon Mar 5 17:01:28 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0B98EF3F565; Mon, 5 Mar 2018 17:01:28 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A08F482CE1; Mon, 5 Mar 2018 17:01:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8229026833; Mon, 5 Mar 2018 17:01:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w25H1Rjl074894; Mon, 5 Mar 2018 17:01:27 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25H1QwP074886; Mon, 5 Mar 2018 17:01:26 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803051701.w25H1QwP074886@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Mon, 5 Mar 2018 17:01:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330516 - in stable/11/sys/netinet: . cc tcp_stacks X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/sys/netinet: . cc tcp_stacks X-SVN-Commit-Revision: 330516 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 17:01:28 -0000 Author: eadler Date: Mon Mar 5 17:01:26 2018 New Revision: 330516 URL: https://svnweb.freebsd.org/changeset/base/330516 Log: Revert r330445 This commit was reverted in r321480 in head Reported by: sbruno Modified: stable/11/sys/netinet/cc/cc_cdg.c stable/11/sys/netinet/cc/cc_chd.c stable/11/sys/netinet/cc/cc_cubic.c stable/11/sys/netinet/cc/cc_dctcp.c stable/11/sys/netinet/cc/cc_htcp.c stable/11/sys/netinet/cc/cc_newreno.c stable/11/sys/netinet/tcp_input.c stable/11/sys/netinet/tcp_stacks/fastpath.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netinet/cc/cc_cdg.c ============================================================================== --- stable/11/sys/netinet/cc/cc_cdg.c Mon Mar 5 16:13:29 2018 (r330515) +++ stable/11/sys/netinet/cc/cc_cdg.c Mon Mar 5 17:01:26 2018 (r330516) @@ -431,12 +431,7 @@ static void cdg_cong_signal(struct cc_var *ccv, uint32_t signal_type) { struct cdg *cdg_data = ccv->cc_data; - uint32_t cwin; - u_int mss; - cwin = CCV(ccv, snd_cwnd); - mss = CCV(ccv, t_maxseg); - switch(signal_type) { case CC_CDG_DELAY: CCV(ccv, snd_ssthresh) = cdg_window_decrease(ccv, @@ -453,7 +448,7 @@ cdg_cong_signal(struct cc_var *ccv, uint32_t signal_ty */ if (IN_CONGRECOVERY(CCV(ccv, t_flags)) || cdg_data->queue_state < CDG_Q_FULL) { - CCV(ccv, snd_ssthresh) = cwin; + CCV(ccv, snd_ssthresh) = CCV(ccv, snd_cwnd); CCV(ccv, snd_recover) = CCV(ccv, snd_max); } else { /* @@ -466,18 +461,12 @@ cdg_cong_signal(struct cc_var *ccv, uint32_t signal_ty cdg_data->shadow_w, RENO_BETA); CCV(ccv, snd_ssthresh) = ulmax(cdg_data->shadow_w, - cdg_window_decrease(ccv, cwin, V_cdg_beta_loss)); - CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); + cdg_window_decrease(ccv, CCV(ccv, snd_cwnd), + V_cdg_beta_loss)); cdg_data->window_incr = cdg_data->rtt_count = 0; } ENTER_RECOVERY(CCV(ccv, t_flags)); - break; - case CC_RTO: - CCV(ccv, snd_ssthresh) = - max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) - * mss; - CCV(ccv, snd_cwnd) = mss; break; default: newreno_cc_algo.cong_signal(ccv, signal_type); Modified: stable/11/sys/netinet/cc/cc_chd.c ============================================================================== --- stable/11/sys/netinet/cc/cc_chd.c Mon Mar 5 16:13:29 2018 (r330515) +++ stable/11/sys/netinet/cc/cc_chd.c Mon Mar 5 17:01:26 2018 (r330516) @@ -330,12 +330,10 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_ty struct ertt *e_t; struct chd *chd_data; int qdly; - u_int mss; e_t = khelp_get_osd(CCV(ccv, osd), ertt_id); chd_data = ccv->cc_data; qdly = imax(e_t->rtt, chd_data->maxrtt_in_rtt) - e_t->minrtt; - mss = CCV(ccv, t_maxseg); switch(signal_type) { case CC_CHD_DELAY: @@ -374,12 +372,6 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_ty CCV(ccv, t_maxseg) / 2, 2) * CCV(ccv, t_maxseg); } ENTER_FASTRECOVERY(CCV(ccv, t_flags)); - break; - case CC_RTO: - CCV(ccv, snd_ssthresh) = - max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) - * mss; - CCV(ccv, snd_cwnd) = mss; break; default: Modified: stable/11/sys/netinet/cc/cc_cubic.c ============================================================================== --- stable/11/sys/netinet/cc/cc_cubic.c Mon Mar 5 16:13:29 2018 (r330515) +++ stable/11/sys/netinet/cc/cc_cubic.c Mon Mar 5 17:01:26 2018 (r330516) @@ -225,12 +225,8 @@ static void cubic_cong_signal(struct cc_var *ccv, uint32_t type) { struct cubic *cubic_data; - uint32_t cwin; - u_int mss; cubic_data = ccv->cc_data; - cwin = CCV(ccv, snd_cwnd); - mss = CCV(ccv, t_maxseg); switch (type) { case CC_NDUPACK: @@ -239,8 +235,7 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) cubic_ssthresh_update(ccv); cubic_data->num_cong_events++; cubic_data->prev_max_cwnd = cubic_data->max_cwnd; - cubic_data->max_cwnd = cwin; - CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); + cubic_data->max_cwnd = CCV(ccv, snd_cwnd); } ENTER_RECOVERY(CCV(ccv, t_flags)); } @@ -251,7 +246,7 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) cubic_ssthresh_update(ccv); cubic_data->num_cong_events++; cubic_data->prev_max_cwnd = cubic_data->max_cwnd; - cubic_data->max_cwnd = cwin; + cubic_data->max_cwnd = CCV(ccv, snd_cwnd); cubic_data->t_last_cong = ticks; CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); ENTER_CONGRECOVERY(CCV(ccv, t_flags)); @@ -266,13 +261,9 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) * chance the first one is a false alarm and may not indicate * congestion. */ - if (CCV(ccv, t_rxtshift) >= 2) { + if (CCV(ccv, t_rxtshift) >= 2) cubic_data->num_cong_events++; cubic_data->t_last_cong = ticks; - cubic_ssthresh_update(ccv); - cubic_data->max_cwnd = cwin; - CCV(ccv, snd_cwnd) = mss; - } break; } } Modified: stable/11/sys/netinet/cc/cc_dctcp.c ============================================================================== --- stable/11/sys/netinet/cc/cc_dctcp.c Mon Mar 5 16:13:29 2018 (r330515) +++ stable/11/sys/netinet/cc/cc_dctcp.c Mon Mar 5 17:01:26 2018 (r330516) @@ -230,29 +230,27 @@ static void dctcp_cong_signal(struct cc_var *ccv, uint32_t type) { struct dctcp *dctcp_data; - uint32_t cwin, ssthresh_on_loss; - u_int mss; + u_int win, mss; dctcp_data = ccv->cc_data; - cwin = CCV(ccv, snd_cwnd); + win = CCV(ccv, snd_cwnd); mss = CCV(ccv, t_maxseg); - ssthresh_on_loss = - max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) - * mss; switch (type) { case CC_NDUPACK: if (!IN_FASTRECOVERY(CCV(ccv, t_flags))) { if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { - CCV(ccv, snd_ssthresh) = ssthresh_on_loss; + CCV(ccv, snd_ssthresh) = mss * + max(win / 2 / mss, 2); dctcp_data->num_cong_events++; } else { /* cwnd has already updated as congestion * recovery. Reverse cwnd value using * snd_cwnd_prev and recalculate snd_ssthresh */ - cwin = CCV(ccv, snd_cwnd_prev); - CCV(ccv, snd_ssthresh) = ssthresh_on_loss; + win = CCV(ccv, snd_cwnd_prev); + CCV(ccv, snd_ssthresh) = + max(win / 2 / mss, 2) * mss; } ENTER_RECOVERY(CCV(ccv, t_flags)); } @@ -262,17 +260,18 @@ dctcp_cong_signal(struct cc_var *ccv, uint32_t type) * Save current snd_cwnd when the host encounters both * congestion recovery and fast recovery. */ - CCV(ccv, snd_cwnd_prev) = cwin; + CCV(ccv, snd_cwnd_prev) = win; if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { if (V_dctcp_slowstart && dctcp_data->num_cong_events++ == 0) { - CCV(ccv, snd_ssthresh) = ssthresh_on_loss; + CCV(ccv, snd_ssthresh) = + mss * max(win / 2 / mss, 2); dctcp_data->alpha = MAX_ALPHA_VALUE; dctcp_data->bytes_ecn = 0; dctcp_data->bytes_total = 0; dctcp_data->save_sndnxt = CCV(ccv, snd_nxt); } else - CCV(ccv, snd_ssthresh) = max((cwin - ((cwin * + CCV(ccv, snd_ssthresh) = max((win - ((win * dctcp_data->alpha) >> 11)) / mss, 2) * mss; CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); ENTER_CONGRECOVERY(CCV(ccv, t_flags)); @@ -285,8 +284,6 @@ dctcp_cong_signal(struct cc_var *ccv, uint32_t type) dctcp_update_alpha(ccv); dctcp_data->save_sndnxt += CCV(ccv, t_maxseg); dctcp_data->num_cong_events++; - CCV(ccv, snd_ssthresh) = ssthresh_on_loss; - CCV(ccv, snd_cwnd) = mss; } break; } Modified: stable/11/sys/netinet/cc/cc_htcp.c ============================================================================== --- stable/11/sys/netinet/cc/cc_htcp.c Mon Mar 5 16:13:29 2018 (r330515) +++ stable/11/sys/netinet/cc/cc_htcp.c Mon Mar 5 17:01:26 2018 (r330516) @@ -271,12 +271,8 @@ static void htcp_cong_signal(struct cc_var *ccv, uint32_t type) { struct htcp *htcp_data; - uint32_t cwin; - u_int mss; htcp_data = ccv->cc_data; - cwin = CCV(ccv, snd_cwnd); - mss = CCV(ccv, t_maxseg); switch (type) { case CC_NDUPACK: @@ -291,9 +287,8 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type) (htcp_data->maxrtt - htcp_data->minrtt) * 95) / 100; htcp_ssthresh_update(ccv); - CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); htcp_data->t_last_cong = ticks; - htcp_data->prev_cwnd = cwin; + htcp_data->prev_cwnd = CCV(ccv, snd_cwnd); } ENTER_RECOVERY(CCV(ccv, t_flags)); } @@ -310,7 +305,7 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type) htcp_ssthresh_update(ccv); CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); htcp_data->t_last_cong = ticks; - htcp_data->prev_cwnd = cwin; + htcp_data->prev_cwnd = CCV(ccv, snd_cwnd); ENTER_CONGRECOVERY(CCV(ccv, t_flags)); } break; @@ -325,10 +320,6 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type) */ if (CCV(ccv, t_rxtshift) >= 2) htcp_data->t_last_cong = ticks; - CCV(ccv, snd_ssthresh) = - max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) - * mss; - CCV(ccv, snd_cwnd) = mss; break; } } @@ -520,10 +511,6 @@ htcp_ssthresh_update(struct cc_var *ccv) CCV(ccv, snd_ssthresh) = (CCV(ccv, snd_cwnd) * htcp_data->beta) >> HTCP_SHIFT; } - - /* Align ssthresh to MSS boundary */ - CCV(ccv, snd_ssthresh) = (CCV(ccv, snd_ssthresh) / CCV(ccv, t_maxseg)) - * CCV(ccv, t_maxseg); } Modified: stable/11/sys/netinet/cc/cc_newreno.c ============================================================================== --- stable/11/sys/netinet/cc/cc_newreno.c Mon Mar 5 16:13:29 2018 (r330515) +++ stable/11/sys/netinet/cc/cc_newreno.c Mon Mar 5 17:01:26 2018 (r330516) @@ -181,41 +181,29 @@ newreno_after_idle(struct cc_var *ccv) static void newreno_cong_signal(struct cc_var *ccv, uint32_t type) { - uint32_t cwin, ssthresh_on_loss; - u_int mss; + u_int win; - cwin = CCV(ccv, snd_cwnd); - mss = CCV(ccv, t_maxseg); - ssthresh_on_loss = - max((CCV(ccv, snd_max) - CCV(ccv, snd_una)) / 2 / mss, 2) - * mss; - /* Catch algos which mistakenly leak private signal types. */ KASSERT((type & CC_SIGPRIVMASK) == 0, ("%s: congestion signal type 0x%08x is private\n", __func__, type)); - cwin = max(cwin / 2 / mss, 2) * mss; + win = max(CCV(ccv, snd_cwnd) / 2 / CCV(ccv, t_maxseg), 2) * + CCV(ccv, t_maxseg); switch (type) { case CC_NDUPACK: if (!IN_FASTRECOVERY(CCV(ccv, t_flags))) { - if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { - CCV(ccv, snd_ssthresh) = ssthresh_on_loss; - CCV(ccv, snd_cwnd) = cwin; - } + if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) + CCV(ccv, snd_ssthresh) = win; ENTER_RECOVERY(CCV(ccv, t_flags)); } break; case CC_ECN: if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) { - CCV(ccv, snd_ssthresh) = ssthresh_on_loss; - CCV(ccv, snd_cwnd) = cwin; + CCV(ccv, snd_ssthresh) = win; + CCV(ccv, snd_cwnd) = win; ENTER_CONGRECOVERY(CCV(ccv, t_flags)); } - break; - case CC_RTO: - CCV(ccv, snd_ssthresh) = ssthresh_on_loss; - CCV(ccv, snd_cwnd) = mss; break; } } Modified: stable/11/sys/netinet/tcp_input.c ============================================================================== --- stable/11/sys/netinet/tcp_input.c Mon Mar 5 16:13:29 2018 (r330515) +++ stable/11/sys/netinet/tcp_input.c Mon Mar 5 17:01:26 2018 (r330516) @@ -429,16 +429,9 @@ cc_cong_signal(struct tcpcb *tp, struct tcphdr *th, ui tp->t_dupacks = 0; tp->t_bytes_acked = 0; EXIT_RECOVERY(tp->t_flags); - if (CC_ALGO(tp)->cong_signal == NULL) { - /* - * RFC5681 Section 3.1 - * ssthresh = max (FlightSize / 2, 2*SMSS) eq (4) - */ - tp->snd_ssthresh = - max((tp->snd_max - tp->snd_una) / 2 / maxseg, 2) - * maxseg; - tp->snd_cwnd = maxseg; - } + tp->snd_ssthresh = max(2, min(tp->snd_wnd, tp->snd_cwnd) / 2 / + maxseg) * maxseg; + tp->snd_cwnd = maxseg; break; case CC_RTO_ERR: TCPSTAT_INC(tcps_sndrexmitbad); @@ -2599,15 +2592,6 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, stru if (awnd < tp->snd_ssthresh) { tp->snd_cwnd += maxseg; - /* - * RFC5681 Section 3.2 talks about cwnd - * inflation on additional dupacks and - * deflation on recovering from loss. - * - * We keep cwnd into check so that - * we don't have to 'deflate' it when we - * get out of recovery. - */ if (tp->snd_cwnd > tp->snd_ssthresh) tp->snd_cwnd = tp->snd_ssthresh; } @@ -2646,22 +2630,19 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, stru TCPSTAT_INC( tcps_sack_recovery_episode); tp->sack_newdata = tp->snd_nxt; - if (CC_ALGO(tp)->cong_signal == NULL) - tp->snd_cwnd = maxseg; + tp->snd_cwnd = maxseg; (void) tp->t_fb->tfb_tcp_output(tp); goto drop; } tp->snd_nxt = th->th_ack; - if (CC_ALGO(tp)->cong_signal == NULL) - tp->snd_cwnd = maxseg; + tp->snd_cwnd = maxseg; (void) tp->t_fb->tfb_tcp_output(tp); KASSERT(tp->snd_limited <= 2, ("%s: tp->snd_limited too big", __func__)); - if (CC_ALGO(tp)->cong_signal == NULL) - tp->snd_cwnd = tp->snd_ssthresh + - maxseg * - (tp->t_dupacks - tp->snd_limited); + tp->snd_cwnd = tp->snd_ssthresh + + maxseg * + (tp->t_dupacks - tp->snd_limited); if (SEQ_GT(onxt, tp->snd_nxt)) tp->snd_nxt = onxt; goto drop; Modified: stable/11/sys/netinet/tcp_stacks/fastpath.c ============================================================================== --- stable/11/sys/netinet/tcp_stacks/fastpath.c Mon Mar 5 16:13:29 2018 (r330515) +++ stable/11/sys/netinet/tcp_stacks/fastpath.c Mon Mar 5 17:01:26 2018 (r330516) @@ -1035,15 +1035,6 @@ tcp_do_slowpath(struct mbuf *m, struct tcphdr *th, str if (awnd < tp->snd_ssthresh) { tp->snd_cwnd += tp->t_maxseg; - /* - * RFC5681 Section 3.2 talks about cwnd - * inflation on additional dupacks and - * deflation on recovering from loss. - * - * We keep cwnd into check so that - * we don't have to 'deflate' it when we - * get out of recovery. - */ if (tp->snd_cwnd > tp->snd_ssthresh) tp->snd_cwnd = tp->snd_ssthresh; } @@ -1082,22 +1073,19 @@ tcp_do_slowpath(struct mbuf *m, struct tcphdr *th, str TCPSTAT_INC( tcps_sack_recovery_episode); tp->sack_newdata = tp->snd_nxt; - if (CC_ALGO(tp)->cong_signal == NULL) - tp->snd_cwnd = tp->t_maxseg; + tp->snd_cwnd = tp->t_maxseg; (void) tp->t_fb->tfb_tcp_output(tp); goto drop; } tp->snd_nxt = th->th_ack; - if (CC_ALGO(tp)->cong_signal == NULL) - tp->snd_cwnd = tp->t_maxseg; + tp->snd_cwnd = tp->t_maxseg; (void) tp->t_fb->tfb_tcp_output(tp); KASSERT(tp->snd_limited <= 2, ("%s: tp->snd_limited too big", __func__)); - if (CC_ALGO(tp)->cong_signal == NULL) - tp->snd_cwnd = tp->snd_ssthresh + - tp->t_maxseg * - (tp->t_dupacks - tp->snd_limited); + tp->snd_cwnd = tp->snd_ssthresh + + tp->t_maxseg * + (tp->t_dupacks - tp->snd_limited); if (SEQ_GT(onxt, tp->snd_nxt)) tp->snd_nxt = onxt; goto drop; From owner-svn-src-stable@freebsd.org Mon Mar 5 17:02:12 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 963C5F3F6E0 for ; Mon, 5 Mar 2018 17:02:12 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-yw0-x235.google.com (mail-yw0-x235.google.com [IPv6:2607:f8b0:4002:c05::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2F5B582EEA for ; Mon, 5 Mar 2018 17:02:12 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: by mail-yw0-x235.google.com with SMTP id x197so5866333ywg.11 for ; Mon, 05 Mar 2018 09:02:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=9kTeJ+hrvbCSROq/pAqUlmVxjS8ryf3vVBB0rMbzukk=; b=cCkWyvln87udyJS7D66XEsyd/GBaqwczI5gRx6PlrR+DbMSnNd6GyzS5xECRMy09Wv SxUGZPStqcTBxIpgUTN1lZws6wQDg76nxFUkhVND0GweJElcexpvAz3Y9poXE0i55wLf hLiFEgyW8DYUE8R8nOnrxItiaHaYM8mc9utSk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=9kTeJ+hrvbCSROq/pAqUlmVxjS8ryf3vVBB0rMbzukk=; b=hEg0+uQjOc+lWoi0Bt0sluuq2PKByxEPtK5/A9frALsLXPKMQe9m8gnX4VBalgOXA7 dnem2ArDvQ2B9SOz+ZPL20c+HaLV61w2pQbdshaz1OUo614DGJuFvRN/2OXms4WlnpxV /5fBNnA6ckM+netst3bZBgs46teEqbZhzxKsFmZInTl7BnNgOa8HdFqd7zbIwh+059B1 eSZdVUEn7VwscHIk4ksYwgSLve4OLLOzBasfJ1+rfb7U5A4LIa+SwyHaOQIkTXDekkJ5 UE7oZkZVQZVd/Kx6thWcd9mPExk0ta1BE+Pu+ZvZUMFmcgWCBVzxihTNCIC50U6GyKL7 SDdg== X-Gm-Message-State: APf1xPDtkNCxnE/EpD9oZXQGXOljlgkIkcW0i6b8WMNAyoT8yQiQ6J2/ HcHBCsFxN1mzSzamO8pBwNfs79H+ZHsnTX6tDHz6Ow== X-Google-Smtp-Source: AG47ELuPtJ9w/58Q/yWVrRl/N1gSIYbZcXJrWoWOxZZLV0OTaDI1WbZcGbQrYRo5KRJvQBsrd50cYlei8TuT0KTQA6M= X-Received: by 10.129.109.1 with SMTP id i1mr9515184ywc.113.1520269331516; Mon, 05 Mar 2018 09:02:11 -0800 (PST) MIME-Version: 1.0 Sender: lists@eitanadler.com Received: by 2002:a25:23d2:0:0:0:0:0 with HTTP; Mon, 5 Mar 2018 09:01:41 -0800 (PST) In-Reply-To: <21d58c93-0a5a-8dae-376c-516526fba747@freebsd.org> References: <201803050652.w256qQvu071205@repo.freebsd.org> <21d58c93-0a5a-8dae-376c-516526fba747@freebsd.org> From: Eitan Adler Date: Mon, 5 Mar 2018 09:01:41 -0800 X-Google-Sender-Auth: Qa7jqwrdHTWiL1OgsTrOa0ZIWP8 Message-ID: Subject: Re: svn commit: r330445 - in stable/11/sys/netinet: . cc tcp_stacks To: Sean Bruno Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 17:02:12 -0000 On 5 March 2018 at 07:25, Sean Bruno wrote: > > > On 03/04/18 23:52, Eitan Adler wrote: >> Author: eadler >> Date: Mon Mar 5 06:52:26 2018 >> New Revision: 330445 >> URL: https://svnweb.freebsd.org/changeset/base/330445 >> >> Log: >> MFC r307901,r308180: > > > This commit was reverted at r321480 and should not have been MFC'd. > Want me to revert this? Thanks for the note. I'll look to see why I missed that. Thanks! Reverted in 330516. -- Eitan Adler Source, Ports, Doc committer Bugmeister, Ports Security teams From owner-svn-src-stable@freebsd.org Mon Mar 5 17:19:54 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F1C1F40FB7; Mon, 5 Mar 2018 17:19:54 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from mail.ignoranthack.me (ignoranthack.me [199.102.79.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A3B48488C; Mon, 5 Mar 2018 17:19:53 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from [192.168.0.6] (75-173-115-219.albq.qwest.net [75.173.115.219]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sbruno@ignoranthack.me) by mail.ignoranthack.me (Postfix) with ESMTPSA id 436C4192830; Mon, 5 Mar 2018 08:57:01 +0000 (UTC) Subject: Re: svn commit: r330445 - in stable/11/sys/netinet: . cc tcp_stacks To: Eitan Adler Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org References: <201803050652.w256qQvu071205@repo.freebsd.org> <21d58c93-0a5a-8dae-376c-516526fba747@freebsd.org> From: Sean Bruno Message-ID: Date: Mon, 5 Mar 2018 10:19:48 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="fZRIKSRr7Z20LRwIdv5pNLGwWOmYhFftZ" X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 17:19:54 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --fZRIKSRr7Z20LRwIdv5pNLGwWOmYhFftZ Content-Type: multipart/mixed; boundary="OHuPKcrKwxcXMrKhMWOJ6D2krXEh49apJ"; protected-headers="v1" From: Sean Bruno To: Eitan Adler Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Message-ID: Subject: Re: svn commit: r330445 - in stable/11/sys/netinet: . cc tcp_stacks References: <201803050652.w256qQvu071205@repo.freebsd.org> <21d58c93-0a5a-8dae-376c-516526fba747@freebsd.org> In-Reply-To: --OHuPKcrKwxcXMrKhMWOJ6D2krXEh49apJ Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable No worries, thanks. sean On 03/05/18 10:01, Eitan Adler wrote: > On 5 March 2018 at 07:25, Sean Bruno wrote: >> >> >> On 03/04/18 23:52, Eitan Adler wrote: >>> Author: eadler >>> Date: Mon Mar 5 06:52:26 2018 >>> New Revision: 330445 >>> URL: https://svnweb.freebsd.org/changeset/base/330445 >>> >>> Log: >>> MFC r307901,r308180: >> >> >> This commit was reverted at r321480 and should not have been MFC'd. >> Want me to revert this? >=20 > Thanks for the note. I'll look to see why I missed that. Thanks! >=20 > Reverted in 330516. >=20 >=20 >=20 --OHuPKcrKwxcXMrKhMWOJ6D2krXEh49apJ-- --fZRIKSRr7Z20LRwIdv5pNLGwWOmYhFftZ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAlqdfDRfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 /La/1ggAlsLoZxHrKSd9y/n+A+foRyRsWQRZcGsP5W+qqPkZORmLnkG218l7LAWw TA/zJEYzarcRiltFxrtBznXLfX9ByMQ63rtzosouhLqZYGCuxpmMEHBrCeE3dQU2 T4Zuy2glsvmYpWLiW0cSF79taNmaR1HV5cdKO2OibSEfdPBwDzMqwHVQ2KBa2q7V nSrQg0yYKo1lB1jM6JCDchzPJN90q/xXt8kkGFYFxhiirKnkpeVHzTf2KaojVZ6T ajukwijaw4/VEn5/rgGed6hlRQCqSDxXJgtRq4df9JsNaUA4LXLC5O1kVimrSJRQ ibfKWrTkGnis9Ll0ceGmCnHqfqQk3Q== =tab7 -----END PGP SIGNATURE----- --fZRIKSRr7Z20LRwIdv5pNLGwWOmYhFftZ-- From owner-svn-src-stable@freebsd.org Mon Mar 5 18:20:51 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49927F45025; Mon, 5 Mar 2018 18:20:51 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E434A8727E; Mon, 5 Mar 2018 18:20:50 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (ralph.baldwin.cx [66.234.199.215]) by mail.baldwin.cx (Postfix) with ESMTPSA id BD34810A7DB; Mon, 5 Mar 2018 13:20:49 -0500 (EST) From: John Baldwin To: Eitan Adler Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 Date: Mon, 05 Mar 2018 10:08:04 -0800 Message-ID: <1861296.ksaTdANMae@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.1-STABLE; KDE/4.14.30; amd64; ; ) In-Reply-To: <201803050754.w257swAE001435@repo.freebsd.org> References: <201803050754.w257swAE001435@repo.freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Mon, 05 Mar 2018 13:20:49 -0500 (EST) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 18:20:51 -0000 On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote: > Author: eadler > Date: Mon Mar 5 07:54:57 2018 > New Revision: 330451 > URL: https://svnweb.freebsd.org/changeset/base/330451 > > Log: > MFC r306837: > > [net80211] extend the ieee80211_rx_stats struct to include more information. Have you thought about the KBI implications of this change and some of the other changes you've merged? In theory we try to not break existing kernel modules on a stable branch. That is, one should be able to kldload an if_iwn.ko built on 11.0 on a 11-stable kernel. If this structure is used by any device drivers directly then changing its layout would seem to break existing modules that were built against the old ABI and pass in pointers to the old structures to functions in the kernel. There are some fuzzy areas in the ABI we try to preserve, but we generally try to keep drivers working. Also, we may choose to break the ABI if there is a strong argument for it, but then that is usually something discussed with re@ and noted in the commit log and UPDATING. -- John Baldwin From owner-svn-src-stable@freebsd.org Mon Mar 5 18:37:06 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1640F45F92; Mon, 5 Mar 2018 18:37:05 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9A7B287E64; Mon, 5 Mar 2018 18:37:05 +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 9438E278D9; Mon, 5 Mar 2018 18:37:05 +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 w25Ib5rZ025099; Mon, 5 Mar 2018 18:37:05 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25Ib5aU025098; Mon, 5 Mar 2018 18:37:05 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803051837.w25Ib5aU025098@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 5 Mar 2018 18:37:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330519 - stable/11/contrib/netbsd-tests/lib/libc/stdio X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/11/contrib/netbsd-tests/lib/libc/stdio X-SVN-Commit-Revision: 330519 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 18:37:06 -0000 Author: asomers Date: Mon Mar 5 18:37:05 2018 New Revision: 330519 URL: https://svnweb.freebsd.org/changeset/base/330519 Log: MFC r320726, r320727 r320726: Expect :snprintf_float to segfault This issue started occurring within the past month or so. PR: 220502 Reported by: Jenkins (amd64-head job) r320727: :snprintf_float: don't blindly set RLIMIT_DATA and RLIMIT_AS to 1 MB -- raise the limit to 32MB instead. Require user=root and memory=64MB+ first so one can be reasonably sure that the test will function appropriately. MFC with: r320726 PR: 220502 Modified: stable/11/contrib/netbsd-tests/lib/libc/stdio/t_printf.c Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/netbsd-tests/lib/libc/stdio/t_printf.c ============================================================================== --- stable/11/contrib/netbsd-tests/lib/libc/stdio/t_printf.c Mon Mar 5 17:02:50 2018 (r330518) +++ stable/11/contrib/netbsd-tests/lib/libc/stdio/t_printf.c Mon Mar 5 18:37:05 2018 (r330519) @@ -137,6 +137,10 @@ ATF_TC_HEAD(snprintf_float, tc) atf_tc_set_md_var(tc, "descr", "test that floating conversions don't" " leak memory"); +#ifdef __FreeBSD__ + atf_tc_set_md_var(tc, "require.memory", "64m"); + atf_tc_set_md_var(tc, "require.user", "root"); +#endif } ATF_TC_BODY(snprintf_float, tc) @@ -150,10 +154,17 @@ ATF_TC_BODY(snprintf_float, tc) char buf[1000]; struct rlimit rl; +#ifdef __FreeBSD__ + rl.rlim_cur = rl.rlim_max = 32 * 1024 * 1024; + ATF_CHECK(setrlimit(RLIMIT_AS, &rl) != -1); + rl.rlim_cur = rl.rlim_max = 32 * 1024 * 1024; + ATF_CHECK(setrlimit(RLIMIT_DATA, &rl) != -1); +#else rl.rlim_cur = rl.rlim_max = 1 * 1024 * 1024; ATF_CHECK(setrlimit(RLIMIT_AS, &rl) != -1); rl.rlim_cur = rl.rlim_max = 1 * 1024 * 1024; ATF_CHECK(setrlimit(RLIMIT_DATA, &rl) != -1); +#endif time(&now); srand(now); From owner-svn-src-stable@freebsd.org Mon Mar 5 19:02:32 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C04CEF4794D; Mon, 5 Mar 2018 19:02:32 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 705EC690F7; Mon, 5 Mar 2018 19:02:32 +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 6B60627DA2; Mon, 5 Mar 2018 19:02:32 +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 w25J2Wxm039882; Mon, 5 Mar 2018 19:02:32 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25J2W0R039881; Mon, 5 Mar 2018 19:02:32 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803051902.w25J2W0R039881@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 5 Mar 2018 19:02:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330520 - stable/10/contrib/netbsd-tests/lib/libc/stdio X-SVN-Group: stable-10 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/10/contrib/netbsd-tests/lib/libc/stdio X-SVN-Commit-Revision: 330520 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 19:02:32 -0000 Author: asomers Date: Mon Mar 5 19:02:32 2018 New Revision: 330520 URL: https://svnweb.freebsd.org/changeset/base/330520 Log: MFC r320726, r320727 r320726: Expect :snprintf_float to segfault This issue started occurring within the past month or so. PR: 220502 Reported by: Jenkins (amd64-head job) r320727: :snprintf_float: don't blindly set RLIMIT_DATA and RLIMIT_AS to 1 MB -- raise the limit to 32MB instead. Require user=root and memory=64MB+ first so one can be reasonably sure that the test will function appropriately. MFC with: r320726 PR: 220502 Modified: stable/10/contrib/netbsd-tests/lib/libc/stdio/t_printf.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/netbsd-tests/lib/libc/stdio/t_printf.c ============================================================================== --- stable/10/contrib/netbsd-tests/lib/libc/stdio/t_printf.c Mon Mar 5 18:37:05 2018 (r330519) +++ stable/10/contrib/netbsd-tests/lib/libc/stdio/t_printf.c Mon Mar 5 19:02:32 2018 (r330520) @@ -137,6 +137,10 @@ ATF_TC_HEAD(snprintf_float, tc) atf_tc_set_md_var(tc, "descr", "test that floating conversions don't" " leak memory"); +#ifdef __FreeBSD__ + atf_tc_set_md_var(tc, "require.memory", "64m"); + atf_tc_set_md_var(tc, "require.user", "root"); +#endif } ATF_TC_BODY(snprintf_float, tc) @@ -150,10 +154,17 @@ ATF_TC_BODY(snprintf_float, tc) char buf[1000]; struct rlimit rl; +#ifdef __FreeBSD__ + rl.rlim_cur = rl.rlim_max = 32 * 1024 * 1024; + ATF_CHECK(setrlimit(RLIMIT_AS, &rl) != -1); + rl.rlim_cur = rl.rlim_max = 32 * 1024 * 1024; + ATF_CHECK(setrlimit(RLIMIT_DATA, &rl) != -1); +#else rl.rlim_cur = rl.rlim_max = 1 * 1024 * 1024; ATF_CHECK(setrlimit(RLIMIT_AS, &rl) != -1); rl.rlim_cur = rl.rlim_max = 1 * 1024 * 1024; ATF_CHECK(setrlimit(RLIMIT_DATA, &rl) != -1); +#endif time(&now); srand(now); From owner-svn-src-stable@freebsd.org Mon Mar 5 20:28:50 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3180AF25836; Mon, 5 Mar 2018 20:28:50 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CC54D6C201; Mon, 5 Mar 2018 20:28:49 +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 C2A70AF5; Mon, 5 Mar 2018 20:28:49 +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 w25KSn2k079619; Mon, 5 Mar 2018 20:28:49 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25KSn1g079618; Mon, 5 Mar 2018 20:28:49 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803052028.w25KSn1g079618@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 5 Mar 2018 20:28:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330522 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-10 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330522 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 20:28:50 -0000 Author: asomers Date: Mon Mar 5 20:28:49 2018 New Revision: 330522 URL: https://svnweb.freebsd.org/changeset/base/330522 Log: MFC r326401: Fix assertion when ZFS fails to open certain devices "panic: vdev_geom_close_locked: cp->private is NULL" This panic will result if ZFS fails to open a device due to either of the following reasons: 1) The device's sector size is greater than 8KB. 2) ZFS wants to open the device RW, but it can't be opened for writing. The solution is to change the initialization order to ensure that the assertion will be satisfied. PR: 221066 Reported by: David NewHamlet Reviewed by: avg Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D13278 Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Mon Mar 5 20:03:45 2018 (r330521) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Mon Mar 5 20:28:49 2018 (r330522) @@ -851,35 +851,10 @@ vdev_geom_open(vdev_t *vd, uint64_t *psize, uint64_t * if (cp == NULL) { ZFS_LOG(1, "Vdev %s not found.", vd->vdev_path); error = ENOENT; - } else if (cp->provider->sectorsize > VDEV_PAD_SIZE || - !ISP2(cp->provider->sectorsize)) { - ZFS_LOG(1, "Provider %s has unsupported sectorsize.", - cp->provider->name); - - vdev_geom_close_locked(vd); - error = EINVAL; - cp = NULL; - } else if (cp->acw == 0 && (spa_mode(vd->vdev_spa) & FWRITE) != 0) { - int i; - - for (i = 0; i < 5; i++) { - error = g_access(cp, 0, 1, 0); - if (error == 0) - break; - g_topology_unlock(); - tsleep(vd, 0, "vdev", hz / 2); - g_topology_lock(); - } - if (error != 0) { - printf("ZFS WARNING: Unable to open %s for writing (error=%d).\n", - cp->provider->name, error); - vdev_geom_close_locked(vd); - cp = NULL; - } - } - if (cp != NULL) { + } else { struct consumer_priv_t *priv; struct consumer_vdev_elem *elem; + int spamode; priv = (struct consumer_priv_t*)&cp->private; if (cp->private == NULL) @@ -887,6 +862,34 @@ vdev_geom_open(vdev_t *vd, uint64_t *psize, uint64_t * elem = g_malloc(sizeof(*elem), M_WAITOK|M_ZERO); elem->vd = vd; SLIST_INSERT_HEAD(priv, elem, elems); + + spamode = spa_mode(vd->vdev_spa); + if (cp->provider->sectorsize > VDEV_PAD_SIZE || + !ISP2(cp->provider->sectorsize)) { + ZFS_LOG(1, "Provider %s has unsupported sectorsize.", + cp->provider->name); + + vdev_geom_close_locked(vd); + error = EINVAL; + cp = NULL; + } else if (cp->acw == 0 && (spamode & FWRITE) != 0) { + int i; + + for (i = 0; i < 5; i++) { + error = g_access(cp, 0, 1, 0); + if (error == 0) + break; + g_topology_unlock(); + tsleep(vd, 0, "vdev", hz / 2); + g_topology_lock(); + } + if (error != 0) { + printf("ZFS WARNING: Unable to open %s for writing (error=%d).\n", + cp->provider->name, error); + vdev_geom_close_locked(vd); + cp = NULL; + } + } } /* Fetch initial physical path information for this device. */ From owner-svn-src-stable@freebsd.org Mon Mar 5 20:37:54 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D1E88F267D0; Mon, 5 Mar 2018 20:37:54 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A72596CA91; Mon, 5 Mar 2018 20:37:54 +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 9D8F7C86; Mon, 5 Mar 2018 20:37:54 +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 w25Kbsqs084665; Mon, 5 Mar 2018 20:37:54 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25KbsXA084664; Mon, 5 Mar 2018 20:37:54 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803052037.w25KbsXA084664@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 5 Mar 2018 20:37:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330523 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330523 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 20:37:55 -0000 Author: asomers Date: Mon Mar 5 20:37:54 2018 New Revision: 330523 URL: https://svnweb.freebsd.org/changeset/base/330523 Log: MFC r326400 Revert r326399 Accidentally committed wrong file Pointy hat to: asomers Sponsored by: Spectra Logic Corp Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Mon Mar 5 20:28:49 2018 (r330522) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Mon Mar 5 20:37:54 2018 (r330523) @@ -2398,7 +2398,7 @@ vdev_raidz_io_done(zio_t *zio) */ if (parity_errors + parity_untried < rm->rm_firstdatacol || - (zio->io_flags & (ZIO_FLAG_RESILVER | ZIO_FLAG_SCRUB))) { + (zio->io_flags & ZIO_FLAG_RESILVER)) { n = raidz_parity_verify(zio, rm); unexpected_errors += n; ASSERT(parity_errors + n <= @@ -2450,7 +2450,7 @@ vdev_raidz_io_done(zio_t *zio) * out to failed devices later. */ if (parity_errors < rm->rm_firstdatacol - n || - (zio->io_flags & (ZIO_FLAG_RESILVER | ZIO_FLAG_SCRUB))) { + (zio->io_flags & ZIO_FLAG_RESILVER)) { n = raidz_parity_verify(zio, rm); unexpected_errors += n; ASSERT(parity_errors + n <= @@ -2552,8 +2552,7 @@ done: zio_checksum_verified(zio); if (zio->io_error == 0 && spa_writeable(zio->io_spa) && - (unexpected_errors || - (zio->io_flags & (ZIO_FLAG_RESILVER | ZIO_FLAG_SCRUB)))) { + (unexpected_errors || (zio->io_flags & ZIO_FLAG_RESILVER))) { /* * Use the good data we have in hand to repair damaged children. */ From owner-svn-src-stable@freebsd.org Mon Mar 5 20:43:44 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3DE4FF2712A; Mon, 5 Mar 2018 20:43:44 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CFAB26D140; Mon, 5 Mar 2018 20:43:43 +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 CA8A9E12; Mon, 5 Mar 2018 20:43:43 +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 w25KhhFl089475; Mon, 5 Mar 2018 20:43:43 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25Khh9v089474; Mon, 5 Mar 2018 20:43:43 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803052043.w25Khh9v089474@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 5 Mar 2018 20:43:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330524 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-10 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330524 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 20:43:44 -0000 Author: asomers Date: Mon Mar 5 20:43:43 2018 New Revision: 330524 URL: https://svnweb.freebsd.org/changeset/base/330524 Log: MFC r324940: Fix the error message when creating a zpool on a too-small device Don't check for SPA_MINDEVSIZE in vdev_geom_attach when opening by path. It's redundant with the check in vdev_open, and failing to attach here results in the wrong error message being printed. However, still check for it in some other situations: * When opening by guids, so we don't get bogged down reading from slow devices like floppy drives. * In vdev_geom_read_pool_label for the same reason, because we iterate over all providers. * If the caller requests that we verify the guid, because then we'll have to read from the device before vdev_open verifies the size. PR: 222227 Reported by: Marie Helene Kvello-Aune Reviewed by: avg, mav Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D12531 Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Mon Mar 5 20:37:54 2018 (r330523) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Mon Mar 5 20:43:43 2018 (r330524) @@ -195,7 +195,7 @@ vdev_geom_orphan(struct g_consumer *cp) } static struct g_consumer * -vdev_geom_attach(struct g_provider *pp, vdev_t *vd) +vdev_geom_attach(struct g_provider *pp, vdev_t *vd, boolean_t sanity) { struct g_geom *gp; struct g_consumer *cp; @@ -205,14 +205,18 @@ vdev_geom_attach(struct g_provider *pp, vdev_t *vd) ZFS_LOG(1, "Attaching to %s.", pp->name); - if (pp->sectorsize > VDEV_PAD_SIZE || !ISP2(pp->sectorsize)) { - ZFS_LOG(1, "Failing attach of %s. Incompatible sectorsize %d\n", - pp->name, pp->sectorsize); - return (NULL); - } else if (pp->mediasize < SPA_MINDEVSIZE) { - ZFS_LOG(1, "Failing attach of %s. Incompatible mediasize %ju\n", - pp->name, pp->mediasize); - return (NULL); + if (sanity) { + if (pp->sectorsize > VDEV_PAD_SIZE || !ISP2(pp->sectorsize)) { + ZFS_LOG(1, "Failing attach of %s. " + "Incompatible sectorsize %d\n", + pp->name, pp->sectorsize); + return (NULL); + } else if (pp->mediasize < SPA_MINDEVSIZE) { + ZFS_LOG(1, "Failing attach of %s. " + "Incompatible mediasize %ju\n", + pp->name, pp->mediasize); + return (NULL); + } } /* Do we have geom already? No? Create one. */ @@ -589,7 +593,7 @@ vdev_geom_read_pool_label(const char *name, LIST_FOREACH(pp, &gp->provider, provider) { if (pp->flags & G_PF_WITHER) continue; - zcp = vdev_geom_attach(pp, NULL); + zcp = vdev_geom_attach(pp, NULL, B_TRUE); if (zcp == NULL) continue; g_topology_unlock(); @@ -629,7 +633,7 @@ vdev_attach_ok(vdev_t *vd, struct g_provider *pp) struct g_consumer *cp; int nlabels; - cp = vdev_geom_attach(pp, NULL); + cp = vdev_geom_attach(pp, NULL, B_TRUE); if (cp == NULL) { ZFS_LOG(1, "Unable to attach tasting instance to %s.", pp->name); @@ -637,14 +641,12 @@ vdev_attach_ok(vdev_t *vd, struct g_provider *pp) } g_topology_unlock(); nlabels = vdev_geom_read_config(cp, &config); + g_topology_lock(); + vdev_geom_detach(cp, B_TRUE); if (nlabels == 0) { - g_topology_lock(); - vdev_geom_detach(cp, B_TRUE); ZFS_LOG(1, "Unable to read config from %s.", pp->name); return (NO_MATCH); } - g_topology_lock(); - vdev_geom_detach(cp, B_TRUE); pool_guid = 0; (void) nvlist_lookup_uint64(config, ZPOOL_CONFIG_POOL_GUID, &pool_guid); @@ -716,7 +718,7 @@ vdev_geom_attach_by_guids(vdev_t *vd) out: if (best_pp) { - cp = vdev_geom_attach(best_pp, vd); + cp = vdev_geom_attach(best_pp, vd, B_TRUE); if (cp == NULL) { printf("ZFS WARNING: Unable to attach to %s.\n", best_pp->name); @@ -770,7 +772,7 @@ vdev_geom_open_by_path(vdev_t *vd, int check_guid) if (pp != NULL) { ZFS_LOG(1, "Found provider by name %s.", vd->vdev_path); if (!check_guid || vdev_attach_ok(vd, pp) == FULL_MATCH) - cp = vdev_geom_attach(pp, vd); + cp = vdev_geom_attach(pp, vd, B_FALSE); } return (cp); From owner-svn-src-stable@freebsd.org Mon Mar 5 23:51:30 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5211CF352D4; Mon, 5 Mar 2018 23:51:30 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F182273DE2; Mon, 5 Mar 2018 23:51:29 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EC0612C97; Mon, 5 Mar 2018 23:51:29 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w25NpTOv080402; Mon, 5 Mar 2018 23:51:29 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w25NpT5x080401; Mon, 5 Mar 2018 23:51:29 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201803052351.w25NpT5x080401@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Mon, 5 Mar 2018 23:51:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330526 - stable/11/sys/amd64/acpica X-SVN-Group: stable-11 X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: stable/11/sys/amd64/acpica X-SVN-Commit-Revision: 330526 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 23:51:30 -0000 Author: jkim Date: Mon Mar 5 23:51:29 2018 New Revision: 330526 URL: https://svnweb.freebsd.org/changeset/base/330526 Log: MFC: r329889 Partially revert r197863 to reduce diff against i386. Modified: stable/11/sys/amd64/acpica/acpi_machdep.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/acpica/acpi_machdep.c ============================================================================== --- stable/11/sys/amd64/acpica/acpi_machdep.c Mon Mar 5 20:51:23 2018 (r330525) +++ stable/11/sys/amd64/acpica/acpi_machdep.c Mon Mar 5 23:51:29 2018 (r330526) @@ -61,6 +61,7 @@ acpi_machdep_init(device_t dev) sc = device_get_softc(dev); acpi_apm_init(sc); + acpi_install_wakeup_handler(sc); if (intr_model != ACPI_INTR_PIC) acpi_SetIntrModel(intr_model); @@ -347,20 +348,13 @@ nexus_acpi_probe(device_t dev) static int nexus_acpi_attach(device_t dev) { - device_t acpi_dev; - int error; nexus_init_resources(); bus_generic_probe(dev); - acpi_dev = BUS_ADD_CHILD(dev, 10, "acpi", 0); - if (acpi_dev == NULL) + if (BUS_ADD_CHILD(dev, 10, "acpi", 0) == NULL) panic("failed to add acpi0 device"); - error = bus_generic_attach(dev); - if (error == 0) - acpi_install_wakeup_handler(device_get_softc(acpi_dev)); - - return (error); + return (bus_generic_attach(dev)); } static device_method_t nexus_acpi_methods[] = { From owner-svn-src-stable@freebsd.org Tue Mar 6 03:14:31 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2C79F47926 for ; Tue, 6 Mar 2018 03:14:31 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-yw0-x22f.google.com (mail-yw0-x22f.google.com [IPv6:2607:f8b0:4002:c05::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D6A6E7DDC8 for ; Tue, 6 Mar 2018 03:14:30 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: by mail-yw0-x22f.google.com with SMTP id g198so6447494ywb.3 for ; Mon, 05 Mar 2018 19:14:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=tfnceKhelMDBxk6AHSAxeznShW+ukR5WeYPMWOTI3hY=; b=RRetPRTyAG6vow8KEIbHvbVmzwpMngWkaeT+t7Nw4dorVFogcDYBFJjHL6RygMcZZB n2n3mNR0NHVG7J5rEo+hnvY5BUlO4nPlHf2rsX0xf0gW5MNXb1TS0f0kC8y8dqHPe9OU U434Uce9GWnsfU8iyRYpvrZBmrvKuq8ceXJ8U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=tfnceKhelMDBxk6AHSAxeznShW+ukR5WeYPMWOTI3hY=; b=KHs5De9k7RrWOrjFbr7bO2kmdNDDL+hgki3WDQJc/g1QqrZsYNi5Tm8lvQiyGfWfJM 8Of6PFyr3b5SfAI3J2svJJqDDnWu4IgPLqvR6vB7HFXziA6gbvLWmXPsIp+9nWdYnESY UGapE4wJ1lEYhPTOU2A2xW8lzPBeb/r++n/M7Cl8Ipc1lqyh8aT94B8blDQ0wFpEa37G CWBIEfi611+Ff5A2tPmuLDNKeACO24uBXkOqBhlPFtjjFOKSEquJWMHlBbBOc8aU129J 83rnqa8dADfPmwKUHacuHbBu5edbHVsO51YmuaWiZltkJFFclGmA8RoAJHXmPmB2QPHu BnGQ== X-Gm-Message-State: AElRT7F+58FtVWv6QYs1pKuOdSYjZS3izKJe5Un7DFwSNfhpquoXrlUx y6ghAwy5B0KDkvaJrAEsaFkXRuClp9eBxFYAqFsrgA== X-Google-Smtp-Source: AG47ELuyYnRtLSNUYdgHIpdJR+e4mUim3WO0h6w+zkKoPCU+aibA+X6Z5K24Qpw+m4gkGs5FFLmjY2XWpLZQUInD4Nw= X-Received: by 10.13.214.214 with SMTP id y205mr10508798ywd.37.1520306070158; Mon, 05 Mar 2018 19:14:30 -0800 (PST) MIME-Version: 1.0 Sender: lists@eitanadler.com Received: by 2002:a25:23d2:0:0:0:0:0 with HTTP; Mon, 5 Mar 2018 19:13:59 -0800 (PST) In-Reply-To: <1861296.ksaTdANMae@ralph.baldwin.cx> References: <201803050754.w257swAE001435@repo.freebsd.org> <1861296.ksaTdANMae@ralph.baldwin.cx> From: Eitan Adler Date: Mon, 5 Mar 2018 19:13:59 -0800 X-Google-Sender-Auth: J7a39vVd4xhfAI8WzE9WwBXqTsM Message-ID: Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: John Baldwin Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 03:14:31 -0000 On 5 March 2018 at 10:08, John Baldwin wrote: > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote: >> Author: eadler >> Date: Mon Mar 5 07:54:57 2018 >> New Revision: 330451 >> URL: https://svnweb.freebsd.org/changeset/base/330451 >> >> Log: >> MFC r306837: >> >> [net80211] extend the ieee80211_rx_stats struct to include more information. > > Have you thought about the KBI implications of this change and some of the > other changes you've merged? I do have a copy of the modules from 11.1 and have loaded them at various points in time after merging. That said, I am not perfect. Unfortunately, my -STABLE box did not have fully functioning drivers before these changes so its difficult to test anything beyond "loads and does not panic.". I havn't done so today yet, but that will happen soon. Ensuring these things work through code inspection is certainly possible and I've skipped over several changes as a result. -- Eitan Adler Source, Ports, Doc committer Bugmeister, Ports Security teams From owner-svn-src-stable@freebsd.org Tue Mar 6 16:16:31 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 03ABBF3F27A; Tue, 6 Mar 2018 16:16: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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id AD6707DEF7; Tue, 6 Mar 2018 16:16: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 A3C7F15263; Tue, 6 Mar 2018 16:16: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 w26GGUMw075975; Tue, 6 Mar 2018 16:16:30 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w26GGUwl075974; Tue, 6 Mar 2018 16:16:30 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201803061616.w26GGUwl075974@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 6 Mar 2018 16:16:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330544 - stable/11/sys/vm X-SVN-Group: stable-11 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/11/sys/vm X-SVN-Commit-Revision: 330544 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 16:16:31 -0000 Author: markj Date: Tue Mar 6 16:16:30 2018 New Revision: 330544 URL: https://svnweb.freebsd.org/changeset/base/330544 Log: MFC r330075: Give the 0th domain's page daemon thread a consistent name. Modified: stable/11/sys/vm/vm_pageout.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/vm/vm_pageout.c ============================================================================== --- stable/11/sys/vm/vm_pageout.c Tue Mar 6 16:10:47 2018 (r330543) +++ stable/11/sys/vm/vm_pageout.c Tue Mar 6 16:16:30 2018 (r330544) @@ -1863,6 +1863,7 @@ vm_pageout(void) #endif swap_pager_swap_init(); + snprintf(curthread->td_name, sizeof(curthread->td_name), "dom0"); error = kthread_add(vm_pageout_laundry_worker, NULL, curproc, NULL, 0, 0, "laundry: dom0"); if (error != 0) From owner-svn-src-stable@freebsd.org Tue Mar 6 16:39:35 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4CC28F410FA; Tue, 6 Mar 2018 16:39:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A921B7F01E; Tue, 6 Mar 2018 16:39:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (ralph.baldwin.cx [66.234.199.215]) by mail.baldwin.cx (Postfix) with ESMTPSA id 3D30E10AC13; Tue, 6 Mar 2018 11:39:33 -0500 (EST) From: John Baldwin To: Eitan Adler Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 Date: Tue, 06 Mar 2018 08:26:43 -0800 Message-ID: <6465173.s2nWvWCLOs@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.1-STABLE; KDE/4.14.30; amd64; ; ) In-Reply-To: References: <201803050754.w257swAE001435@repo.freebsd.org> <1861296.ksaTdANMae@ralph.baldwin.cx> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Tue, 06 Mar 2018 11:39:33 -0500 (EST) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 16:39:35 -0000 On Monday, March 05, 2018 07:13:59 PM Eitan Adler wrote: > On 5 March 2018 at 10:08, John Baldwin wrote: > > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote: > >> Author: eadler > >> Date: Mon Mar 5 07:54:57 2018 > >> New Revision: 330451 > >> URL: https://svnweb.freebsd.org/changeset/base/330451 > >> > >> Log: > >> MFC r306837: > >> > >> [net80211] extend the ieee80211_rx_stats struct to include more information. > > > > Have you thought about the KBI implications of this change and some of the > > other changes you've merged? > > I do have a copy of the modules from 11.1 and have loaded them at > various points in time after merging. That said, I am not perfect. > Unfortunately, my -STABLE box did not have fully functioning drivers > before these changes so its difficult to test anything beyond "loads > and does not panic.". I havn't done so today yet, but that will happen > soon. > > Ensuring these things work through code inspection is certainly > possible and I've skipped over several changes as a result. Loading a module doesn't alone doesn't actually test for breakage. That only breaks if you remove symbols. Changing the semantics of how functions work or the layout of a structure that is passed between structures is an ABI change even if it doesn't change the function signature. In this case, this change inserts new fields and changes the size of 'struct ieee80211_rx_stats'. Thus if a otus(4) or iwm(4) driver built against the prior revision (330450) is used with a kernel built with this revision (330451), the driver will pass in an 'rxs' structure in a call to ieee80211_input_mimo() that is smaller, and in the first few lines of ieeee80211_input_mimo() these statements will overflow that pointer and read stack garbage: 85 int 86 ieee80211_input_mimo(struct ieee80211_node *ni, struct mbuf *m, 87 struct ieee80211_rx_stats *rx) 88 { 89 struct ieee80211_rx_stats rxs; 90 91 if (rx) { 92 memcpy(&rxs, rx, sizeof(*rx)); 93 } else { Furthermore, the now garbage 'rxs' (since fields in *rx are in different places so even the bits of 'rxs' that isn't stack garbage will be wrong) will now be used by other routines in net80211. Your next MFC commit then causes another ABI breakage as it removes the 'rx' parameter from the function. You can't do that. If you don't know how to recognize those types of ABI breakages, then you probably shouldn't be MFC'ing changes without getting some sort of review. It also tends to be a lot harder to find these breakages in code one didn't write. The fact that there are back-to-back ABI breakages also suggests that it is much better to consolidate MFCs into larger commits because you limit the amount of compatibilty ABI shims you have to provide. I think for net80211 you need to generate a diff of all of the wireless related changes you have MFC'd to stable/11 and then review that for ABI changes and come up with a plan for how to restore the ABI and get re@'s approval. (kib@ is a pretty good resource for devising ABI shims.) I think that going forward you shouldn't MFC changes if you aren't certain about the ABI implications until you have had someone review them. Batching up changes into a single diff is also helpful since if an API changes back and forth in HEAD multiple times, collapsing them means that for stable you may only need a single compat shim rather than several. -- John Baldwin From owner-svn-src-stable@freebsd.org Tue Mar 6 17:07:34 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6BF45F4369D; Tue, 6 Mar 2018 17:07:34 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1A997806E9; Tue, 6 Mar 2018 17:07:34 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 0F0CA16294; Tue, 6 Mar 2018 17:07:34 +0000 (UTC) Date: Tue, 6 Mar 2018 17:07:34 +0000 From: Alexey Dokuchaev To: John Baldwin Cc: Eitan Adler , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 Message-ID: <20180306170733.GA84985@FreeBSD.org> References: <201803050754.w257swAE001435@repo.freebsd.org> <1861296.ksaTdANMae@ralph.baldwin.cx> <6465173.s2nWvWCLOs@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6465173.s2nWvWCLOs@ralph.baldwin.cx> User-Agent: Mutt/1.9.2 (2017-12-15) X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 17:07:34 -0000 On Tue, Mar 06, 2018 at 08:26:43AM -0800, John Baldwin wrote: > The fact that there are back-to-back ABI breakages also suggests that it is > much better to consolidate MFCs into larger commits [...] +1. > I think that going forward you shouldn't MFC changes if you aren't certain > about the ABI implications until you have had someone review them. Batching > up changes into a single diff is also helpful since if an API changes back > and forth in HEAD multiple times, collapsing them means that for stable you > may only need a single compat shim rather than several. +1. ./danfe From owner-svn-src-stable@freebsd.org Tue Mar 6 23:12:33 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5C758F3849A; Tue, 6 Mar 2018 23:12:33 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 124F1709D6; Tue, 6 Mar 2018 23:12:33 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0D06319658; Tue, 6 Mar 2018 23:12:33 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w26NCWOw088646; Tue, 6 Mar 2018 23:12:32 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w26NCW4n088637; Tue, 6 Mar 2018 23:12:32 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201803062312.w26NCW4n088637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Tue, 6 Mar 2018 23:12:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330555 - stable/11/sys/dev/qlxgbe X-SVN-Group: stable-11 X-SVN-Commit-Author: davidcs X-SVN-Commit-Paths: stable/11/sys/dev/qlxgbe X-SVN-Commit-Revision: 330555 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 23:12:33 -0000 Author: davidcs Date: Tue Mar 6 23:12:32 2018 New Revision: 330555 URL: https://svnweb.freebsd.org/changeset/base/330555 Log: MFC r329855 1. Added support to offline a port if is error recovery on successful. 2. Sysctls to enable/disable driver_state_dump and error_recovery. 3. Sysctl to control the delay between hw/fw reinitialization and restarting the fastpath. 4. Stop periodic stats retrieval if interface has IFF_DRV_RUNNING flag off. 5. Print contents of PEG_HALT_STATUS1 and PEG_HALT_STATUS2 on heartbeat failure. 6. Speed up slowpath shutdown during error recovery. 7. link_state update using atomic_store. 8. Added timestamp information on driver state and minidump captures. 9. Added support for Slowpath event logging 10.Added additional failure injection types to simulate failures. Modified: stable/11/sys/dev/qlxgbe/ql_dbg.h stable/11/sys/dev/qlxgbe/ql_def.h stable/11/sys/dev/qlxgbe/ql_glbl.h stable/11/sys/dev/qlxgbe/ql_hw.c stable/11/sys/dev/qlxgbe/ql_hw.h stable/11/sys/dev/qlxgbe/ql_inline.h stable/11/sys/dev/qlxgbe/ql_ioctl.c stable/11/sys/dev/qlxgbe/ql_ioctl.h stable/11/sys/dev/qlxgbe/ql_isr.c stable/11/sys/dev/qlxgbe/ql_misc.c stable/11/sys/dev/qlxgbe/ql_os.c stable/11/sys/dev/qlxgbe/ql_os.h stable/11/sys/dev/qlxgbe/ql_ver.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/qlxgbe/ql_dbg.h ============================================================================== --- stable/11/sys/dev/qlxgbe/ql_dbg.h Tue Mar 6 22:45:45 2018 (r330554) +++ stable/11/sys/dev/qlxgbe/ql_dbg.h Tue Mar 6 23:12:32 2018 (r330555) @@ -42,17 +42,21 @@ extern void ql_dump_buf16(qla_host_t *ha, const char * extern void ql_dump_buf32(qla_host_t *ha, const char *str, void *dbuf, uint32_t len32); -#define INJCT_RX_RXB_INVAL 0x00001 -#define INJCT_RX_MP_NULL 0x00002 -#define INJCT_LRO_RXB_INVAL 0x00003 -#define INJCT_LRO_MP_NULL 0x00004 -#define INJCT_NUM_HNDLE_INVALID 0x00005 -#define INJCT_RDWR_INDREG_FAILURE 0x00006 -#define INJCT_RDWR_OFFCHIPMEM_FAILURE 0x00007 -#define INJCT_MBX_CMD_FAILURE 0x00008 -#define INJCT_HEARTBEAT_FAILURE 0x00009 -#define INJCT_TEMPERATURE_FAILURE 0x0000A -#define INJCT_M_GETCL_M_GETJCL_FAILURE 0x0000B +#define INJCT_RX_RXB_INVAL 0x00001 +#define INJCT_RX_MP_NULL 0x00002 +#define INJCT_LRO_RXB_INVAL 0x00003 +#define INJCT_LRO_MP_NULL 0x00004 +#define INJCT_NUM_HNDLE_INVALID 0x00005 +#define INJCT_RDWR_INDREG_FAILURE 0x00006 +#define INJCT_RDWR_OFFCHIPMEM_FAILURE 0x00007 +#define INJCT_MBX_CMD_FAILURE 0x00008 +#define INJCT_HEARTBEAT_FAILURE 0x00009 +#define INJCT_TEMPERATURE_FAILURE 0x0000A +#define INJCT_M_GETCL_M_GETJCL_FAILURE 0x0000B +#define INJCT_INV_CONT_OPCODE 0x0000C +#define INJCT_SGL_RCV_INV_DESC_COUNT 0x0000D +#define INJCT_SGL_LRO_INV_DESC_COUNT 0x0000E +#define INJCT_PEER_PORT_FAILURE_ERR_RECOVERY 0x0000F #ifdef QL_DBG Modified: stable/11/sys/dev/qlxgbe/ql_def.h ============================================================================== --- stable/11/sys/dev/qlxgbe/ql_def.h Tue Mar 6 22:45:45 2018 (r330554) +++ stable/11/sys/dev/qlxgbe/ql_def.h Tue Mar 6 23:12:32 2018 (r330555) @@ -144,12 +144,12 @@ struct qla_host { volatile uint32_t qla_watchdog_paused; volatile uint32_t qla_initiate_recovery; volatile uint32_t qla_detach_active; + volatile uint32_t offline; device_t pci_dev; - uint16_t watchdog_ticks; + volatile uint16_t watchdog_ticks; uint8_t pci_func; - uint8_t resvd; /* ioctl related */ struct cdev *ioctl_dev; @@ -182,6 +182,7 @@ struct qla_host { /* hardware access lock */ + struct mtx sp_log_lock; struct mtx hw_lock; volatile uint32_t hw_lock_held; uint64_t hw_lock_failed; @@ -239,6 +240,9 @@ struct qla_host { volatile const char *qla_unlock; uint32_t dbg_level; uint32_t enable_minidump; + uint32_t enable_driverstate_dump; + uint32_t enable_error_recovery; + uint32_t ms_delay_after_init; uint8_t fw_ver_str[32]; @@ -272,5 +276,7 @@ typedef struct qla_host qla_host_t; #define QL_MAC_CMP(mac1, mac2) \ ((((*(uint32_t *) mac1) == (*(uint32_t *) mac2) && \ (*(uint16_t *)(mac1 + 4)) == (*(uint16_t *)(mac2 + 4)))) ? 0 : 1) + +#define QL_INITIATE_RECOVERY(ha) qla_set_error_recovery(ha) #endif /* #ifndef _QL_DEF_H_ */ Modified: stable/11/sys/dev/qlxgbe/ql_glbl.h ============================================================================== --- stable/11/sys/dev/qlxgbe/ql_glbl.h Tue Mar 6 22:45:45 2018 (r330554) +++ stable/11/sys/dev/qlxgbe/ql_glbl.h Tue Mar 6 23:12:32 2018 (r330555) @@ -47,6 +47,7 @@ extern uint32_t ql_rcv_isr(qla_host_t *ha, uint32_t sd extern int ql_alloc_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf); extern void ql_free_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf); extern int ql_get_mbuf(qla_host_t *ha, qla_rx_buf_t *rxb, struct mbuf *nmp); +extern void qla_set_error_recovery(qla_host_t *ha); /* * from ql_hw.c @@ -115,5 +116,11 @@ extern unsigned int ql83xx_minidump_len; extern void ql_alloc_drvr_state_buffer(qla_host_t *ha); extern void ql_free_drvr_state_buffer(qla_host_t *ha); extern void ql_capture_drvr_state(qla_host_t *ha); +extern void ql_sp_log(qla_host_t *ha, uint16_t fmtstr_idx, uint16_t num_params, + uint32_t param0, uint32_t param1, uint32_t param2, + uint32_t param3, uint32_t param4); +extern void ql_alloc_sp_log_buffer(qla_host_t *ha); +extern void ql_free_sp_log_buffer(qla_host_t *ha); + #endif /* #ifndef_QL_GLBL_H_ */ Modified: stable/11/sys/dev/qlxgbe/ql_hw.c ============================================================================== --- stable/11/sys/dev/qlxgbe/ql_hw.c Tue Mar 6 22:45:45 2018 (r330554) +++ stable/11/sys/dev/qlxgbe/ql_hw.c Tue Mar 6 23:12:32 2018 (r330555) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); static void qla_del_rcv_cntxt(qla_host_t *ha); static int qla_init_rcv_cntxt(qla_host_t *ha); -static void qla_del_xmt_cntxt(qla_host_t *ha); +static int qla_del_xmt_cntxt(qla_host_t *ha); static int qla_init_xmt_cntxt(qla_host_t *ha); static int qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t n_hmbox, uint32_t *fw_mbox, uint32_t n_fwmbox, uint32_t no_pause); @@ -647,11 +647,118 @@ qlnx_add_hw_xmt_stats_sysctls(qla_host_t *ha) } static void +qlnx_add_hw_mbx_cmpl_stats_sysctls(qla_host_t *ha) +{ + struct sysctl_ctx_list *ctx; + struct sysctl_oid_list *node_children; + + ctx = device_get_sysctl_ctx(ha->pci_dev); + node_children = SYSCTL_CHILDREN(device_get_sysctl_tree(ha->pci_dev)); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_lt_200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[0], + "mbx_completion_time_lt_200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_200ms_400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[1], + "mbx_completion_time_200ms_400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_400ms_600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[2], + "mbx_completion_time_400ms_600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_600ms_800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[3], + "mbx_completion_time_600ms_800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_800ms_1000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[4], + "mbx_completion_time_800ms_1000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1000ms_1200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[5], + "mbx_completion_time_1000ms_1200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1200ms_1400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[6], + "mbx_completion_time_1200ms_1400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1400ms_1600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[7], + "mbx_completion_time_1400ms_1600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1600ms_1800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[8], + "mbx_completion_time_1600ms_1800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1800ms_2000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[9], + "mbx_completion_time_1800ms_2000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2000ms_2200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[10], + "mbx_completion_time_2000ms_2200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2200ms_2400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[11], + "mbx_completion_time_2200ms_2400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2400ms_2600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[12], + "mbx_completion_time_2400ms_2600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2600ms_2800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[13], + "mbx_completion_time_2600ms_2800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2800ms_3000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[14], + "mbx_completion_time_2800ms_3000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_3000ms_4000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[15], + "mbx_completion_time_3000ms_4000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_4000ms_5000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[16], + "mbx_completion_time_4000ms_5000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_host_mbx_cntrl_timeout", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[17], + "mbx_completion_host_mbx_cntrl_timeout"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_fw_mbx_cntrl_timeout", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[18], + "mbx_completion_fw_mbx_cntrl_timeout"); + return; +} + +static void qlnx_add_hw_stats_sysctls(qla_host_t *ha) { qlnx_add_hw_mac_stats_sysctls(ha); qlnx_add_hw_rcv_stats_sysctls(ha); qlnx_add_hw_xmt_stats_sysctls(ha); + qlnx_add_hw_mbx_cmpl_stats_sysctls(ha); return; } @@ -918,6 +1025,30 @@ ql_hw_add_sysctls(qla_host_t *ha) "\t Any change requires ifconfig down/up to take effect\n" "\t Note that LRO may be turned off/on via ifconfig\n"); + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_index", CTLFLAG_RW, &ha->hw.sp_log_index, + ha->hw.sp_log_index, "sp_log_index"); + + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_stop", CTLFLAG_RW, &ha->hw.sp_log_stop, + ha->hw.sp_log_stop, "sp_log_stop"); + + ha->hw.sp_log_stop_events = 0; + + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_stop_events", CTLFLAG_RW, + &ha->hw.sp_log_stop_events, + ha->hw.sp_log_stop_events, "Slow path event log is stopped" + " when OR of the following events occur \n" + "\t 0x01 : Heart beat Failure\n" + "\t 0x02 : Temperature Failure\n" + "\t 0x04 : HW Initialization Failure\n" + "\t 0x08 : Interface Initialization Failure\n" + "\t 0x10 : Error Recovery Failure\n"); + ha->hw.mdump_active = 0; SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), @@ -998,13 +1129,13 @@ ql_hw_link_status(qla_host_t *ha) device_printf(ha->pci_dev, "link Down\n"); } - if (ha->hw.flags.fduplex) { + if (ha->hw.fduplex) { device_printf(ha->pci_dev, "Full Duplex\n"); } else { device_printf(ha->pci_dev, "Half Duplex\n"); } - if (ha->hw.flags.autoneg) { + if (ha->hw.autoneg) { device_printf(ha->pci_dev, "Auto Negotiation Enabled\n"); } else { device_printf(ha->pci_dev, "Auto Negotiation Disabled\n"); @@ -1255,19 +1386,39 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t uint32_t i; uint32_t data; int ret = 0; + uint64_t start_usecs; + uint64_t end_usecs; + uint64_t msecs_200; - if (QL_ERR_INJECT(ha, INJCT_MBX_CMD_FAILURE)) { + ql_sp_log(ha, 0, 5, no_pause, h_mbox[0], h_mbox[1], h_mbox[2], h_mbox[3]); + + if (ha->offline || ha->qla_initiate_recovery) { + ql_sp_log(ha, 1, 2, ha->offline, ha->qla_initiate_recovery, 0, 0, 0); + goto exit_qla_mbx_cmd; + } + + if (((ha->err_inject & 0xFFFF) == INJCT_MBX_CMD_FAILURE) && + (((ha->err_inject & ~0xFFFF) == ((h_mbox[0] & 0xFFFF) << 16))|| + !(ha->err_inject & ~0xFFFF))) { ret = -3; - ha->qla_initiate_recovery = 1; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } + start_usecs = qla_get_usec_timestamp(); + if (no_pause) i = 1000; else i = Q8_MBX_MSEC_DELAY; while (i) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 2, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + data = READ_REG32(ha, Q8_HOST_MBOX_CNTRL); if (data == 0) break; @@ -1282,8 +1433,10 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t if (i == 0) { device_printf(ha->pci_dev, "%s: host_mbx_cntrl 0x%08x\n", __func__, data); + ql_sp_log(ha, 3, 1, data, 0, 0, 0, 0); ret = -1; - ha->qla_initiate_recovery = 1; + ha->hw.mbx_comp_msecs[(Q8_MBX_COMP_MSECS - 2)]++; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } @@ -1297,6 +1450,12 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t i = Q8_MBX_MSEC_DELAY; while (i) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 4, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + data = READ_REG32(ha, Q8_FW_MBOX_CNTRL); if ((data & 0x3) == 1) { @@ -1314,18 +1473,44 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t if (i == 0) { device_printf(ha->pci_dev, "%s: fw_mbx_cntrl 0x%08x\n", __func__, data); + ql_sp_log(ha, 5, 1, data, 0, 0, 0, 0); ret = -2; - ha->qla_initiate_recovery = 1; + ha->hw.mbx_comp_msecs[(Q8_MBX_COMP_MSECS - 1)]++; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } for (i = 0; i < n_fwmbox; i++) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 6, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + *fw_mbox++ = READ_REG32(ha, (Q8_FW_MBOX0 + (i << 2))); } WRITE_REG32(ha, Q8_FW_MBOX_CNTRL, 0x0); WRITE_REG32(ha, ha->hw.mbx_intr_mask_offset, 0x0); + end_usecs = qla_get_usec_timestamp(); + + if (end_usecs > start_usecs) { + msecs_200 = (end_usecs - start_usecs)/(1000 * 200); + + if (msecs_200 < 15) + ha->hw.mbx_comp_msecs[msecs_200]++; + else if (msecs_200 < 20) + ha->hw.mbx_comp_msecs[15]++; + else { + device_printf(ha->pci_dev, "%s: [%ld, %ld] %ld\n", __func__, + start_usecs, end_usecs, msecs_200); + ha->hw.mbx_comp_msecs[16]++; + } + } + ql_sp_log(ha, 7, 5, fw_mbox[0], fw_mbox[1], fw_mbox[2], fw_mbox[3], fw_mbox[4]); + + exit_qla_mbx_cmd: return (ret); } @@ -1401,7 +1586,8 @@ qla_config_intr_cntxt(qla_host_t *ha, uint32_t start_i if (qla_mbx_cmd(ha, (uint32_t *)c_intr, (sizeof (q80_config_intr_t) >> 2), ha->hw.mbox, (sizeof (q80_config_intr_rsp_t) >> 2), 0)) { - device_printf(dev, "%s: failed0\n", __func__); + device_printf(dev, "%s: %s failed0\n", __func__, + (create ? "create" : "delete")); return (-1); } @@ -1410,8 +1596,8 @@ qla_config_intr_cntxt(qla_host_t *ha, uint32_t start_i err = Q8_MBX_RSP_STATUS(c_intr_rsp->regcnt_status); if (err) { - device_printf(dev, "%s: failed1 [0x%08x, %d]\n", __func__, err, - c_intr_rsp->nentries); + device_printf(dev, "%s: %s failed1 [0x%08x, %d]\n", __func__, + (create ? "create" : "delete"), err, c_intr_rsp->nentries); for (i = 0; i < c_intr_rsp->nentries; i++) { device_printf(dev, "%s: [%d]:[0x%x 0x%x 0x%x]\n", @@ -2015,7 +2201,8 @@ ql_get_stats(qla_host_t *ha) cmd |= ((ha->pci_func & 0x1) << 16); - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; if (qla_get_hw_stats(ha, cmd, sizeof (q80_get_stats_rsp_t)) == 0) { @@ -2032,7 +2219,8 @@ ql_get_stats(qla_host_t *ha) // cmd |= Q8_GET_STATS_CMD_CLEAR; cmd |= (ha->hw.rcv_cntxt_id << 16); - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; if (qla_get_hw_stats(ha, cmd, sizeof (q80_get_stats_rsp_t)) == 0) { @@ -2043,13 +2231,18 @@ ql_get_stats(qla_host_t *ha) __func__, ha->hw.mbox[0]); } - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; /* * Get XMT Statistics */ - for (i = 0 ; ((i < ha->hw.num_tx_rings) && (!ha->qla_watchdog_pause)); - i++) { + for (i = 0 ; (i < ha->hw.num_tx_rings); i++) { + if (ha->qla_watchdog_pause || + (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) + goto ql_get_stats_exit; + cmd = Q8_GET_STATS_CMD_XMT | Q8_GET_STATS_CMD_TYPE_CNTXT; // cmd |= Q8_GET_STATS_CMD_CLEAR; cmd |= (ha->hw.tx_cntxt[i].tx_cntxt_id << 16); @@ -2679,7 +2872,8 @@ ql_del_hw_if(qla_host_t *ha) qla_del_rcv_cntxt(ha); - qla_del_xmt_cntxt(ha); + if(qla_del_xmt_cntxt(ha)) + goto ql_del_hw_if_exit; if (ha->hw.flags.init_intr_cnxt) { for (i = 0; i < ha->hw.num_sds_rings; ) { @@ -2688,14 +2882,17 @@ ql_del_hw_if(qla_host_t *ha) num_msix = Q8_MAX_INTR_VECTORS; else num_msix = ha->hw.num_sds_rings - i; - qla_config_intr_cntxt(ha, i, num_msix, 0); + if (qla_config_intr_cntxt(ha, i, num_msix, 0)) + break; + i += num_msix; } ha->hw.flags.init_intr_cnxt = 0; } +ql_del_hw_if_exit: if (ha->hw.enable_soft_lro) { qla_drain_soft_lro(ha); qla_free_soft_lro(ha); @@ -3328,19 +3525,22 @@ qla_del_xmt_cntxt_i(qla_host_t *ha, uint32_t txr_idx) return (0); } -static void +static int qla_del_xmt_cntxt(qla_host_t *ha) { uint32_t i; + int ret = 0; if (!ha->hw.flags.init_tx_cnxt) - return; + return (ret); for (i = 0; i < ha->hw.num_tx_rings; i++) { - if (qla_del_xmt_cntxt_i(ha, i)) + if ((ret = qla_del_xmt_cntxt_i(ha, i)) != 0) break; } ha->hw.flags.init_tx_cnxt = 0; + + return (ret); } static int @@ -3350,8 +3550,10 @@ qla_init_xmt_cntxt(qla_host_t *ha) for (i = 0; i < ha->hw.num_tx_rings; i++) { if (qla_init_xmt_cntxt_i(ha, i) != 0) { - for (j = 0; j < i; j++) - qla_del_xmt_cntxt_i(ha, j); + for (j = 0; j < i; j++) { + if (qla_del_xmt_cntxt_i(ha, j)) + break; + } return (-1); } } @@ -3627,22 +3829,23 @@ ql_hw_tx_done_locked(qla_host_t *ha, uint32_t txr_idx) void ql_update_link_state(qla_host_t *ha) { - uint32_t link_state; + uint32_t link_state = 0; uint32_t prev_link_state; - if (!(ha->ifp->if_drv_flags & IFF_DRV_RUNNING)) { - ha->hw.link_up = 0; - return; - } - link_state = READ_REG32(ha, Q8_LINK_STATE); - prev_link_state = ha->hw.link_up; - if (ha->pci_func == 0) - ha->hw.link_up = (((link_state & 0xF) == 1)? 1 : 0); - else - ha->hw.link_up = ((((link_state >> 4)& 0xF) == 1)? 1 : 0); + if (ha->ifp->if_drv_flags & IFF_DRV_RUNNING) { + link_state = READ_REG32(ha, Q8_LINK_STATE); + if (ha->pci_func == 0) { + link_state = (((link_state & 0xF) == 1)? 1 : 0); + } else { + link_state = ((((link_state >> 4)& 0xF) == 1)? 1 : 0); + } + } + + atomic_store_rel_8(&ha->hw.link_up, (uint8_t)link_state); + if (prev_link_state != ha->hw.link_up) { if (ha->hw.link_up) { if_link_state_change(ha->ifp, LINK_STATE_UP); @@ -3669,8 +3872,14 @@ ql_hw_check_health(qla_host_t *ha) if (((val & 0xFFFF) == 2) || ((val & 0xFFFF) == 3) || (QL_ERR_INJECT(ha, INJCT_TEMPERATURE_FAILURE))) { - device_printf(ha->pci_dev, "%s: Temperature Alert [0x%08x]\n", - __func__, val); + device_printf(ha->pci_dev, "%s: Temperature Alert" + " at ts_usecs %ld ts_reg = 0x%08x\n", + __func__, qla_get_usec_timestamp(), val); + + if (ha->hw.sp_log_stop_events & Q8_SP_LOG_STOP_TEMP_FAILURE) + ha->hw.sp_log_stop = -1; + + QL_INITIATE_RECOVERY(ha); return -1; } @@ -3691,10 +3900,26 @@ ql_hw_check_health(qla_host_t *ha) __func__, val); if (ha->hw.hbeat_failure < 2) /* we ignore the first failure */ return 0; - else - device_printf(ha->pci_dev, "%s: Heartbeat Failue [0x%08x]\n", - __func__, val); + else { + uint32_t peg_halt_status1; + uint32_t peg_halt_status2; + peg_halt_status1 = READ_REG32(ha, Q8_PEG_HALT_STATUS1); + peg_halt_status2 = READ_REG32(ha, Q8_PEG_HALT_STATUS2); + + device_printf(ha->pci_dev, + "%s: Heartbeat Failue at ts_usecs = %ld " + "fw_heart_beat = 0x%08x " + "peg_halt_status1 = 0x%08x " + "peg_halt_status2 = 0x%08x\n", + __func__, qla_get_usec_timestamp(), val, + peg_halt_status1, peg_halt_status2); + + if (ha->hw.sp_log_stop_events & Q8_SP_LOG_STOP_HBEAT_FAILURE) + ha->hw.sp_log_stop = -1; + } + QL_INITIATE_RECOVERY(ha); + return -1; } @@ -4429,8 +4654,8 @@ ql_minidump(qla_host_t *ha) if (ha->hw.mdump_done) return; - - ha->hw.mdump_start_seq_index = ql_stop_sequence(ha); + ha->hw.mdump_usec_ts = qla_get_usec_timestamp(); + ha->hw.mdump_start_seq_index = ql_stop_sequence(ha); bzero(ha->hw.mdump_buffer, ha->hw.mdump_buffer_size); bzero(ha->hw.mdump_template, ha->hw.mdump_template_size); Modified: stable/11/sys/dev/qlxgbe/ql_hw.h ============================================================================== --- stable/11/sys/dev/qlxgbe/ql_hw.h Tue Mar 6 22:45:45 2018 (r330554) +++ stable/11/sys/dev/qlxgbe/ql_hw.h Tue Mar 6 23:12:32 2018 (r330555) @@ -1600,26 +1600,26 @@ typedef struct _qla_hw { uint32_t unicast_mac :1, bcast_mac :1, - loopback_mode :2, init_tx_cnxt :1, init_rx_cnxt :1, init_intr_cnxt :1, - fduplex :1, - autoneg :1, fdt_valid :1; } flags; - uint16_t link_speed; - uint16_t cable_length; - uint32_t cable_oui; - uint8_t link_up; - uint8_t module_type; - uint8_t link_faults; + volatile uint16_t link_speed; + volatile uint16_t cable_length; + volatile uint32_t cable_oui; + volatile uint8_t link_up; + volatile uint8_t module_type; + volatile uint8_t link_faults; + volatile uint8_t loopback_mode; + volatile uint8_t fduplex; + volatile uint8_t autoneg; - uint8_t mac_rcv_mode; + volatile uint8_t mac_rcv_mode; - uint32_t max_mtu; + volatile uint32_t max_mtu; uint8_t mac_addr[ETHER_ADDR_LEN]; @@ -1703,9 +1703,25 @@ typedef struct _qla_hw { uint32_t mdump_buffer_size; void *mdump_template; uint32_t mdump_template_size; + uint64_t mdump_usec_ts; +#define Q8_MBX_COMP_MSECS (19) + uint64_t mbx_comp_msecs[Q8_MBX_COMP_MSECS]; /* driver state related */ void *drvr_state; + + /* slow path trace */ + uint32_t sp_log_stop_events; +#define Q8_SP_LOG_STOP_HBEAT_FAILURE 0x001 +#define Q8_SP_LOG_STOP_TEMP_FAILURE 0x002 +#define Q8_SP_LOG_STOP_HW_INIT_FAILURE 0x004 +#define Q8_SP_LOG_STOP_IF_START_FAILURE 0x008 +#define Q8_SP_LOG_STOP_ERR_RECOVERY_FAILURE 0x010 + + uint32_t sp_log_stop; + uint32_t sp_log_index; + uint32_t sp_log_num_entries; + void *sp_log; } qla_hw_t; #define QL_UPDATE_RDS_PRODUCER_INDEX(ha, prod_reg, val) \ Modified: stable/11/sys/dev/qlxgbe/ql_inline.h ============================================================================== --- stable/11/sys/dev/qlxgbe/ql_inline.h Tue Mar 6 22:45:45 2018 (r330554) +++ stable/11/sys/dev/qlxgbe/ql_inline.h Tue Mar 6 23:12:32 2018 (r330555) @@ -166,7 +166,7 @@ qla_lock(qla_host_t *ha, const char *str, uint32_t tim while (1) { mtx_lock(&ha->hw_lock); - if (ha->qla_detach_active) { + if (ha->qla_detach_active || ha->offline) { mtx_unlock(&ha->hw_lock); break; } @@ -191,7 +191,10 @@ qla_lock(qla_host_t *ha, const char *str, uint32_t tim } } - //device_printf(ha->pci_dev, "%s: %s ret = %d\n", __func__, str,ret); +// if (!ha->enable_error_recovery) +// device_printf(ha->pci_dev, "%s: %s ret = %d\n", __func__, +// str,ret); + return (ret); } @@ -202,7 +205,9 @@ qla_unlock(qla_host_t *ha, const char *str) ha->hw_lock_held = 0; ha->qla_unlock = str; mtx_unlock(&ha->hw_lock); - //device_printf(ha->pci_dev, "%s: %s\n", __func__, str); + +// if (!ha->enable_error_recovery) +// device_printf(ha->pci_dev, "%s: %s\n", __func__, str); return; } Modified: stable/11/sys/dev/qlxgbe/ql_ioctl.c ============================================================================== --- stable/11/sys/dev/qlxgbe/ql_ioctl.c Tue Mar 6 22:45:45 2018 (r330554) +++ stable/11/sys/dev/qlxgbe/ql_ioctl.c Tue Mar 6 23:12:32 2018 (r330555) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include "ql_ver.h" #include "ql_dbg.h" +static int ql_slowpath_log(qla_host_t *ha, qla_sp_log_t *log); static int ql_drvr_state(qla_host_t *ha, qla_driver_state_t *drvr_state); static uint32_t ql_drvr_state_size(qla_host_t *ha); static int ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, @@ -224,6 +225,7 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, case QLA_RD_FW_DUMP: if (ha->hw.mdump_init == 0) { + device_printf(pci_dev, "%s: minidump not initialized\n", __func__); rval = EINVAL; break; } @@ -233,45 +235,85 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, if ((fw_dump->minidump == NULL) || (fw_dump->minidump_size != (ha->hw.mdump_buffer_size + ha->hw.mdump_template_size))) { + device_printf(pci_dev, + "%s: minidump buffer [%p] size = [%d, %d] invalid\n", __func__, + fw_dump->minidump, fw_dump->minidump_size, + (ha->hw.mdump_buffer_size + ha->hw.mdump_template_size)); rval = EINVAL; break; } - if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { - if (!ha->hw.mdump_done) - ha->qla_initiate_recovery = 1; - QLA_UNLOCK(ha, __func__); - } else { + if ((ha->pci_func & 0x1)) { + device_printf(pci_dev, "%s: mindump allowed only on Port0\n", __func__); rval = ENXIO; break; } + + fw_dump->saved = 1; + + if (ha->offline) { + + if (ha->enable_minidump) + ql_minidump(ha); + + fw_dump->saved = 0; + fw_dump->usec_ts = ha->hw.mdump_usec_ts; + + if (!ha->hw.mdump_done) { + device_printf(pci_dev, + "%s: port offline minidump failed\n", __func__); + rval = ENXIO; + break; + } + } else { + + if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { + if (!ha->hw.mdump_done) { + fw_dump->saved = 0; + QL_INITIATE_RECOVERY(ha); + device_printf(pci_dev, "%s: recovery initiated " + " to trigger minidump\n", + __func__); + } + QLA_UNLOCK(ha, __func__); + } else { + device_printf(pci_dev, "%s: QLA_LOCK() failed0\n", __func__); + rval = ENXIO; + break; + } #define QLNX_DUMP_WAIT_SECS 30 - count = QLNX_DUMP_WAIT_SECS * 1000; + count = QLNX_DUMP_WAIT_SECS * 1000; - while (count) { - if (ha->hw.mdump_done) - break; - qla_mdelay(__func__, 100); - count -= 100; - } + while (count) { + if (ha->hw.mdump_done) + break; + qla_mdelay(__func__, 100); + count -= 100; + } - if (!ha->hw.mdump_done) { - rval = ENXIO; - break; - } + if (!ha->hw.mdump_done) { + device_printf(pci_dev, + "%s: port not offline minidump failed\n", __func__); + rval = ENXIO; + break; + } + fw_dump->usec_ts = ha->hw.mdump_usec_ts; - if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { - ha->hw.mdump_done = 0; - QLA_UNLOCK(ha, __func__); - } else { - rval = ENXIO; - break; + if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { + ha->hw.mdump_done = 0; + QLA_UNLOCK(ha, __func__); + } else { + device_printf(pci_dev, "%s: QLA_LOCK() failed1\n", __func__); + rval = ENXIO; + break; + } } if ((rval = copyout(ha->hw.mdump_template, fw_dump->minidump, ha->hw.mdump_template_size))) { + device_printf(pci_dev, "%s: template copyout failed\n", __func__); rval = ENXIO; break; } @@ -279,14 +321,20 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, if ((rval = copyout(ha->hw.mdump_buffer, ((uint8_t *)fw_dump->minidump + ha->hw.mdump_template_size), - ha->hw.mdump_buffer_size))) + ha->hw.mdump_buffer_size))) { + device_printf(pci_dev, "%s: minidump copyout failed\n", __func__); rval = ENXIO; + } break; case QLA_RD_DRVR_STATE: rval = ql_drvr_state(ha, (qla_driver_state_t *)data); break; + case QLA_RD_SLOWPATH_LOG: + rval = ql_slowpath_log(ha, (qla_sp_log_t *)data); + break; + case QLA_RD_PCI_IDS: pci_ids = (qla_rd_pci_ids_t *)data; pci_ids->ven_id = pci_get_vendor(pci_dev); @@ -304,12 +352,12 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, } + static int ql_drvr_state(qla_host_t *ha, qla_driver_state_t *state) { int rval = 0; uint32_t drvr_state_size; - qla_drvr_state_hdr_t *hdr; drvr_state_size = ql_drvr_state_size(ha); @@ -324,11 +372,8 @@ ql_drvr_state(qla_host_t *ha, qla_driver_state_t *stat if (ha->hw.drvr_state == NULL) return (ENOMEM); - hdr = ha->hw.drvr_state; + ql_capture_drvr_state(ha); - if (!hdr->drvr_version_major) - ql_capture_drvr_state(ha); - rval = copyout(ha->hw.drvr_state, state->buffer, drvr_state_size); bzero(ha->hw.drvr_state, drvr_state_size); @@ -416,22 +461,26 @@ ql_capture_drvr_state(qla_host_t *ha) { uint8_t *state_buffer; uint8_t *ptr; - uint32_t drvr_state_size; qla_drvr_state_hdr_t *hdr; uint32_t size; int i; - drvr_state_size = ql_drvr_state_size(ha); - state_buffer = ha->hw.drvr_state; if (state_buffer == NULL) return; - - bzero(state_buffer, drvr_state_size); hdr = (qla_drvr_state_hdr_t *)state_buffer; + + hdr->saved = 0; + if (hdr->drvr_version_major) { + hdr->saved = 1; + return; + } + + hdr->usec_ts = qla_get_usec_timestamp(); + hdr->drvr_version_major = QLA_VERSION_MAJOR; hdr->drvr_version_minor = QLA_VERSION_MINOR; hdr->drvr_version_build = QLA_VERSION_BUILD; @@ -512,6 +561,9 @@ ql_alloc_drvr_state_buffer(qla_host_t *ha) ha->hw.drvr_state = malloc(drvr_state_size, M_QLA83XXBUF, M_NOWAIT); + if (ha->hw.drvr_state != NULL) + bzero(ha->hw.drvr_state, drvr_state_size); + return; } @@ -521,5 +573,95 @@ ql_free_drvr_state_buffer(qla_host_t *ha) if (ha->hw.drvr_state != NULL) free(ha->hw.drvr_state, M_QLA83XXBUF); return; +} + +void +ql_sp_log(qla_host_t *ha, uint16_t fmtstr_idx, uint16_t num_params, + uint32_t param0, uint32_t param1, uint32_t param2, uint32_t param3, + uint32_t param4) +{ + qla_sp_log_entry_t *sp_e, *sp_log; + + if (((sp_log = ha->hw.sp_log) == NULL) || ha->hw.sp_log_stop) + return; + + mtx_lock(&ha->sp_log_lock); + + sp_e = &sp_log[ha->hw.sp_log_index]; + + bzero(sp_e, sizeof (qla_sp_log_entry_t)); + + sp_e->fmtstr_idx = fmtstr_idx; + sp_e->num_params = num_params; + + sp_e->usec_ts = qla_get_usec_timestamp(); + + sp_e->params[0] = param0; + sp_e->params[1] = param1; + sp_e->params[2] = param2; + sp_e->params[3] = param3; + sp_e->params[4] = param4; + + ha->hw.sp_log_index = (ha->hw.sp_log_index + 1) & (NUM_LOG_ENTRIES - 1); + + if (ha->hw.sp_log_num_entries < NUM_LOG_ENTRIES) + ha->hw.sp_log_num_entries++; + + mtx_unlock(&ha->sp_log_lock); + + return; +} + +void +ql_alloc_sp_log_buffer(qla_host_t *ha) +{ + uint32_t size; + + size = (sizeof(qla_sp_log_entry_t)) * NUM_LOG_ENTRIES; + + ha->hw.sp_log = malloc(size, M_QLA83XXBUF, M_NOWAIT); + + if (ha->hw.sp_log != NULL) + bzero(ha->hw.sp_log, size); + + ha->hw.sp_log_index = 0; + ha->hw.sp_log_num_entries = 0; + + return; +} + +void +ql_free_sp_log_buffer(qla_host_t *ha) +{ + if (ha->hw.sp_log != NULL) + free(ha->hw.sp_log, M_QLA83XXBUF); + return; +} + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable@freebsd.org Tue Mar 6 23:17:57 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 88700F38AD7; Tue, 6 Mar 2018 23:17:57 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3A58670C93; Tue, 6 Mar 2018 23:17:57 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1675E1966D; Tue, 6 Mar 2018 23:17:57 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w26NHv1E088880; Tue, 6 Mar 2018 23:17:57 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w26NHuOT088871; Tue, 6 Mar 2018 23:17:56 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201803062317.w26NHuOT088871@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Tue, 6 Mar 2018 23:17:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330556 - stable/10/sys/dev/qlxgbe X-SVN-Group: stable-10 X-SVN-Commit-Author: davidcs X-SVN-Commit-Paths: stable/10/sys/dev/qlxgbe X-SVN-Commit-Revision: 330556 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 23:17:57 -0000 Author: davidcs Date: Tue Mar 6 23:17:56 2018 New Revision: 330556 URL: https://svnweb.freebsd.org/changeset/base/330556 Log: MFC r329855 1. Added support to offline a port if is error recovery on successful. 2. Sysctls to enable/disable driver_state_dump and error_recovery. 3. Sysctl to control the delay between hw/fw reinitialization and restarting the fastpath. 4. Stop periodic stats retrieval if interface has IFF_DRV_RUNNING flag off. 5. Print contents of PEG_HALT_STATUS1 and PEG_HALT_STATUS2 on heartbeat failure. 6. Speed up slowpath shutdown during error recovery. 7. link_state update using atomic_store. 8. Added timestamp information on driver state and minidump captures. 9. Added support for Slowpath event logging 10.Added additional failure injection types to simulate failures. Modified: stable/10/sys/dev/qlxgbe/ql_dbg.h stable/10/sys/dev/qlxgbe/ql_def.h stable/10/sys/dev/qlxgbe/ql_glbl.h stable/10/sys/dev/qlxgbe/ql_hw.c stable/10/sys/dev/qlxgbe/ql_hw.h stable/10/sys/dev/qlxgbe/ql_inline.h stable/10/sys/dev/qlxgbe/ql_ioctl.c stable/10/sys/dev/qlxgbe/ql_ioctl.h stable/10/sys/dev/qlxgbe/ql_isr.c stable/10/sys/dev/qlxgbe/ql_misc.c stable/10/sys/dev/qlxgbe/ql_os.c stable/10/sys/dev/qlxgbe/ql_os.h stable/10/sys/dev/qlxgbe/ql_ver.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/qlxgbe/ql_dbg.h ============================================================================== --- stable/10/sys/dev/qlxgbe/ql_dbg.h Tue Mar 6 23:12:32 2018 (r330555) +++ stable/10/sys/dev/qlxgbe/ql_dbg.h Tue Mar 6 23:17:56 2018 (r330556) @@ -42,17 +42,21 @@ extern void ql_dump_buf16(qla_host_t *ha, const char * extern void ql_dump_buf32(qla_host_t *ha, const char *str, void *dbuf, uint32_t len32); -#define INJCT_RX_RXB_INVAL 0x00001 -#define INJCT_RX_MP_NULL 0x00002 -#define INJCT_LRO_RXB_INVAL 0x00003 -#define INJCT_LRO_MP_NULL 0x00004 -#define INJCT_NUM_HNDLE_INVALID 0x00005 -#define INJCT_RDWR_INDREG_FAILURE 0x00006 -#define INJCT_RDWR_OFFCHIPMEM_FAILURE 0x00007 -#define INJCT_MBX_CMD_FAILURE 0x00008 -#define INJCT_HEARTBEAT_FAILURE 0x00009 -#define INJCT_TEMPERATURE_FAILURE 0x0000A -#define INJCT_M_GETCL_M_GETJCL_FAILURE 0x0000B +#define INJCT_RX_RXB_INVAL 0x00001 +#define INJCT_RX_MP_NULL 0x00002 +#define INJCT_LRO_RXB_INVAL 0x00003 +#define INJCT_LRO_MP_NULL 0x00004 +#define INJCT_NUM_HNDLE_INVALID 0x00005 +#define INJCT_RDWR_INDREG_FAILURE 0x00006 +#define INJCT_RDWR_OFFCHIPMEM_FAILURE 0x00007 +#define INJCT_MBX_CMD_FAILURE 0x00008 +#define INJCT_HEARTBEAT_FAILURE 0x00009 +#define INJCT_TEMPERATURE_FAILURE 0x0000A +#define INJCT_M_GETCL_M_GETJCL_FAILURE 0x0000B +#define INJCT_INV_CONT_OPCODE 0x0000C +#define INJCT_SGL_RCV_INV_DESC_COUNT 0x0000D +#define INJCT_SGL_LRO_INV_DESC_COUNT 0x0000E +#define INJCT_PEER_PORT_FAILURE_ERR_RECOVERY 0x0000F #ifdef QL_DBG Modified: stable/10/sys/dev/qlxgbe/ql_def.h ============================================================================== --- stable/10/sys/dev/qlxgbe/ql_def.h Tue Mar 6 23:12:32 2018 (r330555) +++ stable/10/sys/dev/qlxgbe/ql_def.h Tue Mar 6 23:17:56 2018 (r330556) @@ -144,12 +144,12 @@ struct qla_host { volatile uint32_t qla_watchdog_paused; volatile uint32_t qla_initiate_recovery; volatile uint32_t qla_detach_active; + volatile uint32_t offline; device_t pci_dev; - uint16_t watchdog_ticks; + volatile uint16_t watchdog_ticks; uint8_t pci_func; - uint8_t resvd; /* ioctl related */ struct cdev *ioctl_dev; @@ -182,6 +182,7 @@ struct qla_host { /* hardware access lock */ + struct mtx sp_log_lock; struct mtx hw_lock; volatile uint32_t hw_lock_held; uint64_t hw_lock_failed; @@ -239,6 +240,9 @@ struct qla_host { volatile const char *qla_unlock; uint32_t dbg_level; uint32_t enable_minidump; + uint32_t enable_driverstate_dump; + uint32_t enable_error_recovery; + uint32_t ms_delay_after_init; uint8_t fw_ver_str[32]; @@ -272,5 +276,7 @@ typedef struct qla_host qla_host_t; #define QL_MAC_CMP(mac1, mac2) \ ((((*(uint32_t *) mac1) == (*(uint32_t *) mac2) && \ (*(uint16_t *)(mac1 + 4)) == (*(uint16_t *)(mac2 + 4)))) ? 0 : 1) + +#define QL_INITIATE_RECOVERY(ha) qla_set_error_recovery(ha) #endif /* #ifndef _QL_DEF_H_ */ Modified: stable/10/sys/dev/qlxgbe/ql_glbl.h ============================================================================== --- stable/10/sys/dev/qlxgbe/ql_glbl.h Tue Mar 6 23:12:32 2018 (r330555) +++ stable/10/sys/dev/qlxgbe/ql_glbl.h Tue Mar 6 23:17:56 2018 (r330556) @@ -47,6 +47,7 @@ extern uint32_t ql_rcv_isr(qla_host_t *ha, uint32_t sd extern int ql_alloc_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf); extern void ql_free_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf); extern int ql_get_mbuf(qla_host_t *ha, qla_rx_buf_t *rxb, struct mbuf *nmp); +extern void qla_set_error_recovery(qla_host_t *ha); /* * from ql_hw.c @@ -115,5 +116,11 @@ extern unsigned int ql83xx_minidump_len; extern void ql_alloc_drvr_state_buffer(qla_host_t *ha); extern void ql_free_drvr_state_buffer(qla_host_t *ha); extern void ql_capture_drvr_state(qla_host_t *ha); +extern void ql_sp_log(qla_host_t *ha, uint16_t fmtstr_idx, uint16_t num_params, + uint32_t param0, uint32_t param1, uint32_t param2, + uint32_t param3, uint32_t param4); +extern void ql_alloc_sp_log_buffer(qla_host_t *ha); +extern void ql_free_sp_log_buffer(qla_host_t *ha); + #endif /* #ifndef_QL_GLBL_H_ */ Modified: stable/10/sys/dev/qlxgbe/ql_hw.c ============================================================================== --- stable/10/sys/dev/qlxgbe/ql_hw.c Tue Mar 6 23:12:32 2018 (r330555) +++ stable/10/sys/dev/qlxgbe/ql_hw.c Tue Mar 6 23:17:56 2018 (r330556) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); static void qla_del_rcv_cntxt(qla_host_t *ha); static int qla_init_rcv_cntxt(qla_host_t *ha); -static void qla_del_xmt_cntxt(qla_host_t *ha); +static int qla_del_xmt_cntxt(qla_host_t *ha); static int qla_init_xmt_cntxt(qla_host_t *ha); static int qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t n_hmbox, uint32_t *fw_mbox, uint32_t n_fwmbox, uint32_t no_pause); @@ -647,11 +647,118 @@ qlnx_add_hw_xmt_stats_sysctls(qla_host_t *ha) } static void +qlnx_add_hw_mbx_cmpl_stats_sysctls(qla_host_t *ha) +{ + struct sysctl_ctx_list *ctx; + struct sysctl_oid_list *node_children; + + ctx = device_get_sysctl_ctx(ha->pci_dev); + node_children = SYSCTL_CHILDREN(device_get_sysctl_tree(ha->pci_dev)); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_lt_200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[0], + "mbx_completion_time_lt_200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_200ms_400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[1], + "mbx_completion_time_200ms_400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_400ms_600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[2], + "mbx_completion_time_400ms_600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_600ms_800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[3], + "mbx_completion_time_600ms_800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_800ms_1000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[4], + "mbx_completion_time_800ms_1000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1000ms_1200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[5], + "mbx_completion_time_1000ms_1200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1200ms_1400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[6], + "mbx_completion_time_1200ms_1400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1400ms_1600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[7], + "mbx_completion_time_1400ms_1600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1600ms_1800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[8], + "mbx_completion_time_1600ms_1800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1800ms_2000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[9], + "mbx_completion_time_1800ms_2000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2000ms_2200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[10], + "mbx_completion_time_2000ms_2200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2200ms_2400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[11], + "mbx_completion_time_2200ms_2400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2400ms_2600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[12], + "mbx_completion_time_2400ms_2600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2600ms_2800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[13], + "mbx_completion_time_2600ms_2800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2800ms_3000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[14], + "mbx_completion_time_2800ms_3000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_3000ms_4000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[15], + "mbx_completion_time_3000ms_4000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_4000ms_5000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[16], + "mbx_completion_time_4000ms_5000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_host_mbx_cntrl_timeout", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[17], + "mbx_completion_host_mbx_cntrl_timeout"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_fw_mbx_cntrl_timeout", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[18], + "mbx_completion_fw_mbx_cntrl_timeout"); + return; +} + +static void qlnx_add_hw_stats_sysctls(qla_host_t *ha) { qlnx_add_hw_mac_stats_sysctls(ha); qlnx_add_hw_rcv_stats_sysctls(ha); qlnx_add_hw_xmt_stats_sysctls(ha); + qlnx_add_hw_mbx_cmpl_stats_sysctls(ha); return; } @@ -918,6 +1025,30 @@ ql_hw_add_sysctls(qla_host_t *ha) "\t Any change requires ifconfig down/up to take effect\n" "\t Note that LRO may be turned off/on via ifconfig\n"); + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_index", CTLFLAG_RW, &ha->hw.sp_log_index, + ha->hw.sp_log_index, "sp_log_index"); + + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_stop", CTLFLAG_RW, &ha->hw.sp_log_stop, + ha->hw.sp_log_stop, "sp_log_stop"); + + ha->hw.sp_log_stop_events = 0; + + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_stop_events", CTLFLAG_RW, + &ha->hw.sp_log_stop_events, + ha->hw.sp_log_stop_events, "Slow path event log is stopped" + " when OR of the following events occur \n" + "\t 0x01 : Heart beat Failure\n" + "\t 0x02 : Temperature Failure\n" + "\t 0x04 : HW Initialization Failure\n" + "\t 0x08 : Interface Initialization Failure\n" + "\t 0x10 : Error Recovery Failure\n"); + ha->hw.mdump_active = 0; SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), @@ -998,13 +1129,13 @@ ql_hw_link_status(qla_host_t *ha) device_printf(ha->pci_dev, "link Down\n"); } - if (ha->hw.flags.fduplex) { + if (ha->hw.fduplex) { device_printf(ha->pci_dev, "Full Duplex\n"); } else { device_printf(ha->pci_dev, "Half Duplex\n"); } - if (ha->hw.flags.autoneg) { + if (ha->hw.autoneg) { device_printf(ha->pci_dev, "Auto Negotiation Enabled\n"); } else { device_printf(ha->pci_dev, "Auto Negotiation Disabled\n"); @@ -1255,19 +1386,39 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t uint32_t i; uint32_t data; int ret = 0; + uint64_t start_usecs; + uint64_t end_usecs; + uint64_t msecs_200; - if (QL_ERR_INJECT(ha, INJCT_MBX_CMD_FAILURE)) { + ql_sp_log(ha, 0, 5, no_pause, h_mbox[0], h_mbox[1], h_mbox[2], h_mbox[3]); + + if (ha->offline || ha->qla_initiate_recovery) { + ql_sp_log(ha, 1, 2, ha->offline, ha->qla_initiate_recovery, 0, 0, 0); + goto exit_qla_mbx_cmd; + } + + if (((ha->err_inject & 0xFFFF) == INJCT_MBX_CMD_FAILURE) && + (((ha->err_inject & ~0xFFFF) == ((h_mbox[0] & 0xFFFF) << 16))|| + !(ha->err_inject & ~0xFFFF))) { ret = -3; - ha->qla_initiate_recovery = 1; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } + start_usecs = qla_get_usec_timestamp(); + if (no_pause) i = 1000; else i = Q8_MBX_MSEC_DELAY; while (i) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 2, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + data = READ_REG32(ha, Q8_HOST_MBOX_CNTRL); if (data == 0) break; @@ -1282,8 +1433,10 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t if (i == 0) { device_printf(ha->pci_dev, "%s: host_mbx_cntrl 0x%08x\n", __func__, data); + ql_sp_log(ha, 3, 1, data, 0, 0, 0, 0); ret = -1; - ha->qla_initiate_recovery = 1; + ha->hw.mbx_comp_msecs[(Q8_MBX_COMP_MSECS - 2)]++; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } @@ -1297,6 +1450,12 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t i = Q8_MBX_MSEC_DELAY; while (i) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 4, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + data = READ_REG32(ha, Q8_FW_MBOX_CNTRL); if ((data & 0x3) == 1) { @@ -1314,18 +1473,44 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t if (i == 0) { device_printf(ha->pci_dev, "%s: fw_mbx_cntrl 0x%08x\n", __func__, data); + ql_sp_log(ha, 5, 1, data, 0, 0, 0, 0); ret = -2; - ha->qla_initiate_recovery = 1; + ha->hw.mbx_comp_msecs[(Q8_MBX_COMP_MSECS - 1)]++; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } for (i = 0; i < n_fwmbox; i++) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 6, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + *fw_mbox++ = READ_REG32(ha, (Q8_FW_MBOX0 + (i << 2))); } WRITE_REG32(ha, Q8_FW_MBOX_CNTRL, 0x0); WRITE_REG32(ha, ha->hw.mbx_intr_mask_offset, 0x0); + end_usecs = qla_get_usec_timestamp(); + + if (end_usecs > start_usecs) { + msecs_200 = (end_usecs - start_usecs)/(1000 * 200); + + if (msecs_200 < 15) + ha->hw.mbx_comp_msecs[msecs_200]++; + else if (msecs_200 < 20) + ha->hw.mbx_comp_msecs[15]++; + else { + device_printf(ha->pci_dev, "%s: [%ld, %ld] %ld\n", __func__, + start_usecs, end_usecs, msecs_200); + ha->hw.mbx_comp_msecs[16]++; + } + } + ql_sp_log(ha, 7, 5, fw_mbox[0], fw_mbox[1], fw_mbox[2], fw_mbox[3], fw_mbox[4]); + + exit_qla_mbx_cmd: return (ret); } @@ -1401,7 +1586,8 @@ qla_config_intr_cntxt(qla_host_t *ha, uint32_t start_i if (qla_mbx_cmd(ha, (uint32_t *)c_intr, (sizeof (q80_config_intr_t) >> 2), ha->hw.mbox, (sizeof (q80_config_intr_rsp_t) >> 2), 0)) { - device_printf(dev, "%s: failed0\n", __func__); + device_printf(dev, "%s: %s failed0\n", __func__, + (create ? "create" : "delete")); return (-1); } @@ -1410,8 +1596,8 @@ qla_config_intr_cntxt(qla_host_t *ha, uint32_t start_i err = Q8_MBX_RSP_STATUS(c_intr_rsp->regcnt_status); if (err) { - device_printf(dev, "%s: failed1 [0x%08x, %d]\n", __func__, err, - c_intr_rsp->nentries); + device_printf(dev, "%s: %s failed1 [0x%08x, %d]\n", __func__, + (create ? "create" : "delete"), err, c_intr_rsp->nentries); for (i = 0; i < c_intr_rsp->nentries; i++) { device_printf(dev, "%s: [%d]:[0x%x 0x%x 0x%x]\n", @@ -2015,7 +2201,8 @@ ql_get_stats(qla_host_t *ha) cmd |= ((ha->pci_func & 0x1) << 16); - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; if (qla_get_hw_stats(ha, cmd, sizeof (q80_get_stats_rsp_t)) == 0) { @@ -2032,7 +2219,8 @@ ql_get_stats(qla_host_t *ha) // cmd |= Q8_GET_STATS_CMD_CLEAR; cmd |= (ha->hw.rcv_cntxt_id << 16); - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; if (qla_get_hw_stats(ha, cmd, sizeof (q80_get_stats_rsp_t)) == 0) { @@ -2043,13 +2231,18 @@ ql_get_stats(qla_host_t *ha) __func__, ha->hw.mbox[0]); } - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; /* * Get XMT Statistics */ - for (i = 0 ; ((i < ha->hw.num_tx_rings) && (!ha->qla_watchdog_pause)); - i++) { + for (i = 0 ; (i < ha->hw.num_tx_rings); i++) { + if (ha->qla_watchdog_pause || + (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) + goto ql_get_stats_exit; + cmd = Q8_GET_STATS_CMD_XMT | Q8_GET_STATS_CMD_TYPE_CNTXT; // cmd |= Q8_GET_STATS_CMD_CLEAR; cmd |= (ha->hw.tx_cntxt[i].tx_cntxt_id << 16); @@ -2679,7 +2872,8 @@ ql_del_hw_if(qla_host_t *ha) qla_del_rcv_cntxt(ha); - qla_del_xmt_cntxt(ha); + if(qla_del_xmt_cntxt(ha)) + goto ql_del_hw_if_exit; if (ha->hw.flags.init_intr_cnxt) { for (i = 0; i < ha->hw.num_sds_rings; ) { @@ -2688,14 +2882,17 @@ ql_del_hw_if(qla_host_t *ha) num_msix = Q8_MAX_INTR_VECTORS; else num_msix = ha->hw.num_sds_rings - i; - qla_config_intr_cntxt(ha, i, num_msix, 0); + if (qla_config_intr_cntxt(ha, i, num_msix, 0)) + break; + i += num_msix; } ha->hw.flags.init_intr_cnxt = 0; } +ql_del_hw_if_exit: if (ha->hw.enable_soft_lro) { qla_drain_soft_lro(ha); qla_free_soft_lro(ha); @@ -3328,19 +3525,22 @@ qla_del_xmt_cntxt_i(qla_host_t *ha, uint32_t txr_idx) return (0); } -static void +static int qla_del_xmt_cntxt(qla_host_t *ha) { uint32_t i; + int ret = 0; if (!ha->hw.flags.init_tx_cnxt) - return; + return (ret); for (i = 0; i < ha->hw.num_tx_rings; i++) { - if (qla_del_xmt_cntxt_i(ha, i)) + if ((ret = qla_del_xmt_cntxt_i(ha, i)) != 0) break; } ha->hw.flags.init_tx_cnxt = 0; + + return (ret); } static int @@ -3350,8 +3550,10 @@ qla_init_xmt_cntxt(qla_host_t *ha) for (i = 0; i < ha->hw.num_tx_rings; i++) { if (qla_init_xmt_cntxt_i(ha, i) != 0) { - for (j = 0; j < i; j++) - qla_del_xmt_cntxt_i(ha, j); + for (j = 0; j < i; j++) { + if (qla_del_xmt_cntxt_i(ha, j)) + break; + } return (-1); } } @@ -3627,22 +3829,23 @@ ql_hw_tx_done_locked(qla_host_t *ha, uint32_t txr_idx) void ql_update_link_state(qla_host_t *ha) { - uint32_t link_state; + uint32_t link_state = 0; uint32_t prev_link_state; - if (!(ha->ifp->if_drv_flags & IFF_DRV_RUNNING)) { - ha->hw.link_up = 0; - return; - } - link_state = READ_REG32(ha, Q8_LINK_STATE); - prev_link_state = ha->hw.link_up; - if (ha->pci_func == 0) - ha->hw.link_up = (((link_state & 0xF) == 1)? 1 : 0); - else - ha->hw.link_up = ((((link_state >> 4)& 0xF) == 1)? 1 : 0); + if (ha->ifp->if_drv_flags & IFF_DRV_RUNNING) { + link_state = READ_REG32(ha, Q8_LINK_STATE); + if (ha->pci_func == 0) { + link_state = (((link_state & 0xF) == 1)? 1 : 0); + } else { + link_state = ((((link_state >> 4)& 0xF) == 1)? 1 : 0); + } + } + + atomic_store_rel_8(&ha->hw.link_up, (uint8_t)link_state); + if (prev_link_state != ha->hw.link_up) { if (ha->hw.link_up) { if_link_state_change(ha->ifp, LINK_STATE_UP); @@ -3669,8 +3872,14 @@ ql_hw_check_health(qla_host_t *ha) if (((val & 0xFFFF) == 2) || ((val & 0xFFFF) == 3) || (QL_ERR_INJECT(ha, INJCT_TEMPERATURE_FAILURE))) { - device_printf(ha->pci_dev, "%s: Temperature Alert [0x%08x]\n", - __func__, val); + device_printf(ha->pci_dev, "%s: Temperature Alert" + " at ts_usecs %ld ts_reg = 0x%08x\n", + __func__, qla_get_usec_timestamp(), val); + + if (ha->hw.sp_log_stop_events & Q8_SP_LOG_STOP_TEMP_FAILURE) + ha->hw.sp_log_stop = -1; + + QL_INITIATE_RECOVERY(ha); return -1; } @@ -3691,10 +3900,26 @@ ql_hw_check_health(qla_host_t *ha) __func__, val); if (ha->hw.hbeat_failure < 2) /* we ignore the first failure */ return 0; - else - device_printf(ha->pci_dev, "%s: Heartbeat Failue [0x%08x]\n", - __func__, val); + else { + uint32_t peg_halt_status1; + uint32_t peg_halt_status2; + peg_halt_status1 = READ_REG32(ha, Q8_PEG_HALT_STATUS1); + peg_halt_status2 = READ_REG32(ha, Q8_PEG_HALT_STATUS2); + + device_printf(ha->pci_dev, + "%s: Heartbeat Failue at ts_usecs = %ld " + "fw_heart_beat = 0x%08x " + "peg_halt_status1 = 0x%08x " + "peg_halt_status2 = 0x%08x\n", + __func__, qla_get_usec_timestamp(), val, + peg_halt_status1, peg_halt_status2); + + if (ha->hw.sp_log_stop_events & Q8_SP_LOG_STOP_HBEAT_FAILURE) + ha->hw.sp_log_stop = -1; + } + QL_INITIATE_RECOVERY(ha); + return -1; } @@ -4429,8 +4654,8 @@ ql_minidump(qla_host_t *ha) if (ha->hw.mdump_done) return; - - ha->hw.mdump_start_seq_index = ql_stop_sequence(ha); + ha->hw.mdump_usec_ts = qla_get_usec_timestamp(); + ha->hw.mdump_start_seq_index = ql_stop_sequence(ha); bzero(ha->hw.mdump_buffer, ha->hw.mdump_buffer_size); bzero(ha->hw.mdump_template, ha->hw.mdump_template_size); Modified: stable/10/sys/dev/qlxgbe/ql_hw.h ============================================================================== --- stable/10/sys/dev/qlxgbe/ql_hw.h Tue Mar 6 23:12:32 2018 (r330555) +++ stable/10/sys/dev/qlxgbe/ql_hw.h Tue Mar 6 23:17:56 2018 (r330556) @@ -1600,26 +1600,26 @@ typedef struct _qla_hw { uint32_t unicast_mac :1, bcast_mac :1, - loopback_mode :2, init_tx_cnxt :1, init_rx_cnxt :1, init_intr_cnxt :1, - fduplex :1, - autoneg :1, fdt_valid :1; } flags; - uint16_t link_speed; - uint16_t cable_length; - uint32_t cable_oui; - uint8_t link_up; - uint8_t module_type; - uint8_t link_faults; + volatile uint16_t link_speed; + volatile uint16_t cable_length; + volatile uint32_t cable_oui; + volatile uint8_t link_up; + volatile uint8_t module_type; + volatile uint8_t link_faults; + volatile uint8_t loopback_mode; + volatile uint8_t fduplex; + volatile uint8_t autoneg; - uint8_t mac_rcv_mode; + volatile uint8_t mac_rcv_mode; - uint32_t max_mtu; + volatile uint32_t max_mtu; uint8_t mac_addr[ETHER_ADDR_LEN]; @@ -1703,9 +1703,25 @@ typedef struct _qla_hw { uint32_t mdump_buffer_size; void *mdump_template; uint32_t mdump_template_size; + uint64_t mdump_usec_ts; +#define Q8_MBX_COMP_MSECS (19) + uint64_t mbx_comp_msecs[Q8_MBX_COMP_MSECS]; /* driver state related */ void *drvr_state; + + /* slow path trace */ + uint32_t sp_log_stop_events; +#define Q8_SP_LOG_STOP_HBEAT_FAILURE 0x001 +#define Q8_SP_LOG_STOP_TEMP_FAILURE 0x002 +#define Q8_SP_LOG_STOP_HW_INIT_FAILURE 0x004 +#define Q8_SP_LOG_STOP_IF_START_FAILURE 0x008 +#define Q8_SP_LOG_STOP_ERR_RECOVERY_FAILURE 0x010 + + uint32_t sp_log_stop; + uint32_t sp_log_index; + uint32_t sp_log_num_entries; + void *sp_log; } qla_hw_t; #define QL_UPDATE_RDS_PRODUCER_INDEX(ha, prod_reg, val) \ Modified: stable/10/sys/dev/qlxgbe/ql_inline.h ============================================================================== --- stable/10/sys/dev/qlxgbe/ql_inline.h Tue Mar 6 23:12:32 2018 (r330555) +++ stable/10/sys/dev/qlxgbe/ql_inline.h Tue Mar 6 23:17:56 2018 (r330556) @@ -166,7 +166,7 @@ qla_lock(qla_host_t *ha, const char *str, uint32_t tim while (1) { mtx_lock(&ha->hw_lock); - if (ha->qla_detach_active) { + if (ha->qla_detach_active || ha->offline) { mtx_unlock(&ha->hw_lock); break; } @@ -191,7 +191,10 @@ qla_lock(qla_host_t *ha, const char *str, uint32_t tim } } - //device_printf(ha->pci_dev, "%s: %s ret = %d\n", __func__, str,ret); +// if (!ha->enable_error_recovery) +// device_printf(ha->pci_dev, "%s: %s ret = %d\n", __func__, +// str,ret); + return (ret); } @@ -202,7 +205,9 @@ qla_unlock(qla_host_t *ha, const char *str) ha->hw_lock_held = 0; ha->qla_unlock = str; mtx_unlock(&ha->hw_lock); - //device_printf(ha->pci_dev, "%s: %s\n", __func__, str); + +// if (!ha->enable_error_recovery) +// device_printf(ha->pci_dev, "%s: %s\n", __func__, str); return; } Modified: stable/10/sys/dev/qlxgbe/ql_ioctl.c ============================================================================== --- stable/10/sys/dev/qlxgbe/ql_ioctl.c Tue Mar 6 23:12:32 2018 (r330555) +++ stable/10/sys/dev/qlxgbe/ql_ioctl.c Tue Mar 6 23:17:56 2018 (r330556) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include "ql_ver.h" #include "ql_dbg.h" +static int ql_slowpath_log(qla_host_t *ha, qla_sp_log_t *log); static int ql_drvr_state(qla_host_t *ha, qla_driver_state_t *drvr_state); static uint32_t ql_drvr_state_size(qla_host_t *ha); static int ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, @@ -224,6 +225,7 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, case QLA_RD_FW_DUMP: if (ha->hw.mdump_init == 0) { + device_printf(pci_dev, "%s: minidump not initialized\n", __func__); rval = EINVAL; break; } @@ -233,45 +235,85 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, if ((fw_dump->minidump == NULL) || (fw_dump->minidump_size != (ha->hw.mdump_buffer_size + ha->hw.mdump_template_size))) { + device_printf(pci_dev, + "%s: minidump buffer [%p] size = [%d, %d] invalid\n", __func__, + fw_dump->minidump, fw_dump->minidump_size, + (ha->hw.mdump_buffer_size + ha->hw.mdump_template_size)); rval = EINVAL; break; } - if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { - if (!ha->hw.mdump_done) - ha->qla_initiate_recovery = 1; - QLA_UNLOCK(ha, __func__); - } else { + if ((ha->pci_func & 0x1)) { + device_printf(pci_dev, "%s: mindump allowed only on Port0\n", __func__); rval = ENXIO; break; } + + fw_dump->saved = 1; + + if (ha->offline) { + + if (ha->enable_minidump) + ql_minidump(ha); + + fw_dump->saved = 0; + fw_dump->usec_ts = ha->hw.mdump_usec_ts; + + if (!ha->hw.mdump_done) { + device_printf(pci_dev, + "%s: port offline minidump failed\n", __func__); + rval = ENXIO; + break; + } + } else { + + if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { + if (!ha->hw.mdump_done) { + fw_dump->saved = 0; + QL_INITIATE_RECOVERY(ha); + device_printf(pci_dev, "%s: recovery initiated " + " to trigger minidump\n", + __func__); + } + QLA_UNLOCK(ha, __func__); + } else { + device_printf(pci_dev, "%s: QLA_LOCK() failed0\n", __func__); + rval = ENXIO; + break; + } #define QLNX_DUMP_WAIT_SECS 30 - count = QLNX_DUMP_WAIT_SECS * 1000; + count = QLNX_DUMP_WAIT_SECS * 1000; - while (count) { - if (ha->hw.mdump_done) - break; - qla_mdelay(__func__, 100); - count -= 100; - } + while (count) { + if (ha->hw.mdump_done) + break; + qla_mdelay(__func__, 100); + count -= 100; + } - if (!ha->hw.mdump_done) { - rval = ENXIO; - break; - } + if (!ha->hw.mdump_done) { + device_printf(pci_dev, + "%s: port not offline minidump failed\n", __func__); + rval = ENXIO; + break; + } + fw_dump->usec_ts = ha->hw.mdump_usec_ts; - if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { - ha->hw.mdump_done = 0; - QLA_UNLOCK(ha, __func__); - } else { - rval = ENXIO; - break; + if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { + ha->hw.mdump_done = 0; + QLA_UNLOCK(ha, __func__); + } else { + device_printf(pci_dev, "%s: QLA_LOCK() failed1\n", __func__); + rval = ENXIO; + break; + } } if ((rval = copyout(ha->hw.mdump_template, fw_dump->minidump, ha->hw.mdump_template_size))) { + device_printf(pci_dev, "%s: template copyout failed\n", __func__); rval = ENXIO; break; } @@ -279,14 +321,20 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, if ((rval = copyout(ha->hw.mdump_buffer, ((uint8_t *)fw_dump->minidump + ha->hw.mdump_template_size), - ha->hw.mdump_buffer_size))) + ha->hw.mdump_buffer_size))) { + device_printf(pci_dev, "%s: minidump copyout failed\n", __func__); rval = ENXIO; + } break; case QLA_RD_DRVR_STATE: rval = ql_drvr_state(ha, (qla_driver_state_t *)data); break; + case QLA_RD_SLOWPATH_LOG: + rval = ql_slowpath_log(ha, (qla_sp_log_t *)data); + break; + case QLA_RD_PCI_IDS: pci_ids = (qla_rd_pci_ids_t *)data; pci_ids->ven_id = pci_get_vendor(pci_dev); @@ -304,12 +352,12 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, } + static int ql_drvr_state(qla_host_t *ha, qla_driver_state_t *state) { int rval = 0; uint32_t drvr_state_size; - qla_drvr_state_hdr_t *hdr; drvr_state_size = ql_drvr_state_size(ha); @@ -324,11 +372,8 @@ ql_drvr_state(qla_host_t *ha, qla_driver_state_t *stat if (ha->hw.drvr_state == NULL) return (ENOMEM); - hdr = ha->hw.drvr_state; + ql_capture_drvr_state(ha); - if (!hdr->drvr_version_major) - ql_capture_drvr_state(ha); - rval = copyout(ha->hw.drvr_state, state->buffer, drvr_state_size); bzero(ha->hw.drvr_state, drvr_state_size); @@ -416,22 +461,26 @@ ql_capture_drvr_state(qla_host_t *ha) { uint8_t *state_buffer; uint8_t *ptr; - uint32_t drvr_state_size; qla_drvr_state_hdr_t *hdr; uint32_t size; int i; - drvr_state_size = ql_drvr_state_size(ha); - state_buffer = ha->hw.drvr_state; if (state_buffer == NULL) return; - - bzero(state_buffer, drvr_state_size); hdr = (qla_drvr_state_hdr_t *)state_buffer; + + hdr->saved = 0; + if (hdr->drvr_version_major) { + hdr->saved = 1; + return; + } + + hdr->usec_ts = qla_get_usec_timestamp(); + hdr->drvr_version_major = QLA_VERSION_MAJOR; hdr->drvr_version_minor = QLA_VERSION_MINOR; hdr->drvr_version_build = QLA_VERSION_BUILD; @@ -512,6 +561,9 @@ ql_alloc_drvr_state_buffer(qla_host_t *ha) ha->hw.drvr_state = malloc(drvr_state_size, M_QLA83XXBUF, M_NOWAIT); + if (ha->hw.drvr_state != NULL) + bzero(ha->hw.drvr_state, drvr_state_size); + return; } @@ -521,5 +573,95 @@ ql_free_drvr_state_buffer(qla_host_t *ha) if (ha->hw.drvr_state != NULL) free(ha->hw.drvr_state, M_QLA83XXBUF); return; +} + +void +ql_sp_log(qla_host_t *ha, uint16_t fmtstr_idx, uint16_t num_params, + uint32_t param0, uint32_t param1, uint32_t param2, uint32_t param3, + uint32_t param4) +{ + qla_sp_log_entry_t *sp_e, *sp_log; + + if (((sp_log = ha->hw.sp_log) == NULL) || ha->hw.sp_log_stop) + return; + + mtx_lock(&ha->sp_log_lock); + + sp_e = &sp_log[ha->hw.sp_log_index]; + + bzero(sp_e, sizeof (qla_sp_log_entry_t)); + + sp_e->fmtstr_idx = fmtstr_idx; + sp_e->num_params = num_params; + + sp_e->usec_ts = qla_get_usec_timestamp(); + + sp_e->params[0] = param0; + sp_e->params[1] = param1; + sp_e->params[2] = param2; + sp_e->params[3] = param3; + sp_e->params[4] = param4; + + ha->hw.sp_log_index = (ha->hw.sp_log_index + 1) & (NUM_LOG_ENTRIES - 1); + + if (ha->hw.sp_log_num_entries < NUM_LOG_ENTRIES) + ha->hw.sp_log_num_entries++; + + mtx_unlock(&ha->sp_log_lock); + + return; +} + +void +ql_alloc_sp_log_buffer(qla_host_t *ha) +{ + uint32_t size; + + size = (sizeof(qla_sp_log_entry_t)) * NUM_LOG_ENTRIES; + + ha->hw.sp_log = malloc(size, M_QLA83XXBUF, M_NOWAIT); + + if (ha->hw.sp_log != NULL) + bzero(ha->hw.sp_log, size); + + ha->hw.sp_log_index = 0; + ha->hw.sp_log_num_entries = 0; + + return; +} + +void +ql_free_sp_log_buffer(qla_host_t *ha) +{ + if (ha->hw.sp_log != NULL) + free(ha->hw.sp_log, M_QLA83XXBUF); + return; +} + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable@freebsd.org Tue Mar 6 23:28:14 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25336F39810; Tue, 6 Mar 2018 23:28:14 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CC01D71320; Tue, 6 Mar 2018 23:28:13 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C651119802; Tue, 6 Mar 2018 23:28:13 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w26NSDDP093654; Tue, 6 Mar 2018 23:28:13 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w26NSDmc093645; Tue, 6 Mar 2018 23:28:13 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201803062328.w26NSDmc093645@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Tue, 6 Mar 2018 23:28:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r330557 - stable/9/sys/dev/qlxgbe X-SVN-Group: stable-9 X-SVN-Commit-Author: davidcs X-SVN-Commit-Paths: stable/9/sys/dev/qlxgbe X-SVN-Commit-Revision: 330557 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 23:28:14 -0000 Author: davidcs Date: Tue Mar 6 23:28:12 2018 New Revision: 330557 URL: https://svnweb.freebsd.org/changeset/base/330557 Log: MFC r329855 1. Added support to offline a port if is error recovery on successful. 2. Sysctls to enable/disable driver_state_dump and error_recovery. 3. Sysctl to control the delay between hw/fw reinitialization and restarting the fastpath. 4. Stop periodic stats retrieval if interface has IFF_DRV_RUNNING flag off. 5. Print contents of PEG_HALT_STATUS1 and PEG_HALT_STATUS2 on heartbeat failure. 6. Speed up slowpath shutdown during error recovery. 7. link_state update using atomic_store. 8. Added timestamp information on driver state and minidump captures. 9. Added support for Slowpath event logging 10.Added additional failure injection types to simulate failures. Modified: stable/9/sys/dev/qlxgbe/ql_dbg.h stable/9/sys/dev/qlxgbe/ql_def.h stable/9/sys/dev/qlxgbe/ql_glbl.h stable/9/sys/dev/qlxgbe/ql_hw.c stable/9/sys/dev/qlxgbe/ql_hw.h stable/9/sys/dev/qlxgbe/ql_inline.h stable/9/sys/dev/qlxgbe/ql_ioctl.c stable/9/sys/dev/qlxgbe/ql_ioctl.h stable/9/sys/dev/qlxgbe/ql_isr.c stable/9/sys/dev/qlxgbe/ql_misc.c stable/9/sys/dev/qlxgbe/ql_os.c stable/9/sys/dev/qlxgbe/ql_os.h stable/9/sys/dev/qlxgbe/ql_ver.h Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) Modified: stable/9/sys/dev/qlxgbe/ql_dbg.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_dbg.h Tue Mar 6 23:17:56 2018 (r330556) +++ stable/9/sys/dev/qlxgbe/ql_dbg.h Tue Mar 6 23:28:12 2018 (r330557) @@ -42,17 +42,21 @@ extern void ql_dump_buf16(qla_host_t *ha, const char * extern void ql_dump_buf32(qla_host_t *ha, const char *str, void *dbuf, uint32_t len32); -#define INJCT_RX_RXB_INVAL 0x00001 -#define INJCT_RX_MP_NULL 0x00002 -#define INJCT_LRO_RXB_INVAL 0x00003 -#define INJCT_LRO_MP_NULL 0x00004 -#define INJCT_NUM_HNDLE_INVALID 0x00005 -#define INJCT_RDWR_INDREG_FAILURE 0x00006 -#define INJCT_RDWR_OFFCHIPMEM_FAILURE 0x00007 -#define INJCT_MBX_CMD_FAILURE 0x00008 -#define INJCT_HEARTBEAT_FAILURE 0x00009 -#define INJCT_TEMPERATURE_FAILURE 0x0000A -#define INJCT_M_GETCL_M_GETJCL_FAILURE 0x0000B +#define INJCT_RX_RXB_INVAL 0x00001 +#define INJCT_RX_MP_NULL 0x00002 +#define INJCT_LRO_RXB_INVAL 0x00003 +#define INJCT_LRO_MP_NULL 0x00004 +#define INJCT_NUM_HNDLE_INVALID 0x00005 +#define INJCT_RDWR_INDREG_FAILURE 0x00006 +#define INJCT_RDWR_OFFCHIPMEM_FAILURE 0x00007 +#define INJCT_MBX_CMD_FAILURE 0x00008 +#define INJCT_HEARTBEAT_FAILURE 0x00009 +#define INJCT_TEMPERATURE_FAILURE 0x0000A +#define INJCT_M_GETCL_M_GETJCL_FAILURE 0x0000B +#define INJCT_INV_CONT_OPCODE 0x0000C +#define INJCT_SGL_RCV_INV_DESC_COUNT 0x0000D +#define INJCT_SGL_LRO_INV_DESC_COUNT 0x0000E +#define INJCT_PEER_PORT_FAILURE_ERR_RECOVERY 0x0000F #ifdef QL_DBG Modified: stable/9/sys/dev/qlxgbe/ql_def.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_def.h Tue Mar 6 23:17:56 2018 (r330556) +++ stable/9/sys/dev/qlxgbe/ql_def.h Tue Mar 6 23:28:12 2018 (r330557) @@ -144,12 +144,12 @@ struct qla_host { volatile uint32_t qla_watchdog_paused; volatile uint32_t qla_initiate_recovery; volatile uint32_t qla_detach_active; + volatile uint32_t offline; device_t pci_dev; - uint16_t watchdog_ticks; + volatile uint16_t watchdog_ticks; uint8_t pci_func; - uint8_t resvd; /* ioctl related */ struct cdev *ioctl_dev; @@ -182,6 +182,7 @@ struct qla_host { /* hardware access lock */ + struct mtx sp_log_lock; struct mtx hw_lock; volatile uint32_t hw_lock_held; uint64_t hw_lock_failed; @@ -239,6 +240,9 @@ struct qla_host { volatile const char *qla_unlock; uint32_t dbg_level; uint32_t enable_minidump; + uint32_t enable_driverstate_dump; + uint32_t enable_error_recovery; + uint32_t ms_delay_after_init; uint8_t fw_ver_str[32]; @@ -272,5 +276,7 @@ typedef struct qla_host qla_host_t; #define QL_MAC_CMP(mac1, mac2) \ ((((*(uint32_t *) mac1) == (*(uint32_t *) mac2) && \ (*(uint16_t *)(mac1 + 4)) == (*(uint16_t *)(mac2 + 4)))) ? 0 : 1) + +#define QL_INITIATE_RECOVERY(ha) qla_set_error_recovery(ha) #endif /* #ifndef _QL_DEF_H_ */ Modified: stable/9/sys/dev/qlxgbe/ql_glbl.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_glbl.h Tue Mar 6 23:17:56 2018 (r330556) +++ stable/9/sys/dev/qlxgbe/ql_glbl.h Tue Mar 6 23:28:12 2018 (r330557) @@ -47,6 +47,7 @@ extern uint32_t ql_rcv_isr(qla_host_t *ha, uint32_t sd extern int ql_alloc_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf); extern void ql_free_dmabuf(qla_host_t *ha, qla_dma_t *dma_buf); extern int ql_get_mbuf(qla_host_t *ha, qla_rx_buf_t *rxb, struct mbuf *nmp); +extern void qla_set_error_recovery(qla_host_t *ha); /* * from ql_hw.c @@ -115,5 +116,11 @@ extern unsigned int ql83xx_minidump_len; extern void ql_alloc_drvr_state_buffer(qla_host_t *ha); extern void ql_free_drvr_state_buffer(qla_host_t *ha); extern void ql_capture_drvr_state(qla_host_t *ha); +extern void ql_sp_log(qla_host_t *ha, uint16_t fmtstr_idx, uint16_t num_params, + uint32_t param0, uint32_t param1, uint32_t param2, + uint32_t param3, uint32_t param4); +extern void ql_alloc_sp_log_buffer(qla_host_t *ha); +extern void ql_free_sp_log_buffer(qla_host_t *ha); + #endif /* #ifndef_QL_GLBL_H_ */ Modified: stable/9/sys/dev/qlxgbe/ql_hw.c ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_hw.c Tue Mar 6 23:17:56 2018 (r330556) +++ stable/9/sys/dev/qlxgbe/ql_hw.c Tue Mar 6 23:28:12 2018 (r330557) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); static void qla_del_rcv_cntxt(qla_host_t *ha); static int qla_init_rcv_cntxt(qla_host_t *ha); -static void qla_del_xmt_cntxt(qla_host_t *ha); +static int qla_del_xmt_cntxt(qla_host_t *ha); static int qla_init_xmt_cntxt(qla_host_t *ha); static int qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t n_hmbox, uint32_t *fw_mbox, uint32_t n_fwmbox, uint32_t no_pause); @@ -647,11 +647,118 @@ qlnx_add_hw_xmt_stats_sysctls(qla_host_t *ha) } static void +qlnx_add_hw_mbx_cmpl_stats_sysctls(qla_host_t *ha) +{ + struct sysctl_ctx_list *ctx; + struct sysctl_oid_list *node_children; + + ctx = device_get_sysctl_ctx(ha->pci_dev); + node_children = SYSCTL_CHILDREN(device_get_sysctl_tree(ha->pci_dev)); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_lt_200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[0], + "mbx_completion_time_lt_200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_200ms_400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[1], + "mbx_completion_time_200ms_400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_400ms_600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[2], + "mbx_completion_time_400ms_600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_600ms_800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[3], + "mbx_completion_time_600ms_800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_800ms_1000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[4], + "mbx_completion_time_800ms_1000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1000ms_1200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[5], + "mbx_completion_time_1000ms_1200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1200ms_1400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[6], + "mbx_completion_time_1200ms_1400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1400ms_1600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[7], + "mbx_completion_time_1400ms_1600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1600ms_1800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[8], + "mbx_completion_time_1600ms_1800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_1800ms_2000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[9], + "mbx_completion_time_1800ms_2000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2000ms_2200ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[10], + "mbx_completion_time_2000ms_2200ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2200ms_2400ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[11], + "mbx_completion_time_2200ms_2400ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2400ms_2600ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[12], + "mbx_completion_time_2400ms_2600ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2600ms_2800ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[13], + "mbx_completion_time_2600ms_2800ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_2800ms_3000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[14], + "mbx_completion_time_2800ms_3000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_3000ms_4000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[15], + "mbx_completion_time_3000ms_4000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_time_4000ms_5000ms", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[16], + "mbx_completion_time_4000ms_5000ms"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_host_mbx_cntrl_timeout", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[17], + "mbx_completion_host_mbx_cntrl_timeout"); + + SYSCTL_ADD_QUAD(ctx, node_children, + OID_AUTO, "mbx_completion_fw_mbx_cntrl_timeout", + CTLFLAG_RD, &ha->hw.mbx_comp_msecs[18], + "mbx_completion_fw_mbx_cntrl_timeout"); + return; +} + +static void qlnx_add_hw_stats_sysctls(qla_host_t *ha) { qlnx_add_hw_mac_stats_sysctls(ha); qlnx_add_hw_rcv_stats_sysctls(ha); qlnx_add_hw_xmt_stats_sysctls(ha); + qlnx_add_hw_mbx_cmpl_stats_sysctls(ha); return; } @@ -918,6 +1025,30 @@ ql_hw_add_sysctls(qla_host_t *ha) "\t Any change requires ifconfig down/up to take effect\n" "\t Note that LRO may be turned off/on via ifconfig\n"); + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_index", CTLFLAG_RW, &ha->hw.sp_log_index, + ha->hw.sp_log_index, "sp_log_index"); + + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_stop", CTLFLAG_RW, &ha->hw.sp_log_stop, + ha->hw.sp_log_stop, "sp_log_stop"); + + ha->hw.sp_log_stop_events = 0; + + SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "sp_log_stop_events", CTLFLAG_RW, + &ha->hw.sp_log_stop_events, + ha->hw.sp_log_stop_events, "Slow path event log is stopped" + " when OR of the following events occur \n" + "\t 0x01 : Heart beat Failure\n" + "\t 0x02 : Temperature Failure\n" + "\t 0x04 : HW Initialization Failure\n" + "\t 0x08 : Interface Initialization Failure\n" + "\t 0x10 : Error Recovery Failure\n"); + ha->hw.mdump_active = 0; SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), @@ -998,13 +1129,13 @@ ql_hw_link_status(qla_host_t *ha) device_printf(ha->pci_dev, "link Down\n"); } - if (ha->hw.flags.fduplex) { + if (ha->hw.fduplex) { device_printf(ha->pci_dev, "Full Duplex\n"); } else { device_printf(ha->pci_dev, "Half Duplex\n"); } - if (ha->hw.flags.autoneg) { + if (ha->hw.autoneg) { device_printf(ha->pci_dev, "Auto Negotiation Enabled\n"); } else { device_printf(ha->pci_dev, "Auto Negotiation Disabled\n"); @@ -1255,19 +1386,39 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t uint32_t i; uint32_t data; int ret = 0; + uint64_t start_usecs; + uint64_t end_usecs; + uint64_t msecs_200; - if (QL_ERR_INJECT(ha, INJCT_MBX_CMD_FAILURE)) { + ql_sp_log(ha, 0, 5, no_pause, h_mbox[0], h_mbox[1], h_mbox[2], h_mbox[3]); + + if (ha->offline || ha->qla_initiate_recovery) { + ql_sp_log(ha, 1, 2, ha->offline, ha->qla_initiate_recovery, 0, 0, 0); + goto exit_qla_mbx_cmd; + } + + if (((ha->err_inject & 0xFFFF) == INJCT_MBX_CMD_FAILURE) && + (((ha->err_inject & ~0xFFFF) == ((h_mbox[0] & 0xFFFF) << 16))|| + !(ha->err_inject & ~0xFFFF))) { ret = -3; - ha->qla_initiate_recovery = 1; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } + start_usecs = qla_get_usec_timestamp(); + if (no_pause) i = 1000; else i = Q8_MBX_MSEC_DELAY; while (i) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 2, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + data = READ_REG32(ha, Q8_HOST_MBOX_CNTRL); if (data == 0) break; @@ -1282,8 +1433,10 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t if (i == 0) { device_printf(ha->pci_dev, "%s: host_mbx_cntrl 0x%08x\n", __func__, data); + ql_sp_log(ha, 3, 1, data, 0, 0, 0, 0); ret = -1; - ha->qla_initiate_recovery = 1; + ha->hw.mbx_comp_msecs[(Q8_MBX_COMP_MSECS - 2)]++; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } @@ -1297,6 +1450,12 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t i = Q8_MBX_MSEC_DELAY; while (i) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 4, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + data = READ_REG32(ha, Q8_FW_MBOX_CNTRL); if ((data & 0x3) == 1) { @@ -1314,18 +1473,44 @@ qla_mbx_cmd(qla_host_t *ha, uint32_t *h_mbox, uint32_t if (i == 0) { device_printf(ha->pci_dev, "%s: fw_mbx_cntrl 0x%08x\n", __func__, data); + ql_sp_log(ha, 5, 1, data, 0, 0, 0, 0); ret = -2; - ha->qla_initiate_recovery = 1; + ha->hw.mbx_comp_msecs[(Q8_MBX_COMP_MSECS - 1)]++; + QL_INITIATE_RECOVERY(ha); goto exit_qla_mbx_cmd; } for (i = 0; i < n_fwmbox; i++) { + + if (ha->qla_initiate_recovery) { + ql_sp_log(ha, 6, 1, ha->qla_initiate_recovery, 0, 0, 0, 0); + return (-1); + } + *fw_mbox++ = READ_REG32(ha, (Q8_FW_MBOX0 + (i << 2))); } WRITE_REG32(ha, Q8_FW_MBOX_CNTRL, 0x0); WRITE_REG32(ha, ha->hw.mbx_intr_mask_offset, 0x0); + end_usecs = qla_get_usec_timestamp(); + + if (end_usecs > start_usecs) { + msecs_200 = (end_usecs - start_usecs)/(1000 * 200); + + if (msecs_200 < 15) + ha->hw.mbx_comp_msecs[msecs_200]++; + else if (msecs_200 < 20) + ha->hw.mbx_comp_msecs[15]++; + else { + device_printf(ha->pci_dev, "%s: [%ld, %ld] %ld\n", __func__, + start_usecs, end_usecs, msecs_200); + ha->hw.mbx_comp_msecs[16]++; + } + } + ql_sp_log(ha, 7, 5, fw_mbox[0], fw_mbox[1], fw_mbox[2], fw_mbox[3], fw_mbox[4]); + + exit_qla_mbx_cmd: return (ret); } @@ -1401,7 +1586,8 @@ qla_config_intr_cntxt(qla_host_t *ha, uint32_t start_i if (qla_mbx_cmd(ha, (uint32_t *)c_intr, (sizeof (q80_config_intr_t) >> 2), ha->hw.mbox, (sizeof (q80_config_intr_rsp_t) >> 2), 0)) { - device_printf(dev, "%s: failed0\n", __func__); + device_printf(dev, "%s: %s failed0\n", __func__, + (create ? "create" : "delete")); return (-1); } @@ -1410,8 +1596,8 @@ qla_config_intr_cntxt(qla_host_t *ha, uint32_t start_i err = Q8_MBX_RSP_STATUS(c_intr_rsp->regcnt_status); if (err) { - device_printf(dev, "%s: failed1 [0x%08x, %d]\n", __func__, err, - c_intr_rsp->nentries); + device_printf(dev, "%s: %s failed1 [0x%08x, %d]\n", __func__, + (create ? "create" : "delete"), err, c_intr_rsp->nentries); for (i = 0; i < c_intr_rsp->nentries; i++) { device_printf(dev, "%s: [%d]:[0x%x 0x%x 0x%x]\n", @@ -2015,7 +2201,8 @@ ql_get_stats(qla_host_t *ha) cmd |= ((ha->pci_func & 0x1) << 16); - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; if (qla_get_hw_stats(ha, cmd, sizeof (q80_get_stats_rsp_t)) == 0) { @@ -2032,7 +2219,8 @@ ql_get_stats(qla_host_t *ha) // cmd |= Q8_GET_STATS_CMD_CLEAR; cmd |= (ha->hw.rcv_cntxt_id << 16); - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; if (qla_get_hw_stats(ha, cmd, sizeof (q80_get_stats_rsp_t)) == 0) { @@ -2043,13 +2231,18 @@ ql_get_stats(qla_host_t *ha) __func__, ha->hw.mbox[0]); } - if (ha->qla_watchdog_pause) + if (ha->qla_watchdog_pause || (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) goto ql_get_stats_exit; /* * Get XMT Statistics */ - for (i = 0 ; ((i < ha->hw.num_tx_rings) && (!ha->qla_watchdog_pause)); - i++) { + for (i = 0 ; (i < ha->hw.num_tx_rings); i++) { + if (ha->qla_watchdog_pause || + (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) || + ha->offline) + goto ql_get_stats_exit; + cmd = Q8_GET_STATS_CMD_XMT | Q8_GET_STATS_CMD_TYPE_CNTXT; // cmd |= Q8_GET_STATS_CMD_CLEAR; cmd |= (ha->hw.tx_cntxt[i].tx_cntxt_id << 16); @@ -2679,7 +2872,8 @@ ql_del_hw_if(qla_host_t *ha) qla_del_rcv_cntxt(ha); - qla_del_xmt_cntxt(ha); + if(qla_del_xmt_cntxt(ha)) + goto ql_del_hw_if_exit; if (ha->hw.flags.init_intr_cnxt) { for (i = 0; i < ha->hw.num_sds_rings; ) { @@ -2688,14 +2882,17 @@ ql_del_hw_if(qla_host_t *ha) num_msix = Q8_MAX_INTR_VECTORS; else num_msix = ha->hw.num_sds_rings - i; - qla_config_intr_cntxt(ha, i, num_msix, 0); + if (qla_config_intr_cntxt(ha, i, num_msix, 0)) + break; + i += num_msix; } ha->hw.flags.init_intr_cnxt = 0; } +ql_del_hw_if_exit: if (ha->hw.enable_soft_lro) { qla_drain_soft_lro(ha); qla_free_soft_lro(ha); @@ -3328,19 +3525,22 @@ qla_del_xmt_cntxt_i(qla_host_t *ha, uint32_t txr_idx) return (0); } -static void +static int qla_del_xmt_cntxt(qla_host_t *ha) { uint32_t i; + int ret = 0; if (!ha->hw.flags.init_tx_cnxt) - return; + return (ret); for (i = 0; i < ha->hw.num_tx_rings; i++) { - if (qla_del_xmt_cntxt_i(ha, i)) + if ((ret = qla_del_xmt_cntxt_i(ha, i)) != 0) break; } ha->hw.flags.init_tx_cnxt = 0; + + return (ret); } static int @@ -3350,8 +3550,10 @@ qla_init_xmt_cntxt(qla_host_t *ha) for (i = 0; i < ha->hw.num_tx_rings; i++) { if (qla_init_xmt_cntxt_i(ha, i) != 0) { - for (j = 0; j < i; j++) - qla_del_xmt_cntxt_i(ha, j); + for (j = 0; j < i; j++) { + if (qla_del_xmt_cntxt_i(ha, j)) + break; + } return (-1); } } @@ -3627,22 +3829,23 @@ ql_hw_tx_done_locked(qla_host_t *ha, uint32_t txr_idx) void ql_update_link_state(qla_host_t *ha) { - uint32_t link_state; + uint32_t link_state = 0; uint32_t prev_link_state; - if (!(ha->ifp->if_drv_flags & IFF_DRV_RUNNING)) { - ha->hw.link_up = 0; - return; - } - link_state = READ_REG32(ha, Q8_LINK_STATE); - prev_link_state = ha->hw.link_up; - if (ha->pci_func == 0) - ha->hw.link_up = (((link_state & 0xF) == 1)? 1 : 0); - else - ha->hw.link_up = ((((link_state >> 4)& 0xF) == 1)? 1 : 0); + if (ha->ifp->if_drv_flags & IFF_DRV_RUNNING) { + link_state = READ_REG32(ha, Q8_LINK_STATE); + if (ha->pci_func == 0) { + link_state = (((link_state & 0xF) == 1)? 1 : 0); + } else { + link_state = ((((link_state >> 4)& 0xF) == 1)? 1 : 0); + } + } + + atomic_store_rel_8(&ha->hw.link_up, (uint8_t)link_state); + if (prev_link_state != ha->hw.link_up) { if (ha->hw.link_up) { if_link_state_change(ha->ifp, LINK_STATE_UP); @@ -3669,8 +3872,14 @@ ql_hw_check_health(qla_host_t *ha) if (((val & 0xFFFF) == 2) || ((val & 0xFFFF) == 3) || (QL_ERR_INJECT(ha, INJCT_TEMPERATURE_FAILURE))) { - device_printf(ha->pci_dev, "%s: Temperature Alert [0x%08x]\n", - __func__, val); + device_printf(ha->pci_dev, "%s: Temperature Alert" + " at ts_usecs %ld ts_reg = 0x%08x\n", + __func__, qla_get_usec_timestamp(), val); + + if (ha->hw.sp_log_stop_events & Q8_SP_LOG_STOP_TEMP_FAILURE) + ha->hw.sp_log_stop = -1; + + QL_INITIATE_RECOVERY(ha); return -1; } @@ -3691,10 +3900,26 @@ ql_hw_check_health(qla_host_t *ha) __func__, val); if (ha->hw.hbeat_failure < 2) /* we ignore the first failure */ return 0; - else - device_printf(ha->pci_dev, "%s: Heartbeat Failue [0x%08x]\n", - __func__, val); + else { + uint32_t peg_halt_status1; + uint32_t peg_halt_status2; + peg_halt_status1 = READ_REG32(ha, Q8_PEG_HALT_STATUS1); + peg_halt_status2 = READ_REG32(ha, Q8_PEG_HALT_STATUS2); + + device_printf(ha->pci_dev, + "%s: Heartbeat Failue at ts_usecs = %ld " + "fw_heart_beat = 0x%08x " + "peg_halt_status1 = 0x%08x " + "peg_halt_status2 = 0x%08x\n", + __func__, qla_get_usec_timestamp(), val, + peg_halt_status1, peg_halt_status2); + + if (ha->hw.sp_log_stop_events & Q8_SP_LOG_STOP_HBEAT_FAILURE) + ha->hw.sp_log_stop = -1; + } + QL_INITIATE_RECOVERY(ha); + return -1; } @@ -4429,8 +4654,8 @@ ql_minidump(qla_host_t *ha) if (ha->hw.mdump_done) return; - - ha->hw.mdump_start_seq_index = ql_stop_sequence(ha); + ha->hw.mdump_usec_ts = qla_get_usec_timestamp(); + ha->hw.mdump_start_seq_index = ql_stop_sequence(ha); bzero(ha->hw.mdump_buffer, ha->hw.mdump_buffer_size); bzero(ha->hw.mdump_template, ha->hw.mdump_template_size); Modified: stable/9/sys/dev/qlxgbe/ql_hw.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_hw.h Tue Mar 6 23:17:56 2018 (r330556) +++ stable/9/sys/dev/qlxgbe/ql_hw.h Tue Mar 6 23:28:12 2018 (r330557) @@ -1600,26 +1600,26 @@ typedef struct _qla_hw { uint32_t unicast_mac :1, bcast_mac :1, - loopback_mode :2, init_tx_cnxt :1, init_rx_cnxt :1, init_intr_cnxt :1, - fduplex :1, - autoneg :1, fdt_valid :1; } flags; - uint16_t link_speed; - uint16_t cable_length; - uint32_t cable_oui; - uint8_t link_up; - uint8_t module_type; - uint8_t link_faults; + volatile uint16_t link_speed; + volatile uint16_t cable_length; + volatile uint32_t cable_oui; + volatile uint8_t link_up; + volatile uint8_t module_type; + volatile uint8_t link_faults; + volatile uint8_t loopback_mode; + volatile uint8_t fduplex; + volatile uint8_t autoneg; - uint8_t mac_rcv_mode; + volatile uint8_t mac_rcv_mode; - uint32_t max_mtu; + volatile uint32_t max_mtu; uint8_t mac_addr[ETHER_ADDR_LEN]; @@ -1703,9 +1703,25 @@ typedef struct _qla_hw { uint32_t mdump_buffer_size; void *mdump_template; uint32_t mdump_template_size; + uint64_t mdump_usec_ts; +#define Q8_MBX_COMP_MSECS (19) + uint64_t mbx_comp_msecs[Q8_MBX_COMP_MSECS]; /* driver state related */ void *drvr_state; + + /* slow path trace */ + uint32_t sp_log_stop_events; +#define Q8_SP_LOG_STOP_HBEAT_FAILURE 0x001 +#define Q8_SP_LOG_STOP_TEMP_FAILURE 0x002 +#define Q8_SP_LOG_STOP_HW_INIT_FAILURE 0x004 +#define Q8_SP_LOG_STOP_IF_START_FAILURE 0x008 +#define Q8_SP_LOG_STOP_ERR_RECOVERY_FAILURE 0x010 + + uint32_t sp_log_stop; + uint32_t sp_log_index; + uint32_t sp_log_num_entries; + void *sp_log; } qla_hw_t; #define QL_UPDATE_RDS_PRODUCER_INDEX(ha, prod_reg, val) \ Modified: stable/9/sys/dev/qlxgbe/ql_inline.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_inline.h Tue Mar 6 23:17:56 2018 (r330556) +++ stable/9/sys/dev/qlxgbe/ql_inline.h Tue Mar 6 23:28:12 2018 (r330557) @@ -166,7 +166,7 @@ qla_lock(qla_host_t *ha, const char *str, uint32_t tim while (1) { mtx_lock(&ha->hw_lock); - if (ha->qla_detach_active) { + if (ha->qla_detach_active || ha->offline) { mtx_unlock(&ha->hw_lock); break; } @@ -191,7 +191,10 @@ qla_lock(qla_host_t *ha, const char *str, uint32_t tim } } - //device_printf(ha->pci_dev, "%s: %s ret = %d\n", __func__, str,ret); +// if (!ha->enable_error_recovery) +// device_printf(ha->pci_dev, "%s: %s ret = %d\n", __func__, +// str,ret); + return (ret); } @@ -202,7 +205,9 @@ qla_unlock(qla_host_t *ha, const char *str) ha->hw_lock_held = 0; ha->qla_unlock = str; mtx_unlock(&ha->hw_lock); - //device_printf(ha->pci_dev, "%s: %s\n", __func__, str); + +// if (!ha->enable_error_recovery) +// device_printf(ha->pci_dev, "%s: %s\n", __func__, str); return; } Modified: stable/9/sys/dev/qlxgbe/ql_ioctl.c ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_ioctl.c Tue Mar 6 23:17:56 2018 (r330556) +++ stable/9/sys/dev/qlxgbe/ql_ioctl.c Tue Mar 6 23:28:12 2018 (r330557) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include "ql_ver.h" #include "ql_dbg.h" +static int ql_slowpath_log(qla_host_t *ha, qla_sp_log_t *log); static int ql_drvr_state(qla_host_t *ha, qla_driver_state_t *drvr_state); static uint32_t ql_drvr_state_size(qla_host_t *ha); static int ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, @@ -224,6 +225,7 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, case QLA_RD_FW_DUMP: if (ha->hw.mdump_init == 0) { + device_printf(pci_dev, "%s: minidump not initialized\n", __func__); rval = EINVAL; break; } @@ -233,45 +235,85 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, if ((fw_dump->minidump == NULL) || (fw_dump->minidump_size != (ha->hw.mdump_buffer_size + ha->hw.mdump_template_size))) { + device_printf(pci_dev, + "%s: minidump buffer [%p] size = [%d, %d] invalid\n", __func__, + fw_dump->minidump, fw_dump->minidump_size, + (ha->hw.mdump_buffer_size + ha->hw.mdump_template_size)); rval = EINVAL; break; } - if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { - if (!ha->hw.mdump_done) - ha->qla_initiate_recovery = 1; - QLA_UNLOCK(ha, __func__); - } else { + if ((ha->pci_func & 0x1)) { + device_printf(pci_dev, "%s: mindump allowed only on Port0\n", __func__); rval = ENXIO; break; } + + fw_dump->saved = 1; + + if (ha->offline) { + + if (ha->enable_minidump) + ql_minidump(ha); + + fw_dump->saved = 0; + fw_dump->usec_ts = ha->hw.mdump_usec_ts; + + if (!ha->hw.mdump_done) { + device_printf(pci_dev, + "%s: port offline minidump failed\n", __func__); + rval = ENXIO; + break; + } + } else { + + if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { + if (!ha->hw.mdump_done) { + fw_dump->saved = 0; + QL_INITIATE_RECOVERY(ha); + device_printf(pci_dev, "%s: recovery initiated " + " to trigger minidump\n", + __func__); + } + QLA_UNLOCK(ha, __func__); + } else { + device_printf(pci_dev, "%s: QLA_LOCK() failed0\n", __func__); + rval = ENXIO; + break; + } #define QLNX_DUMP_WAIT_SECS 30 - count = QLNX_DUMP_WAIT_SECS * 1000; + count = QLNX_DUMP_WAIT_SECS * 1000; - while (count) { - if (ha->hw.mdump_done) - break; - qla_mdelay(__func__, 100); - count -= 100; - } + while (count) { + if (ha->hw.mdump_done) + break; + qla_mdelay(__func__, 100); + count -= 100; + } - if (!ha->hw.mdump_done) { - rval = ENXIO; - break; - } + if (!ha->hw.mdump_done) { + device_printf(pci_dev, + "%s: port not offline minidump failed\n", __func__); + rval = ENXIO; + break; + } + fw_dump->usec_ts = ha->hw.mdump_usec_ts; - if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { - ha->hw.mdump_done = 0; - QLA_UNLOCK(ha, __func__); - } else { - rval = ENXIO; - break; + if (QLA_LOCK(ha, __func__, QLA_LOCK_DEFAULT_MS_TIMEOUT, 0) == 0) { + ha->hw.mdump_done = 0; + QLA_UNLOCK(ha, __func__); + } else { + device_printf(pci_dev, "%s: QLA_LOCK() failed1\n", __func__); + rval = ENXIO; + break; + } } if ((rval = copyout(ha->hw.mdump_template, fw_dump->minidump, ha->hw.mdump_template_size))) { + device_printf(pci_dev, "%s: template copyout failed\n", __func__); rval = ENXIO; break; } @@ -279,14 +321,20 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, if ((rval = copyout(ha->hw.mdump_buffer, ((uint8_t *)fw_dump->minidump + ha->hw.mdump_template_size), - ha->hw.mdump_buffer_size))) + ha->hw.mdump_buffer_size))) { + device_printf(pci_dev, "%s: minidump copyout failed\n", __func__); rval = ENXIO; + } break; case QLA_RD_DRVR_STATE: rval = ql_drvr_state(ha, (qla_driver_state_t *)data); break; + case QLA_RD_SLOWPATH_LOG: + rval = ql_slowpath_log(ha, (qla_sp_log_t *)data); + break; + case QLA_RD_PCI_IDS: pci_ids = (qla_rd_pci_ids_t *)data; pci_ids->ven_id = pci_get_vendor(pci_dev); @@ -304,12 +352,12 @@ ql_eioctl(struct cdev *dev, u_long cmd, caddr_t data, } + static int ql_drvr_state(qla_host_t *ha, qla_driver_state_t *state) { int rval = 0; uint32_t drvr_state_size; - qla_drvr_state_hdr_t *hdr; drvr_state_size = ql_drvr_state_size(ha); @@ -324,11 +372,8 @@ ql_drvr_state(qla_host_t *ha, qla_driver_state_t *stat if (ha->hw.drvr_state == NULL) return (ENOMEM); - hdr = ha->hw.drvr_state; + ql_capture_drvr_state(ha); - if (!hdr->drvr_version_major) - ql_capture_drvr_state(ha); - rval = copyout(ha->hw.drvr_state, state->buffer, drvr_state_size); bzero(ha->hw.drvr_state, drvr_state_size); @@ -416,22 +461,26 @@ ql_capture_drvr_state(qla_host_t *ha) { uint8_t *state_buffer; uint8_t *ptr; - uint32_t drvr_state_size; qla_drvr_state_hdr_t *hdr; uint32_t size; int i; - drvr_state_size = ql_drvr_state_size(ha); - state_buffer = ha->hw.drvr_state; if (state_buffer == NULL) return; - - bzero(state_buffer, drvr_state_size); hdr = (qla_drvr_state_hdr_t *)state_buffer; + + hdr->saved = 0; + if (hdr->drvr_version_major) { + hdr->saved = 1; + return; + } + + hdr->usec_ts = qla_get_usec_timestamp(); + hdr->drvr_version_major = QLA_VERSION_MAJOR; hdr->drvr_version_minor = QLA_VERSION_MINOR; hdr->drvr_version_build = QLA_VERSION_BUILD; @@ -512,6 +561,9 @@ ql_alloc_drvr_state_buffer(qla_host_t *ha) ha->hw.drvr_state = malloc(drvr_state_size, M_QLA83XXBUF, M_NOWAIT); + if (ha->hw.drvr_state != NULL) + bzero(ha->hw.drvr_state, drvr_state_size); + return; } @@ -521,5 +573,95 @@ ql_free_drvr_state_buffer(qla_host_t *ha) if (ha->hw.drvr_state != NULL) free(ha->hw.drvr_state, M_QLA83XXBUF); return; +} + +void +ql_sp_log(qla_host_t *ha, uint16_t fmtstr_idx, uint16_t num_params, + uint32_t param0, uint32_t param1, uint32_t param2, uint32_t param3, + uint32_t param4) +{ + qla_sp_log_entry_t *sp_e, *sp_log; + + if (((sp_log = ha->hw.sp_log) == NULL) || ha->hw.sp_log_stop) + return; + + mtx_lock(&ha->sp_log_lock); + + sp_e = &sp_log[ha->hw.sp_log_index]; + + bzero(sp_e, sizeof (qla_sp_log_entry_t)); + + sp_e->fmtstr_idx = fmtstr_idx; + sp_e->num_params = num_params; + + sp_e->usec_ts = qla_get_usec_timestamp(); + + sp_e->params[0] = param0; + sp_e->params[1] = param1; + sp_e->params[2] = param2; + sp_e->params[3] = param3; + sp_e->params[4] = param4; + + ha->hw.sp_log_index = (ha->hw.sp_log_index + 1) & (NUM_LOG_ENTRIES - 1); + + if (ha->hw.sp_log_num_entries < NUM_LOG_ENTRIES) + ha->hw.sp_log_num_entries++; + + mtx_unlock(&ha->sp_log_lock); + + return; +} + +void +ql_alloc_sp_log_buffer(qla_host_t *ha) +{ + uint32_t size; + + size = (sizeof(qla_sp_log_entry_t)) * NUM_LOG_ENTRIES; + + ha->hw.sp_log = malloc(size, M_QLA83XXBUF, M_NOWAIT); + + if (ha->hw.sp_log != NULL) + bzero(ha->hw.sp_log, size); + + ha->hw.sp_log_index = 0; + ha->hw.sp_log_num_entries = 0; + + return; +} + +void +ql_free_sp_log_buffer(qla_host_t *ha) +{ + if (ha->hw.sp_log != NULL) + free(ha->hw.sp_log, M_QLA83XXBUF); + return; +} + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable@freebsd.org Wed Mar 7 02:47:09 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A428F46A15 for ; Wed, 7 Mar 2018 02:47:09 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-yb0-x229.google.com (mail-yb0-x229.google.com [IPv6:2607:f8b0:4002:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A835B785B8 for ; Wed, 7 Mar 2018 02:47:08 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: by mail-yb0-x229.google.com with SMTP id 7-v6so267543ybc.5 for ; Tue, 06 Mar 2018 18:47:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=6oN+JBcxkpZV7/Xe4wfB4DCR5eXpPI6pfGrnJRg8zrc=; b=k61MXBUCcCncdTs8rtllYJJcd+vmB8el3iKUWuJbS8yP9ojq47NV6hykJ0XGV4pI7M w3dcA2couGw1v9eJAPwBMIBGUbxYM8Pe1ZatFCfzT4kTMppEusmoBlZFizpXQRnGIl5D tAKZmJEj3Z6N1l/dQfI2wiWq08vtwhl6B53o0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=6oN+JBcxkpZV7/Xe4wfB4DCR5eXpPI6pfGrnJRg8zrc=; b=MCci+Rl9qVJGzi4inyAAcOXx6kBZKniW7dzYgxd4psdqYhHuwMpM8Hg5C0j0YxjJ4L IsXYGB62MCDLPT9BB72acQh+m7tDdqm8di/Bf1y7NZUhzKsDoT91mPsKb7yuAXUK/HBh mx9Z7jt2WE7gjrj8VRi7kCu/L8is8vRgWN7VVekCuvAdji0Zn0gZRKFOsflI3xsMWR8A PBZ/E/Eq12r09BcqCNoWtaWG+reCpCt+NjFnErNXnsgVwH1KJCqpvca7chzimj269+d5 MZiRQSZnp7pXhTFXZxpkM+TfI+N6UOyQq+rOadfpyqL1rvE8DbSopUj1Tm/gt6xdkgto GZDg== X-Gm-Message-State: APf1xPAr2wBjLyIMx4UnUkNWsI5PFfZVv4rmoK0JS4tcbG9sczkV/06s VtbTCF7luSKlFT2j43BfW0UNRsH9f6gPPM63EYY86g== X-Google-Smtp-Source: AG47ELuKh5jHIpu7ScNMIu5oDplzc0S3r5z02tuSAbW9IgEtLKu1YxRUO6KfDj00VxcmATqhuDq67cyZ+VkUdn23SXg= X-Received: by 2002:a25:6006:: with SMTP id u6-v6mr12826746ybb.460.1520390827854; Tue, 06 Mar 2018 18:47:07 -0800 (PST) MIME-Version: 1.0 Sender: lists@eitanadler.com Received: by 2002:a25:23d2:0:0:0:0:0 with HTTP; Tue, 6 Mar 2018 18:46:37 -0800 (PST) In-Reply-To: <6465173.s2nWvWCLOs@ralph.baldwin.cx> References: <201803050754.w257swAE001435@repo.freebsd.org> <1861296.ksaTdANMae@ralph.baldwin.cx> <6465173.s2nWvWCLOs@ralph.baldwin.cx> From: Eitan Adler Date: Tue, 6 Mar 2018 18:46:37 -0800 X-Google-Sender-Auth: prZXvM2EBngsO6jgR2YPKbdws9w Message-ID: Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: John Baldwin Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 02:47:09 -0000 On 6 March 2018 at 08:26, John Baldwin wrote: > On Monday, March 05, 2018 07:13:59 PM Eitan Adler wrote: >> On 5 March 2018 at 10:08, John Baldwin wrote: >> > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote: >> >> Author: eadler >> >> Date: Mon Mar 5 07:54:57 2018 >> >> New Revision: 330451 >> >> URL: https://svnweb.freebsd.org/changeset/base/330451 >> >> >> >> Log: >> >> MFC r306837: >> >> >> >> [net80211] extend the ieee80211_rx_stats struct to include more information. >> > >> > Have you thought about the KBI implications of this change and some of the >> > other changes you've merged? >> >> I do have a copy of the modules from 11.1 and have loaded them at >> various points in time after merging. That said, I am not perfect. >> Unfortunately, my -STABLE box did not have fully functioning drivers >> before these changes so its difficult to test anything beyond "loads >> and does not panic.". I havn't done so today yet, but that will happen >> soon. >> >> Ensuring these things work through code inspection is certainly >> possible and I've skipped over several changes as a result. > > Loading a module doesn't alone doesn't actually test for breakage. I'm aware. In this case I should likely just revert this change since its a pretty blatant break. > It also tends to be a lot harder to find these > breakages in code one didn't write. This is true > I think for net80211 you need to generate a diff of all of the wireless > related changes you have MFC'd to stable/11 and then review that for ABI > changes and come up with a plan for how to restore the ABI and get re@'s > approval. (kib@ is a pretty good resource for devising ABI shims.) I'll take a look to see what else I broke / changed and either revert or write up a shim. Thanks! > Batching > up changes into a single diff is also helpful since if an API changes back > and forth in HEAD multiple times, collapsing them means that for stable you > may only need a single compat shim rather than several. Understood. My intention in doing them one-by-one was to make it easier to bisect if something goes wrong. -- Eitan Adler Source, Ports, Doc committer Bugmeister, Ports Security teams From owner-svn-src-stable@freebsd.org Wed Mar 7 05:47:49 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98D7FF2E5F0; Wed, 7 Mar 2018 05:47:49 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 328857EFB5; Wed, 7 Mar 2018 05:47:49 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 278701D5A9; Wed, 7 Mar 2018 05:47:49 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w275lmjK083355; Wed, 7 Mar 2018 05:47:48 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w275lm2e083354; Wed, 7 Mar 2018 05:47:48 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <201803070547.w275lm2e083354@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Wed, 7 Mar 2018 05:47:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330565 - stable/10/sys/netipsec X-SVN-Group: stable-10 X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: stable/10/sys/netipsec X-SVN-Commit-Revision: 330565 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 05:47:49 -0000 Author: gordon Date: Wed Mar 7 05:47:48 2018 New Revision: 330565 URL: https://svnweb.freebsd.org/changeset/base/330565 Log: Port r329561 to stable/10. There were structural changes preventing MFC. Check packet length to not make an out of bounds access. Also, save ah_nxt value to use later, since the ah pointer can become invalid. Reviewed by: ae@ Approved by: so Security: CVE-2018-6916 Security: FreeBSD-SA-18:01.ipsec Modified: stable/10/sys/netipsec/xform_ah.c Modified: stable/10/sys/netipsec/xform_ah.c ============================================================================== --- stable/10/sys/netipsec/xform_ah.c Wed Mar 7 04:11:14 2018 (r330564) +++ stable/10/sys/netipsec/xform_ah.c Wed Mar 7 05:47:48 2018 (r330565) @@ -599,6 +599,16 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski m_freem(m); return EACCES; } + if (skip + authsize + rplen > m->m_pkthdr.len) { + DPRINTF(("%s: bad mbuf length %u (expecting %lu)" + " for packet in SA %s/%08lx\n", __func__, + m->m_pkthdr.len, (u_long) (skip + authsize + rplen), + ipsec_address(&sav->sah->saidx.dst, buf, sizeof(buf)), + (u_long) ntohl(sav->spi))); + AHSTAT_INC(ahs_badauthl); + error = EACCES; + goto bad; + } AHSTAT_ADD(ahs_ibytes, m->m_pkthdr.len - skip - hl); /* Get crypto descriptors. */ @@ -664,6 +674,9 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski /* Zeroize the authenticator on the packet. */ m_copyback(m, skip + rplen, authsize, ipseczeroes); + /* Save ah_nxt, since ah pointer can become invalid after "massage" */ + hl = ah->ah_nxt; + /* "Massage" the packet headers for crypto processing. */ error = ah_massage_headers(&m, sav->sah->saidx.dst.sa.sa_family, skip, ahx->type, 0); @@ -688,7 +701,7 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski tc->tc_spi = sav->spi; tc->tc_dst = sav->sah->saidx.dst; tc->tc_proto = sav->sah->saidx.proto; - tc->tc_nxt = ah->ah_nxt; + tc->tc_nxt = hl; tc->tc_protoff = protoff; tc->tc_skip = skip; tc->tc_ptr = (caddr_t) mtag; /* Save the mtag we've identified. */ From owner-svn-src-stable@freebsd.org Wed Mar 7 06:13:48 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8B4ACF2F882; Wed, 7 Mar 2018 06:13:48 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 39A44801BE; Wed, 7 Mar 2018 06:13:48 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 344ED1DA7E; Wed, 7 Mar 2018 06:13:48 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w276Dm1K098108; Wed, 7 Mar 2018 06:13:48 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w276DlVX098098; Wed, 7 Mar 2018 06:13:47 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201803070613.w276DlVX098098@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 7 Mar 2018 06:13:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330570 - in stable/11: contrib/less usr.bin/less X-SVN-Group: stable-11 X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: in stable/11: contrib/less usr.bin/less X-SVN-Commit-Revision: 330570 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 06:13:48 -0000 Author: delphij Date: Wed Mar 7 06:13:47 2018 New Revision: 330570 URL: https://svnweb.freebsd.org/changeset/base/330570 Log: MFC r316339,317396,317829,326010,329554: less v530. Relnotes: yes Added: stable/11/contrib/less/fmt.uni - copied unchanged from r326010, head/contrib/less/fmt.uni Deleted: stable/11/contrib/less/mkhelp.c Modified: stable/11/contrib/less/LICENSE stable/11/contrib/less/NEWS stable/11/contrib/less/README stable/11/contrib/less/brac.c stable/11/contrib/less/ch.c stable/11/contrib/less/charset.c stable/11/contrib/less/charset.h stable/11/contrib/less/cmd.h stable/11/contrib/less/cmdbuf.c stable/11/contrib/less/command.c stable/11/contrib/less/compose.uni stable/11/contrib/less/cvt.c stable/11/contrib/less/decode.c stable/11/contrib/less/edit.c stable/11/contrib/less/filename.c stable/11/contrib/less/forwback.c stable/11/contrib/less/funcs.h stable/11/contrib/less/help.c stable/11/contrib/less/ifile.c stable/11/contrib/less/input.c stable/11/contrib/less/jump.c stable/11/contrib/less/less.h stable/11/contrib/less/less.hlp stable/11/contrib/less/less.nro stable/11/contrib/less/lessecho.c stable/11/contrib/less/lessecho.nro stable/11/contrib/less/lesskey.c stable/11/contrib/less/lesskey.h stable/11/contrib/less/lesskey.nro stable/11/contrib/less/lglob.h stable/11/contrib/less/line.c stable/11/contrib/less/linenum.c stable/11/contrib/less/lsystem.c stable/11/contrib/less/main.c stable/11/contrib/less/mark.c stable/11/contrib/less/mkutable stable/11/contrib/less/optfunc.c stable/11/contrib/less/option.c stable/11/contrib/less/option.h stable/11/contrib/less/opttbl.c stable/11/contrib/less/os.c stable/11/contrib/less/output.c stable/11/contrib/less/pattern.c stable/11/contrib/less/pattern.h stable/11/contrib/less/pckeys.h stable/11/contrib/less/position.c stable/11/contrib/less/position.h stable/11/contrib/less/prompt.c stable/11/contrib/less/screen.c stable/11/contrib/less/scrsize.c stable/11/contrib/less/search.c stable/11/contrib/less/signal.c stable/11/contrib/less/tags.c stable/11/contrib/less/ttyin.c stable/11/contrib/less/ubin.uni stable/11/contrib/less/version.c stable/11/contrib/less/wide.uni stable/11/usr.bin/less/defines.h Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/less/LICENSE ============================================================================== --- stable/11/contrib/less/LICENSE Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/LICENSE Wed Mar 7 06:13:47 2018 (r330570) @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2015 Mark Nudelman +Copyright (C) 1984-2016 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: stable/11/contrib/less/NEWS ============================================================================== --- stable/11/contrib/less/NEWS Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/NEWS Wed Mar 7 06:13:47 2018 (r330570) @@ -11,6 +11,82 @@ ====================================================================== + Major changes between "less" versions 487 and 530 + +* Don't output terminal init sequence if using -F and file fits on one screen. + +* When using -S, mark truncated lines with a special character. + The character can be changed or disabled via the new --rscroll option. + +* New command M marks the last line displayed on the screen. + +* New command ESC-m removes a line mark. + +* Status column (enabled via -J) now shows mark letters. + +* Status column shows search matches even if highlighting is disabled via -G. + +* A second ESC-u command will clear search match markers in the status column. + +* Do same ANSI escape code filtering for tag matching that we do for + searching, to help when viewing syntax-highlighted code. + +* Catch SIGTERM and clean up before exiting. + +* Fix bug initializing default charset on Windows. + +* Handle keypad ENTER key correctly if it sends something other than newline. + +* Fix buffering bug when using stdin with a LESSOPEN pipe. + +* On Windows, allow 'u' in -D option to enable underlining. + +* On Windows, use underline in sgr mode. + +* On Windows, convert UTF-8 to multibyte if console is not UTF-8. + +* Update Unicode tables to 2017-03-08. + +* Pass-thru Unicode formating chars (Cf type) instead of treating them + as binary chars. But treat them as binary if -U is set. + +* Fix erroneous binary file warning when UTF-8 file contains ANSI SGR sequences. + +* Fix bugs when using LESSOPEN and switching between stdin and other files. + +* Fix some bugs handling filenames containing shell metacharacters. + +* Fix some memory leaks. + +* Allow some debugging environment variables to be set in lesskey file. + +* Code improvements: + . Use ANSI prototypes in funcs.h declarations. + . Fix some const mismatches. + . Remove archaic "register" in variable declarations. + +====================================================================== + + Major changes between "less" versions 481 and 487 + +* New commands ESC-{ and ESC-} to shift to start/end of displayed lines. + +* Make search highlights work correctly when changing caselessness with -i. + +* New option -Da in Windows version to enable SGR mode. + +* Fix "nothing to search" error when top or bottom line on screen is empty. + +* Fix bug when terminal has no "cm" termcap entry. + +* Fix incorrect display when entering double-width chars in search string. + +* Fix bug in Unicode handling that missed some double width characters. + +* Update Unicode database to 9.0.0. + +====================================================================== + Major changes between "less" versions 458 and 481 * Don't overwrite history file; just append to it. Modified: stable/11/contrib/less/README ============================================================================== --- stable/11/contrib/less/README Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/README Wed Mar 7 06:13:47 2018 (r330570) @@ -7,9 +7,9 @@ ************************************************************************** ************************************************************************** - Less, version 481 + Less, version 530 - This is the distribution of less, version 481, released 31 Aug 2015. + This is the distribution of less, version 530, released 05 Dec 2017. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or @@ -23,6 +23,7 @@ Please report any problems to bug-less@gnu.org. See http://www.greenwoodsoftware.com/less for the latest info. + Source repository is at https://github.com/gwsw/less.git. ========================================================================= Modified: stable/11/contrib/less/brac.c ============================================================================== --- stable/11/contrib/less/brac.c Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/brac.c Wed Mar 7 06:13:47 2018 (r330570) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -25,13 +25,13 @@ */ public void match_brac(obrac, cbrac, forwdir, n) - register int obrac; - register int cbrac; + int obrac; + int cbrac; int forwdir; int n; { - register int c; - register int nest; + int c; + int nest; POSITION pos; int (*chget)(); Modified: stable/11/contrib/less/ch.c ============================================================================== --- stable/11/contrib/less/ch.c Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/ch.c Wed Mar 7 06:13:47 2018 (r330570) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -146,11 +146,11 @@ static int ch_addbuf(); int ch_get() { - register struct buf *bp; - register struct bufnode *bn; - register int n; - register int slept; - register int h; + struct buf *bp; + struct bufnode *bn; + int n; + int slept; + int h; POSITION pos; POSITION len; @@ -419,8 +419,8 @@ end_logfile() public void sync_logfile() { - register struct buf *bp; - register struct bufnode *bn; + struct buf *bp; + struct bufnode *bn; int warned = FALSE; BLOCKNUM block; BLOCKNUM nblocks; @@ -457,9 +457,9 @@ sync_logfile() buffered(block) BLOCKNUM block; { - register struct buf *bp; - register struct bufnode *bn; - register int h; + struct buf *bp; + struct bufnode *bn; + int h; h = BUFHASH(block); FOR_BUFS_IN_CHAIN(h, bn) @@ -477,7 +477,7 @@ buffered(block) */ public int ch_seek(pos) - register POSITION pos; + POSITION pos; { BLOCKNUM new_block; POSITION len; @@ -544,8 +544,8 @@ ch_end_seek() public int ch_end_buffer_seek() { - register struct buf *bp; - register struct bufnode *bn; + struct buf *bp; + struct bufnode *bn; POSITION buf_pos; POSITION end_pos; @@ -572,8 +572,8 @@ ch_end_buffer_seek() public int ch_beg_seek() { - register struct bufnode *bn; - register struct bufnode *firstbn; + struct bufnode *bn; + struct bufnode *firstbn; /* * Try a plain ch_seek first. @@ -632,7 +632,7 @@ ch_tell() public int ch_forw_get() { - register int c; + int c; if (thisfile == NULL) return (EOI); @@ -695,7 +695,7 @@ ch_setbufspace(bufspace) public void ch_flush() { - register struct bufnode *bn; + struct bufnode *bn; if (thisfile == NULL) return; @@ -762,8 +762,8 @@ ch_flush() static int ch_addbuf() { - register struct buf *bp; - register struct bufnode *bn; + struct buf *bp; + struct bufnode *bn; /* * Allocate and initialize a new buffer and link it @@ -787,7 +787,7 @@ ch_addbuf() static void init_hashtbl() { - register int h; + int h; for (h = 0; h < BUFHASH_SIZE; h++) { @@ -802,7 +802,7 @@ init_hashtbl() static void ch_delbufs() { - register struct bufnode *bn; + struct bufnode *bn; while (ch_bufhead != END_OF_CHAIN) { @@ -867,13 +867,12 @@ ch_init(f, flags) calloc(1, sizeof(struct filestate)); thisfile->buflist.next = thisfile->buflist.prev = END_OF_CHAIN; thisfile->nbufs = 0; - thisfile->flags = 0; + thisfile->flags = flags; thisfile->fpos = 0; thisfile->block = 0; thisfile->offset = 0; thisfile->file = -1; thisfile->fsize = NULL_POSITION; - ch_flags = flags; init_hashtbl(); /* * Try to seek; set CH_CANSEEK if it works. @@ -898,7 +897,7 @@ ch_close() if (thisfile == NULL) return; - if (ch_flags & (CH_CANSEEK|CH_POPENED|CH_HELPFILE)) + if ((ch_flags & (CH_CANSEEK|CH_POPENED|CH_HELPFILE)) && !(ch_flags & CH_KEEPOPEN)) { /* * We can seek or re-open, so we don't need to keep buffers. Modified: stable/11/contrib/less/charset.c ============================================================================== --- stable/11/contrib/less/charset.c Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/charset.c Wed Mar 7 06:13:47 2018 (r330570) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -22,6 +22,13 @@ #include "charset.h" +#if MSDOS_COMPILER==WIN32C +#define WIN32_LEAN_AND_MEAN +#include +#endif + +extern int bs_mode; + public int utf_mode = 0; /* @@ -64,6 +71,8 @@ struct cs_alias { char *oname; } cs_aliases[] = { { "UTF-8", "utf-8" }, + { "utf8", "utf-8" }, + { "UTF8", "utf-8" }, { "ANSI_X3.4-1968", "ascii" }, { "US-ASCII", "ascii" }, { "latin1", "iso8859" }, @@ -133,9 +142,9 @@ public int binattr = AT_STANDOUT; ichardef(s) char *s; { - register char *cp; - register int n; - register char v; + char *cp; + int n; + char v; n = 0; v = 0; @@ -188,11 +197,11 @@ ichardef(s) */ static int icharset(name, no_error) - register char *name; + char *name; int no_error; { - register struct charset *p; - register struct cs_alias *a; + struct charset *p; + struct cs_alias *a; if (name == NULL || *name == '\0') return (0); @@ -213,7 +222,13 @@ icharset(name, no_error) { ichardef(p->desc); if (p->p_flag != NULL) + { +#if MSDOS_COMPILER==WIN32C + *(p->p_flag) = 1 + (GetConsoleOutputCP() != CP_UTF8); +#else *(p->p_flag) = 1; +#endif + } return (1); } } @@ -232,7 +247,7 @@ icharset(name, no_error) static void ilocale() { - register int c; + int c; for (c = 0; c < (int) sizeof(chardef); c++) { @@ -249,16 +264,17 @@ ilocale() /* * Define the printing format for control (or binary utf) chars. */ - static void -setbinfmt(s, fmtvarptr, default_fmt) + public void +setfmt(s, fmtvarptr, attrptr, default_fmt) char *s; char **fmtvarptr; + int *attrptr; char *default_fmt; { if (s && utf_mode) { /* It would be too hard to account for width otherwise. */ - char *t = s; + char constant *t = s; while (*t) { if (*t < ' ' || *t > '~') @@ -280,15 +296,15 @@ setbinfmt(s, fmtvarptr, default_fmt) * Select the attributes if it starts with "*". */ attr: - if (*s == '*') + if (*s == '*' && s[1] != '\0') { switch (s[1]) { - case 'd': binattr = AT_BOLD; break; - case 'k': binattr = AT_BLINK; break; - case 's': binattr = AT_STANDOUT; break; - case 'u': binattr = AT_UNDERLINE; break; - default: binattr = AT_NORMAL; break; + case 'd': *attrptr = AT_BOLD; break; + case 'k': *attrptr = AT_BLINK; break; + case 's': *attrptr = AT_STANDOUT; break; + case 'u': *attrptr = AT_UNDERLINE; break; + default: *attrptr = AT_NORMAL; break; } s += 2; } @@ -303,7 +319,15 @@ set_charset() { char *s; +#if MSDOS_COMPILER==WIN32C /* + * If the Windows console is using UTF-8, we'll use it too. + */ + if (GetConsoleOutputCP() == CP_UTF8) + if (icharset("utf-8", 1)) + return; +#endif + /* * See if environment variable LESSCHARSET is defined. */ s = lgetenv("LESSCHARSET"); @@ -352,6 +376,7 @@ set_charset() * rather than from predefined charset entry. */ ilocale(); +#else #if MSDOS_COMPILER /* * Default to "dos". @@ -381,10 +406,10 @@ init_charset() set_charset(); s = lgetenv("LESSBINFMT"); - setbinfmt(s, &binfmt, "*s<%02X>"); + setfmt(s, &binfmt, &binattr, "*s<%02X>"); s = lgetenv("LESSUTFBINFMT"); - setbinfmt(s, &utfbinfmt, ""); + setfmt(s, &utfbinfmt, &binattr, ""); } /* @@ -484,7 +509,7 @@ prutfchar(ch) */ public int utf_len(ch) - char ch; + unsigned char ch; { if ((ch & 0x80) == 0) return 1; @@ -506,17 +531,18 @@ utf_len(ch) * Does the parameter point to the lead byte of a well-formed UTF-8 character? */ public int -is_utf8_well_formed(s, slen) - unsigned char *s; +is_utf8_well_formed(ss, slen) + char *ss; int slen; { int i; int len; + unsigned char *s = (unsigned char *) ss; if (IS_UTF8_INVALID(s[0])) return (0); - len = utf_len((char) s[0]); + len = utf_len(s[0]); if (len > slen) return (0); if (len == 1) @@ -540,40 +566,25 @@ is_utf8_well_formed(s, slen) } /* - * Return number of invalid UTF-8 sequences found in a buffer. + * Skip bytes until a UTF-8 lead byte (11xxxxxx) or ASCII byte (0xxxxxxx) is found. */ - public int -utf_bin_count(data, len) - unsigned char *data; - int len; + public void +utf_skip_to_lead(pp, limit) + char **pp; + char *limit; { - int bin_count = 0; - while (len > 0) - { - if (is_utf8_well_formed(data, len)) - { - int clen = utf_len(*data); - data += clen; - len -= clen; - } else - { - /* Skip to next lead byte. */ - bin_count++; - do { - ++data; - --len; - } while (len > 0 && !IS_UTF8_LEAD(*data)); - } - } - return (bin_count); + do { + ++(*pp); + } while (*pp < limit && !IS_UTF8_LEAD((*pp)[0] & 0377) && !IS_ASCII_OCTET((*pp)[0])); } + /* * Get the value of a UTF-8 character. */ public LWCHAR get_wchar(p) - char *p; + constant char *p; { switch (utf_len(p[0])) { @@ -677,7 +688,7 @@ put_wchar(pp, ch) step_char(pp, dir, limit) char **pp; signed int dir; - char *limit; + constant char *limit; { LWCHAR ch; int len; @@ -687,16 +698,16 @@ step_char(pp, dir, limit) { /* It's easy if chars are one byte. */ if (dir > 0) - ch = (LWCHAR) ((p < limit) ? *p++ : 0); + ch = (LWCHAR) (unsigned char) ((p < limit) ? *p++ : 0); else - ch = (LWCHAR) ((p > limit) ? *--p : 0); + ch = (LWCHAR) (unsigned char) ((p > limit) ? *--p : 0); } else if (dir > 0) { len = utf_len(*p); if (p + len > limit) { ch = 0; - p = limit; + p = (char *) limit; } else { ch = get_wchar(p); @@ -737,6 +748,10 @@ DECLARE_RANGE_TABLE_START(wide) #include "wide.uni" DECLARE_RANGE_TABLE_END(wide) +DECLARE_RANGE_TABLE_START(fmt) +#include "fmt.uni" +DECLARE_RANGE_TABLE_END(fmt) + /* comb_table is special pairs, not ranges. */ static struct wchar_range comb_table[] = { {0x0644,0x0622}, {0x0644,0x0623}, {0x0644,0x0625}, {0x0644,0x0627}, @@ -777,7 +792,8 @@ is_in_table(ch, table) is_composing_char(ch) LWCHAR ch; { - return is_in_table(ch, &compose_table); + return is_in_table(ch, &compose_table) || + (bs_mode != BS_CONTROL && is_in_table(ch, &fmt_table)); } /* @@ -787,7 +803,21 @@ is_composing_char(ch) is_ubin_char(ch) LWCHAR ch; { - return is_in_table(ch, &ubin_table); + int ubin = is_in_table(ch, &ubin_table) || + (bs_mode == BS_CONTROL && is_in_table(ch, &fmt_table)); +#if MSDOS_COMPILER==WIN32C + if (!ubin && utf_mode == 2 && ch < 0x10000) + { + /* + * Consider it binary if it can't be converted. + */ + BOOL used_default = TRUE; + WideCharToMultiByte(GetConsoleOutputCP(), WC_NO_BEST_FIT_CHARS, (LPCWSTR) &ch, 1, NULL, 0, NULL, &used_default); + if (used_default) + ubin = 1; + } +#endif + return ubin; } /* Modified: stable/11/contrib/less/charset.h ============================================================================== --- stable/11/contrib/less/charset.h Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/charset.h Wed Mar 7 06:13:47 2018 (r330570) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. Modified: stable/11/contrib/less/cmd.h ============================================================================== --- stable/11/contrib/less/cmd.h Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/cmd.h Wed Mar 7 06:13:47 2018 (r330570) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -8,127 +8,131 @@ */ -#define MAX_USERCMD 1000 -#define MAX_CMDLEN 16 +#define MAX_USERCMD 1000 +#define MAX_CMDLEN 16 -#define A_B_LINE 2 -#define A_B_SCREEN 3 -#define A_B_SCROLL 4 -#define A_B_SEARCH 5 -#define A_DIGIT 6 -#define A_DISP_OPTION 7 -#define A_DEBUG 8 -#define A_EXAMINE 9 -#define A_FIRSTCMD 10 -#define A_FREPAINT 11 -#define A_F_LINE 12 -#define A_F_SCREEN 13 -#define A_F_SCROLL 14 -#define A_F_SEARCH 15 -#define A_GOEND 16 -#define A_GOLINE 17 -#define A_GOMARK 18 -#define A_HELP 19 -#define A_NEXT_FILE 20 -#define A_PERCENT 21 -#define A_PREFIX 22 -#define A_PREV_FILE 23 -#define A_QUIT 24 -#define A_REPAINT 25 -#define A_SETMARK 26 -#define A_SHELL 27 -#define A_STAT 28 -#define A_FF_LINE 29 -#define A_BF_LINE 30 -#define A_VERSION 31 -#define A_VISUAL 32 -#define A_F_WINDOW 33 -#define A_B_WINDOW 34 -#define A_F_BRACKET 35 -#define A_B_BRACKET 36 -#define A_PIPE 37 -#define A_INDEX_FILE 38 -#define A_UNDO_SEARCH 39 -#define A_FF_SCREEN 40 -#define A_LSHIFT 41 -#define A_RSHIFT 42 -#define A_AGAIN_SEARCH 43 -#define A_T_AGAIN_SEARCH 44 -#define A_REVERSE_SEARCH 45 -#define A_T_REVERSE_SEARCH 46 -#define A_OPT_TOGGLE 47 -#define A_OPT_SET 48 -#define A_OPT_UNSET 49 -#define A_F_FOREVER 50 -#define A_GOPOS 51 -#define A_REMOVE_FILE 52 -#define A_NEXT_TAG 53 -#define A_PREV_TAG 54 -#define A_FILTER 55 -#define A_F_UNTIL_HILITE 56 -#define A_GOEND_BUF 57 +#define A_B_LINE 2 +#define A_B_SCREEN 3 +#define A_B_SCROLL 4 +#define A_B_SEARCH 5 +#define A_DIGIT 6 +#define A_DISP_OPTION 7 +#define A_DEBUG 8 +#define A_EXAMINE 9 +#define A_FIRSTCMD 10 +#define A_FREPAINT 11 +#define A_F_LINE 12 +#define A_F_SCREEN 13 +#define A_F_SCROLL 14 +#define A_F_SEARCH 15 +#define A_GOEND 16 +#define A_GOLINE 17 +#define A_GOMARK 18 +#define A_HELP 19 +#define A_NEXT_FILE 20 +#define A_PERCENT 21 +#define A_PREFIX 22 +#define A_PREV_FILE 23 +#define A_QUIT 24 +#define A_REPAINT 25 +#define A_SETMARK 26 +#define A_SHELL 27 +#define A_STAT 28 +#define A_FF_LINE 29 +#define A_BF_LINE 30 +#define A_VERSION 31 +#define A_VISUAL 32 +#define A_F_WINDOW 33 +#define A_B_WINDOW 34 +#define A_F_BRACKET 35 +#define A_B_BRACKET 36 +#define A_PIPE 37 +#define A_INDEX_FILE 38 +#define A_UNDO_SEARCH 39 +#define A_FF_SCREEN 40 +#define A_LSHIFT 41 +#define A_RSHIFT 42 +#define A_AGAIN_SEARCH 43 +#define A_T_AGAIN_SEARCH 44 +#define A_REVERSE_SEARCH 45 +#define A_T_REVERSE_SEARCH 46 +#define A_OPT_TOGGLE 47 +#define A_OPT_SET 48 +#define A_OPT_UNSET 49 +#define A_F_FOREVER 50 +#define A_GOPOS 51 +#define A_REMOVE_FILE 52 +#define A_NEXT_TAG 53 +#define A_PREV_TAG 54 +#define A_FILTER 55 +#define A_F_UNTIL_HILITE 56 +#define A_GOEND_BUF 57 +#define A_LLSHIFT 58 +#define A_RRSHIFT 59 +#define A_CLRMARK 62 +#define A_SETMARKBOT 63 -#define A_INVALID 100 -#define A_NOACTION 101 -#define A_UINVALID 102 -#define A_END_LIST 103 -#define A_SPECIAL_KEY 104 +#define A_INVALID 100 +#define A_NOACTION 101 +#define A_UINVALID 102 +#define A_END_LIST 103 +#define A_SPECIAL_KEY 104 -#define A_SKIP 127 +#define A_SKIP 127 -#define A_EXTRA 0200 +#define A_EXTRA 0200 /* Line editing characters */ -#define EC_BACKSPACE 1 -#define EC_LINEKILL 2 -#define EC_RIGHT 3 -#define EC_LEFT 4 -#define EC_W_LEFT 5 -#define EC_W_RIGHT 6 -#define EC_INSERT 7 -#define EC_DELETE 8 -#define EC_HOME 9 -#define EC_END 10 -#define EC_W_BACKSPACE 11 -#define EC_W_DELETE 12 -#define EC_UP 13 -#define EC_DOWN 14 -#define EC_EXPAND 15 -#define EC_F_COMPLETE 17 -#define EC_B_COMPLETE 18 -#define EC_LITERAL 19 -#define EC_ABORT 20 +#define EC_BACKSPACE 1 +#define EC_LINEKILL 2 +#define EC_RIGHT 3 +#define EC_LEFT 4 +#define EC_W_LEFT 5 +#define EC_W_RIGHT 6 +#define EC_INSERT 7 +#define EC_DELETE 8 +#define EC_HOME 9 +#define EC_END 10 +#define EC_W_BACKSPACE 11 +#define EC_W_DELETE 12 +#define EC_UP 13 +#define EC_DOWN 14 +#define EC_EXPAND 15 +#define EC_F_COMPLETE 17 +#define EC_B_COMPLETE 18 +#define EC_LITERAL 19 +#define EC_ABORT 20 -#define EC_NOACTION 101 -#define EC_UINVALID 102 +#define EC_NOACTION 101 +#define EC_UINVALID 102 /* Flags for editchar() */ -#define EC_PEEK 01 -#define EC_NOHISTORY 02 -#define EC_NOCOMPLETE 04 -#define EC_NORIGHTLEFT 010 +#define EC_PEEK 01 +#define EC_NOHISTORY 02 +#define EC_NOCOMPLETE 04 +#define EC_NORIGHTLEFT 010 /* Environment variable stuff */ -#define EV_OK 01 +#define EV_OK 01 /* Special keys (keys which output different strings on different terminals) */ -#define SK_SPECIAL_KEY CONTROL('K') -#define SK_RIGHT_ARROW 1 -#define SK_LEFT_ARROW 2 -#define SK_UP_ARROW 3 -#define SK_DOWN_ARROW 4 -#define SK_PAGE_UP 5 -#define SK_PAGE_DOWN 6 -#define SK_HOME 7 -#define SK_END 8 -#define SK_DELETE 9 -#define SK_INSERT 10 -#define SK_CTL_LEFT_ARROW 11 -#define SK_CTL_RIGHT_ARROW 12 -#define SK_CTL_DELETE 13 -#define SK_F1 14 -#define SK_BACKTAB 15 -#define SK_CTL_BACKSPACE 16 -#define SK_CONTROL_K 40 +#define SK_SPECIAL_KEY CONTROL('K') +#define SK_RIGHT_ARROW 1 +#define SK_LEFT_ARROW 2 +#define SK_UP_ARROW 3 +#define SK_DOWN_ARROW 4 +#define SK_PAGE_UP 5 +#define SK_PAGE_DOWN 6 +#define SK_HOME 7 +#define SK_END 8 +#define SK_DELETE 9 +#define SK_INSERT 10 +#define SK_CTL_LEFT_ARROW 11 +#define SK_CTL_RIGHT_ARROW 12 +#define SK_CTL_DELETE 13 +#define SK_F1 14 +#define SK_BACKTAB 15 +#define SK_CTL_BACKSPACE 16 +#define SK_CONTROL_K 40 Modified: stable/11/contrib/less/cmdbuf.c ============================================================================== --- stable/11/contrib/less/cmdbuf.c Wed Mar 7 06:04:25 2018 (r330569) +++ stable/11/contrib/less/cmdbuf.c Wed Mar 7 06:13:47 2018 (r330570) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -40,7 +40,7 @@ static int in_completion = 0; static char *tk_text; static char *tk_original; static char *tk_ipoint; -static char *tk_trial; +static char *tk_trial = NULL; static struct textlist tk_tlist; #endif @@ -76,25 +76,25 @@ struct mlist */ struct mlist mlist_search = { &mlist_search, &mlist_search, &mlist_search, NULL, 0 }; -public void * constant ml_search = (void *) &mlist_search; +public void *ml_search = (void *) &mlist_search; struct mlist mlist_examine = { &mlist_examine, &mlist_examine, &mlist_examine, NULL, 0 }; -public void * constant ml_examine = (void *) &mlist_examine; +public void *ml_examine = (void *) &mlist_examine; #if SHELL_ESCAPE || PIPEC struct mlist mlist_shell = { &mlist_shell, &mlist_shell, &mlist_shell, NULL, 0 }; -public void * constant ml_shell = (void *) &mlist_shell; +public void *ml_shell = (void *) &mlist_shell; #endif #else /* CMD_HISTORY */ /* If CMD_HISTORY is off, these are just flags. */ -public void * constant ml_search = (void *)1; -public void * constant ml_examine = (void *)2; +public void *ml_search = (void *)1; +public void *ml_examine = (void *)2; #if SHELL_ESCAPE || PIPEC -public void * constant ml_shell = (void *)3; +public void *ml_shell = (void *)3; #endif #endif /* CMD_HISTORY */ @@ -141,28 +141,26 @@ clear_cmd() */ public void cmd_putstr(s) - char *s; + constant char *s; { LWCHAR prev_ch = 0; LWCHAR ch; - char *endline = s + strlen(s); + constant char *endline = s + strlen(s); while (*s != '\0') { - char *ns = s; + char *ns = (char *) s; + int width; ch = step_char(&ns, +1, endline); while (s < ns) putchr(*s++); if (!utf_mode) - { - cmd_col++; - prompt_col++; - } else if (!is_composing_char(ch) && - !is_combining_char(prev_ch, ch)) - { - int width = is_wide_char(ch) ? 2 : 1; - cmd_col += width; - prompt_col += width; - } + width = 1; + else if (is_composing_char(ch) || is_combining_char(prev_ch, ch)) + width = 0; + else + width = is_wide_char(ch) ? 2 : 1; + cmd_col += width; + prompt_col += width; prev_ch = ch; } } @@ -187,6 +185,8 @@ len_cmdbuf() /* * Common part of cmd_step_right() and cmd_step_left(). + * {{ Returning pwidth and bswidth separately is a historical artifact + * since they're always the same. Maybe clean this up someday. }} */ static char * cmd_step_common(p, ch, len, pwidth, bswidth) @@ -197,58 +197,32 @@ cmd_step_common(p, ch, len, pwidth, bswidth) int *bswidth; { char *pr; + int width; if (len == 1) { pr = prchar((int) ch); - if (pwidth != NULL || bswidth != NULL) - { - int len = (int) strlen(pr); - if (pwidth != NULL) - *pwidth = len; - if (bswidth != NULL) - *bswidth = len; - } + width = (int) strlen(pr); } else { pr = prutfchar(ch); - if (pwidth != NULL || bswidth != NULL) + if (is_composing_char(ch)) + width = 0; + else if (is_ubin_char(ch)) + width = (int) strlen(pr); + else *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable@freebsd.org Wed Mar 7 06:39:02 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B1ADF30C1D; Wed, 7 Mar 2018 06:39:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3247E8108F; Wed, 7 Mar 2018 06:39:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1E5061DDBD; Wed, 7 Mar 2018 06:39:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w276d2p8008070; Wed, 7 Mar 2018 06:39:02 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w276d14P008060; Wed, 7 Mar 2018 06:39:01 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201803070639.w276d14P008060@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 7 Mar 2018 06:39:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330571 - in stable/10: contrib/less usr.bin/less X-SVN-Group: stable-10 X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: in stable/10: contrib/less usr.bin/less X-SVN-Commit-Revision: 330571 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 06:39:03 -0000 Author: delphij Date: Wed Mar 7 06:39:00 2018 New Revision: 330571 URL: https://svnweb.freebsd.org/changeset/base/330571 Log: MFC r316339,317396,317829,326010,329554: less v530. Relnotes: yes Added: stable/10/contrib/less/fmt.uni - copied unchanged from r326010, head/contrib/less/fmt.uni Deleted: stable/10/contrib/less/mkhelp.c Modified: stable/10/contrib/less/LICENSE stable/10/contrib/less/NEWS stable/10/contrib/less/README stable/10/contrib/less/brac.c stable/10/contrib/less/ch.c stable/10/contrib/less/charset.c stable/10/contrib/less/charset.h stable/10/contrib/less/cmd.h stable/10/contrib/less/cmdbuf.c stable/10/contrib/less/command.c stable/10/contrib/less/compose.uni stable/10/contrib/less/cvt.c stable/10/contrib/less/decode.c stable/10/contrib/less/edit.c stable/10/contrib/less/filename.c stable/10/contrib/less/forwback.c stable/10/contrib/less/funcs.h stable/10/contrib/less/help.c stable/10/contrib/less/ifile.c stable/10/contrib/less/input.c stable/10/contrib/less/jump.c stable/10/contrib/less/less.h stable/10/contrib/less/less.hlp stable/10/contrib/less/less.nro stable/10/contrib/less/lessecho.c stable/10/contrib/less/lessecho.nro stable/10/contrib/less/lesskey.c stable/10/contrib/less/lesskey.h stable/10/contrib/less/lesskey.nro stable/10/contrib/less/lglob.h stable/10/contrib/less/line.c stable/10/contrib/less/linenum.c stable/10/contrib/less/lsystem.c stable/10/contrib/less/main.c stable/10/contrib/less/mark.c stable/10/contrib/less/mkutable stable/10/contrib/less/optfunc.c stable/10/contrib/less/option.c stable/10/contrib/less/option.h stable/10/contrib/less/opttbl.c stable/10/contrib/less/os.c stable/10/contrib/less/output.c stable/10/contrib/less/pattern.c stable/10/contrib/less/pattern.h stable/10/contrib/less/pckeys.h stable/10/contrib/less/position.c stable/10/contrib/less/position.h stable/10/contrib/less/prompt.c stable/10/contrib/less/screen.c stable/10/contrib/less/scrsize.c stable/10/contrib/less/search.c stable/10/contrib/less/signal.c stable/10/contrib/less/tags.c stable/10/contrib/less/ttyin.c stable/10/contrib/less/ubin.uni stable/10/contrib/less/version.c stable/10/contrib/less/wide.uni stable/10/usr.bin/less/defines.h Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/less/LICENSE ============================================================================== --- stable/10/contrib/less/LICENSE Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/LICENSE Wed Mar 7 06:39:00 2018 (r330571) @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2015 Mark Nudelman +Copyright (C) 1984-2016 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: stable/10/contrib/less/NEWS ============================================================================== --- stable/10/contrib/less/NEWS Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/NEWS Wed Mar 7 06:39:00 2018 (r330571) @@ -11,6 +11,82 @@ ====================================================================== + Major changes between "less" versions 487 and 530 + +* Don't output terminal init sequence if using -F and file fits on one screen. + +* When using -S, mark truncated lines with a special character. + The character can be changed or disabled via the new --rscroll option. + +* New command M marks the last line displayed on the screen. + +* New command ESC-m removes a line mark. + +* Status column (enabled via -J) now shows mark letters. + +* Status column shows search matches even if highlighting is disabled via -G. + +* A second ESC-u command will clear search match markers in the status column. + +* Do same ANSI escape code filtering for tag matching that we do for + searching, to help when viewing syntax-highlighted code. + +* Catch SIGTERM and clean up before exiting. + +* Fix bug initializing default charset on Windows. + +* Handle keypad ENTER key correctly if it sends something other than newline. + +* Fix buffering bug when using stdin with a LESSOPEN pipe. + +* On Windows, allow 'u' in -D option to enable underlining. + +* On Windows, use underline in sgr mode. + +* On Windows, convert UTF-8 to multibyte if console is not UTF-8. + +* Update Unicode tables to 2017-03-08. + +* Pass-thru Unicode formating chars (Cf type) instead of treating them + as binary chars. But treat them as binary if -U is set. + +* Fix erroneous binary file warning when UTF-8 file contains ANSI SGR sequences. + +* Fix bugs when using LESSOPEN and switching between stdin and other files. + +* Fix some bugs handling filenames containing shell metacharacters. + +* Fix some memory leaks. + +* Allow some debugging environment variables to be set in lesskey file. + +* Code improvements: + . Use ANSI prototypes in funcs.h declarations. + . Fix some const mismatches. + . Remove archaic "register" in variable declarations. + +====================================================================== + + Major changes between "less" versions 481 and 487 + +* New commands ESC-{ and ESC-} to shift to start/end of displayed lines. + +* Make search highlights work correctly when changing caselessness with -i. + +* New option -Da in Windows version to enable SGR mode. + +* Fix "nothing to search" error when top or bottom line on screen is empty. + +* Fix bug when terminal has no "cm" termcap entry. + +* Fix incorrect display when entering double-width chars in search string. + +* Fix bug in Unicode handling that missed some double width characters. + +* Update Unicode database to 9.0.0. + +====================================================================== + Major changes between "less" versions 458 and 481 * Don't overwrite history file; just append to it. Modified: stable/10/contrib/less/README ============================================================================== --- stable/10/contrib/less/README Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/README Wed Mar 7 06:39:00 2018 (r330571) @@ -7,9 +7,9 @@ ************************************************************************** ************************************************************************** - Less, version 481 + Less, version 530 - This is the distribution of less, version 481, released 31 Aug 2015. + This is the distribution of less, version 530, released 05 Dec 2017. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or @@ -23,6 +23,7 @@ Please report any problems to bug-less@gnu.org. See http://www.greenwoodsoftware.com/less for the latest info. + Source repository is at https://github.com/gwsw/less.git. ========================================================================= Modified: stable/10/contrib/less/brac.c ============================================================================== --- stable/10/contrib/less/brac.c Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/brac.c Wed Mar 7 06:39:00 2018 (r330571) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -25,13 +25,13 @@ */ public void match_brac(obrac, cbrac, forwdir, n) - register int obrac; - register int cbrac; + int obrac; + int cbrac; int forwdir; int n; { - register int c; - register int nest; + int c; + int nest; POSITION pos; int (*chget)(); Modified: stable/10/contrib/less/ch.c ============================================================================== --- stable/10/contrib/less/ch.c Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/ch.c Wed Mar 7 06:39:00 2018 (r330571) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -146,11 +146,11 @@ static int ch_addbuf(); int ch_get() { - register struct buf *bp; - register struct bufnode *bn; - register int n; - register int slept; - register int h; + struct buf *bp; + struct bufnode *bn; + int n; + int slept; + int h; POSITION pos; POSITION len; @@ -419,8 +419,8 @@ end_logfile() public void sync_logfile() { - register struct buf *bp; - register struct bufnode *bn; + struct buf *bp; + struct bufnode *bn; int warned = FALSE; BLOCKNUM block; BLOCKNUM nblocks; @@ -457,9 +457,9 @@ sync_logfile() buffered(block) BLOCKNUM block; { - register struct buf *bp; - register struct bufnode *bn; - register int h; + struct buf *bp; + struct bufnode *bn; + int h; h = BUFHASH(block); FOR_BUFS_IN_CHAIN(h, bn) @@ -477,7 +477,7 @@ buffered(block) */ public int ch_seek(pos) - register POSITION pos; + POSITION pos; { BLOCKNUM new_block; POSITION len; @@ -544,8 +544,8 @@ ch_end_seek() public int ch_end_buffer_seek() { - register struct buf *bp; - register struct bufnode *bn; + struct buf *bp; + struct bufnode *bn; POSITION buf_pos; POSITION end_pos; @@ -572,8 +572,8 @@ ch_end_buffer_seek() public int ch_beg_seek() { - register struct bufnode *bn; - register struct bufnode *firstbn; + struct bufnode *bn; + struct bufnode *firstbn; /* * Try a plain ch_seek first. @@ -632,7 +632,7 @@ ch_tell() public int ch_forw_get() { - register int c; + int c; if (thisfile == NULL) return (EOI); @@ -695,7 +695,7 @@ ch_setbufspace(bufspace) public void ch_flush() { - register struct bufnode *bn; + struct bufnode *bn; if (thisfile == NULL) return; @@ -762,8 +762,8 @@ ch_flush() static int ch_addbuf() { - register struct buf *bp; - register struct bufnode *bn; + struct buf *bp; + struct bufnode *bn; /* * Allocate and initialize a new buffer and link it @@ -787,7 +787,7 @@ ch_addbuf() static void init_hashtbl() { - register int h; + int h; for (h = 0; h < BUFHASH_SIZE; h++) { @@ -802,7 +802,7 @@ init_hashtbl() static void ch_delbufs() { - register struct bufnode *bn; + struct bufnode *bn; while (ch_bufhead != END_OF_CHAIN) { @@ -867,13 +867,12 @@ ch_init(f, flags) calloc(1, sizeof(struct filestate)); thisfile->buflist.next = thisfile->buflist.prev = END_OF_CHAIN; thisfile->nbufs = 0; - thisfile->flags = 0; + thisfile->flags = flags; thisfile->fpos = 0; thisfile->block = 0; thisfile->offset = 0; thisfile->file = -1; thisfile->fsize = NULL_POSITION; - ch_flags = flags; init_hashtbl(); /* * Try to seek; set CH_CANSEEK if it works. @@ -898,7 +897,7 @@ ch_close() if (thisfile == NULL) return; - if (ch_flags & (CH_CANSEEK|CH_POPENED|CH_HELPFILE)) + if ((ch_flags & (CH_CANSEEK|CH_POPENED|CH_HELPFILE)) && !(ch_flags & CH_KEEPOPEN)) { /* * We can seek or re-open, so we don't need to keep buffers. Modified: stable/10/contrib/less/charset.c ============================================================================== --- stable/10/contrib/less/charset.c Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/charset.c Wed Mar 7 06:39:00 2018 (r330571) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -22,6 +22,13 @@ #include "charset.h" +#if MSDOS_COMPILER==WIN32C +#define WIN32_LEAN_AND_MEAN +#include +#endif + +extern int bs_mode; + public int utf_mode = 0; /* @@ -64,6 +71,8 @@ struct cs_alias { char *oname; } cs_aliases[] = { { "UTF-8", "utf-8" }, + { "utf8", "utf-8" }, + { "UTF8", "utf-8" }, { "ANSI_X3.4-1968", "ascii" }, { "US-ASCII", "ascii" }, { "latin1", "iso8859" }, @@ -133,9 +142,9 @@ public int binattr = AT_STANDOUT; ichardef(s) char *s; { - register char *cp; - register int n; - register char v; + char *cp; + int n; + char v; n = 0; v = 0; @@ -188,11 +197,11 @@ ichardef(s) */ static int icharset(name, no_error) - register char *name; + char *name; int no_error; { - register struct charset *p; - register struct cs_alias *a; + struct charset *p; + struct cs_alias *a; if (name == NULL || *name == '\0') return (0); @@ -213,7 +222,13 @@ icharset(name, no_error) { ichardef(p->desc); if (p->p_flag != NULL) + { +#if MSDOS_COMPILER==WIN32C + *(p->p_flag) = 1 + (GetConsoleOutputCP() != CP_UTF8); +#else *(p->p_flag) = 1; +#endif + } return (1); } } @@ -232,7 +247,7 @@ icharset(name, no_error) static void ilocale() { - register int c; + int c; for (c = 0; c < (int) sizeof(chardef); c++) { @@ -249,16 +264,17 @@ ilocale() /* * Define the printing format for control (or binary utf) chars. */ - static void -setbinfmt(s, fmtvarptr, default_fmt) + public void +setfmt(s, fmtvarptr, attrptr, default_fmt) char *s; char **fmtvarptr; + int *attrptr; char *default_fmt; { if (s && utf_mode) { /* It would be too hard to account for width otherwise. */ - char *t = s; + char constant *t = s; while (*t) { if (*t < ' ' || *t > '~') @@ -280,15 +296,15 @@ setbinfmt(s, fmtvarptr, default_fmt) * Select the attributes if it starts with "*". */ attr: - if (*s == '*') + if (*s == '*' && s[1] != '\0') { switch (s[1]) { - case 'd': binattr = AT_BOLD; break; - case 'k': binattr = AT_BLINK; break; - case 's': binattr = AT_STANDOUT; break; - case 'u': binattr = AT_UNDERLINE; break; - default: binattr = AT_NORMAL; break; + case 'd': *attrptr = AT_BOLD; break; + case 'k': *attrptr = AT_BLINK; break; + case 's': *attrptr = AT_STANDOUT; break; + case 'u': *attrptr = AT_UNDERLINE; break; + default: *attrptr = AT_NORMAL; break; } s += 2; } @@ -303,7 +319,15 @@ set_charset() { char *s; +#if MSDOS_COMPILER==WIN32C /* + * If the Windows console is using UTF-8, we'll use it too. + */ + if (GetConsoleOutputCP() == CP_UTF8) + if (icharset("utf-8", 1)) + return; +#endif + /* * See if environment variable LESSCHARSET is defined. */ s = lgetenv("LESSCHARSET"); @@ -352,6 +376,7 @@ set_charset() * rather than from predefined charset entry. */ ilocale(); +#else #if MSDOS_COMPILER /* * Default to "dos". @@ -381,10 +406,10 @@ init_charset() set_charset(); s = lgetenv("LESSBINFMT"); - setbinfmt(s, &binfmt, "*s<%02X>"); + setfmt(s, &binfmt, &binattr, "*s<%02X>"); s = lgetenv("LESSUTFBINFMT"); - setbinfmt(s, &utfbinfmt, ""); + setfmt(s, &utfbinfmt, &binattr, ""); } /* @@ -484,7 +509,7 @@ prutfchar(ch) */ public int utf_len(ch) - char ch; + unsigned char ch; { if ((ch & 0x80) == 0) return 1; @@ -506,17 +531,18 @@ utf_len(ch) * Does the parameter point to the lead byte of a well-formed UTF-8 character? */ public int -is_utf8_well_formed(s, slen) - unsigned char *s; +is_utf8_well_formed(ss, slen) + char *ss; int slen; { int i; int len; + unsigned char *s = (unsigned char *) ss; if (IS_UTF8_INVALID(s[0])) return (0); - len = utf_len((char) s[0]); + len = utf_len(s[0]); if (len > slen) return (0); if (len == 1) @@ -540,40 +566,25 @@ is_utf8_well_formed(s, slen) } /* - * Return number of invalid UTF-8 sequences found in a buffer. + * Skip bytes until a UTF-8 lead byte (11xxxxxx) or ASCII byte (0xxxxxxx) is found. */ - public int -utf_bin_count(data, len) - unsigned char *data; - int len; + public void +utf_skip_to_lead(pp, limit) + char **pp; + char *limit; { - int bin_count = 0; - while (len > 0) - { - if (is_utf8_well_formed(data, len)) - { - int clen = utf_len(*data); - data += clen; - len -= clen; - } else - { - /* Skip to next lead byte. */ - bin_count++; - do { - ++data; - --len; - } while (len > 0 && !IS_UTF8_LEAD(*data)); - } - } - return (bin_count); + do { + ++(*pp); + } while (*pp < limit && !IS_UTF8_LEAD((*pp)[0] & 0377) && !IS_ASCII_OCTET((*pp)[0])); } + /* * Get the value of a UTF-8 character. */ public LWCHAR get_wchar(p) - char *p; + constant char *p; { switch (utf_len(p[0])) { @@ -677,7 +688,7 @@ put_wchar(pp, ch) step_char(pp, dir, limit) char **pp; signed int dir; - char *limit; + constant char *limit; { LWCHAR ch; int len; @@ -687,16 +698,16 @@ step_char(pp, dir, limit) { /* It's easy if chars are one byte. */ if (dir > 0) - ch = (LWCHAR) ((p < limit) ? *p++ : 0); + ch = (LWCHAR) (unsigned char) ((p < limit) ? *p++ : 0); else - ch = (LWCHAR) ((p > limit) ? *--p : 0); + ch = (LWCHAR) (unsigned char) ((p > limit) ? *--p : 0); } else if (dir > 0) { len = utf_len(*p); if (p + len > limit) { ch = 0; - p = limit; + p = (char *) limit; } else { ch = get_wchar(p); @@ -737,6 +748,10 @@ DECLARE_RANGE_TABLE_START(wide) #include "wide.uni" DECLARE_RANGE_TABLE_END(wide) +DECLARE_RANGE_TABLE_START(fmt) +#include "fmt.uni" +DECLARE_RANGE_TABLE_END(fmt) + /* comb_table is special pairs, not ranges. */ static struct wchar_range comb_table[] = { {0x0644,0x0622}, {0x0644,0x0623}, {0x0644,0x0625}, {0x0644,0x0627}, @@ -777,7 +792,8 @@ is_in_table(ch, table) is_composing_char(ch) LWCHAR ch; { - return is_in_table(ch, &compose_table); + return is_in_table(ch, &compose_table) || + (bs_mode != BS_CONTROL && is_in_table(ch, &fmt_table)); } /* @@ -787,7 +803,21 @@ is_composing_char(ch) is_ubin_char(ch) LWCHAR ch; { - return is_in_table(ch, &ubin_table); + int ubin = is_in_table(ch, &ubin_table) || + (bs_mode == BS_CONTROL && is_in_table(ch, &fmt_table)); +#if MSDOS_COMPILER==WIN32C + if (!ubin && utf_mode == 2 && ch < 0x10000) + { + /* + * Consider it binary if it can't be converted. + */ + BOOL used_default = TRUE; + WideCharToMultiByte(GetConsoleOutputCP(), WC_NO_BEST_FIT_CHARS, (LPCWSTR) &ch, 1, NULL, 0, NULL, &used_default); + if (used_default) + ubin = 1; + } +#endif + return ubin; } /* Modified: stable/10/contrib/less/charset.h ============================================================================== --- stable/10/contrib/less/charset.h Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/charset.h Wed Mar 7 06:39:00 2018 (r330571) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. Modified: stable/10/contrib/less/cmd.h ============================================================================== --- stable/10/contrib/less/cmd.h Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/cmd.h Wed Mar 7 06:39:00 2018 (r330571) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -8,127 +8,131 @@ */ -#define MAX_USERCMD 1000 -#define MAX_CMDLEN 16 +#define MAX_USERCMD 1000 +#define MAX_CMDLEN 16 -#define A_B_LINE 2 -#define A_B_SCREEN 3 -#define A_B_SCROLL 4 -#define A_B_SEARCH 5 -#define A_DIGIT 6 -#define A_DISP_OPTION 7 -#define A_DEBUG 8 -#define A_EXAMINE 9 -#define A_FIRSTCMD 10 -#define A_FREPAINT 11 -#define A_F_LINE 12 -#define A_F_SCREEN 13 -#define A_F_SCROLL 14 -#define A_F_SEARCH 15 -#define A_GOEND 16 -#define A_GOLINE 17 -#define A_GOMARK 18 -#define A_HELP 19 -#define A_NEXT_FILE 20 -#define A_PERCENT 21 -#define A_PREFIX 22 -#define A_PREV_FILE 23 -#define A_QUIT 24 -#define A_REPAINT 25 -#define A_SETMARK 26 -#define A_SHELL 27 -#define A_STAT 28 -#define A_FF_LINE 29 -#define A_BF_LINE 30 -#define A_VERSION 31 -#define A_VISUAL 32 -#define A_F_WINDOW 33 -#define A_B_WINDOW 34 -#define A_F_BRACKET 35 -#define A_B_BRACKET 36 -#define A_PIPE 37 -#define A_INDEX_FILE 38 -#define A_UNDO_SEARCH 39 -#define A_FF_SCREEN 40 -#define A_LSHIFT 41 -#define A_RSHIFT 42 -#define A_AGAIN_SEARCH 43 -#define A_T_AGAIN_SEARCH 44 -#define A_REVERSE_SEARCH 45 -#define A_T_REVERSE_SEARCH 46 -#define A_OPT_TOGGLE 47 -#define A_OPT_SET 48 -#define A_OPT_UNSET 49 -#define A_F_FOREVER 50 -#define A_GOPOS 51 -#define A_REMOVE_FILE 52 -#define A_NEXT_TAG 53 -#define A_PREV_TAG 54 -#define A_FILTER 55 -#define A_F_UNTIL_HILITE 56 -#define A_GOEND_BUF 57 +#define A_B_LINE 2 +#define A_B_SCREEN 3 +#define A_B_SCROLL 4 +#define A_B_SEARCH 5 +#define A_DIGIT 6 +#define A_DISP_OPTION 7 +#define A_DEBUG 8 +#define A_EXAMINE 9 +#define A_FIRSTCMD 10 +#define A_FREPAINT 11 +#define A_F_LINE 12 +#define A_F_SCREEN 13 +#define A_F_SCROLL 14 +#define A_F_SEARCH 15 +#define A_GOEND 16 +#define A_GOLINE 17 +#define A_GOMARK 18 +#define A_HELP 19 +#define A_NEXT_FILE 20 +#define A_PERCENT 21 +#define A_PREFIX 22 +#define A_PREV_FILE 23 +#define A_QUIT 24 +#define A_REPAINT 25 +#define A_SETMARK 26 +#define A_SHELL 27 +#define A_STAT 28 +#define A_FF_LINE 29 +#define A_BF_LINE 30 +#define A_VERSION 31 +#define A_VISUAL 32 +#define A_F_WINDOW 33 +#define A_B_WINDOW 34 +#define A_F_BRACKET 35 +#define A_B_BRACKET 36 +#define A_PIPE 37 +#define A_INDEX_FILE 38 +#define A_UNDO_SEARCH 39 +#define A_FF_SCREEN 40 +#define A_LSHIFT 41 +#define A_RSHIFT 42 +#define A_AGAIN_SEARCH 43 +#define A_T_AGAIN_SEARCH 44 +#define A_REVERSE_SEARCH 45 +#define A_T_REVERSE_SEARCH 46 +#define A_OPT_TOGGLE 47 +#define A_OPT_SET 48 +#define A_OPT_UNSET 49 +#define A_F_FOREVER 50 +#define A_GOPOS 51 +#define A_REMOVE_FILE 52 +#define A_NEXT_TAG 53 +#define A_PREV_TAG 54 +#define A_FILTER 55 +#define A_F_UNTIL_HILITE 56 +#define A_GOEND_BUF 57 +#define A_LLSHIFT 58 +#define A_RRSHIFT 59 +#define A_CLRMARK 62 +#define A_SETMARKBOT 63 -#define A_INVALID 100 -#define A_NOACTION 101 -#define A_UINVALID 102 -#define A_END_LIST 103 -#define A_SPECIAL_KEY 104 +#define A_INVALID 100 +#define A_NOACTION 101 +#define A_UINVALID 102 +#define A_END_LIST 103 +#define A_SPECIAL_KEY 104 -#define A_SKIP 127 +#define A_SKIP 127 -#define A_EXTRA 0200 +#define A_EXTRA 0200 /* Line editing characters */ -#define EC_BACKSPACE 1 -#define EC_LINEKILL 2 -#define EC_RIGHT 3 -#define EC_LEFT 4 -#define EC_W_LEFT 5 -#define EC_W_RIGHT 6 -#define EC_INSERT 7 -#define EC_DELETE 8 -#define EC_HOME 9 -#define EC_END 10 -#define EC_W_BACKSPACE 11 -#define EC_W_DELETE 12 -#define EC_UP 13 -#define EC_DOWN 14 -#define EC_EXPAND 15 -#define EC_F_COMPLETE 17 -#define EC_B_COMPLETE 18 -#define EC_LITERAL 19 -#define EC_ABORT 20 +#define EC_BACKSPACE 1 +#define EC_LINEKILL 2 +#define EC_RIGHT 3 +#define EC_LEFT 4 +#define EC_W_LEFT 5 +#define EC_W_RIGHT 6 +#define EC_INSERT 7 +#define EC_DELETE 8 +#define EC_HOME 9 +#define EC_END 10 +#define EC_W_BACKSPACE 11 +#define EC_W_DELETE 12 +#define EC_UP 13 +#define EC_DOWN 14 +#define EC_EXPAND 15 +#define EC_F_COMPLETE 17 +#define EC_B_COMPLETE 18 +#define EC_LITERAL 19 +#define EC_ABORT 20 -#define EC_NOACTION 101 -#define EC_UINVALID 102 +#define EC_NOACTION 101 +#define EC_UINVALID 102 /* Flags for editchar() */ -#define EC_PEEK 01 -#define EC_NOHISTORY 02 -#define EC_NOCOMPLETE 04 -#define EC_NORIGHTLEFT 010 +#define EC_PEEK 01 +#define EC_NOHISTORY 02 +#define EC_NOCOMPLETE 04 +#define EC_NORIGHTLEFT 010 /* Environment variable stuff */ -#define EV_OK 01 +#define EV_OK 01 /* Special keys (keys which output different strings on different terminals) */ -#define SK_SPECIAL_KEY CONTROL('K') -#define SK_RIGHT_ARROW 1 -#define SK_LEFT_ARROW 2 -#define SK_UP_ARROW 3 -#define SK_DOWN_ARROW 4 -#define SK_PAGE_UP 5 -#define SK_PAGE_DOWN 6 -#define SK_HOME 7 -#define SK_END 8 -#define SK_DELETE 9 -#define SK_INSERT 10 -#define SK_CTL_LEFT_ARROW 11 -#define SK_CTL_RIGHT_ARROW 12 -#define SK_CTL_DELETE 13 -#define SK_F1 14 -#define SK_BACKTAB 15 -#define SK_CTL_BACKSPACE 16 -#define SK_CONTROL_K 40 +#define SK_SPECIAL_KEY CONTROL('K') +#define SK_RIGHT_ARROW 1 +#define SK_LEFT_ARROW 2 +#define SK_UP_ARROW 3 +#define SK_DOWN_ARROW 4 +#define SK_PAGE_UP 5 +#define SK_PAGE_DOWN 6 +#define SK_HOME 7 +#define SK_END 8 +#define SK_DELETE 9 +#define SK_INSERT 10 +#define SK_CTL_LEFT_ARROW 11 +#define SK_CTL_RIGHT_ARROW 12 +#define SK_CTL_DELETE 13 +#define SK_F1 14 +#define SK_BACKTAB 15 +#define SK_CTL_BACKSPACE 16 +#define SK_CONTROL_K 40 Modified: stable/10/contrib/less/cmdbuf.c ============================================================================== --- stable/10/contrib/less/cmdbuf.c Wed Mar 7 06:13:47 2018 (r330570) +++ stable/10/contrib/less/cmdbuf.c Wed Mar 7 06:39:00 2018 (r330571) @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2015 Mark Nudelman + * Copyright (C) 1984-2017 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -40,7 +40,7 @@ static int in_completion = 0; static char *tk_text; static char *tk_original; static char *tk_ipoint; -static char *tk_trial; +static char *tk_trial = NULL; static struct textlist tk_tlist; #endif @@ -76,25 +76,25 @@ struct mlist */ struct mlist mlist_search = { &mlist_search, &mlist_search, &mlist_search, NULL, 0 }; -public void * constant ml_search = (void *) &mlist_search; +public void *ml_search = (void *) &mlist_search; struct mlist mlist_examine = { &mlist_examine, &mlist_examine, &mlist_examine, NULL, 0 }; -public void * constant ml_examine = (void *) &mlist_examine; +public void *ml_examine = (void *) &mlist_examine; #if SHELL_ESCAPE || PIPEC struct mlist mlist_shell = { &mlist_shell, &mlist_shell, &mlist_shell, NULL, 0 }; -public void * constant ml_shell = (void *) &mlist_shell; +public void *ml_shell = (void *) &mlist_shell; #endif #else /* CMD_HISTORY */ /* If CMD_HISTORY is off, these are just flags. */ -public void * constant ml_search = (void *)1; -public void * constant ml_examine = (void *)2; +public void *ml_search = (void *)1; +public void *ml_examine = (void *)2; #if SHELL_ESCAPE || PIPEC -public void * constant ml_shell = (void *)3; +public void *ml_shell = (void *)3; #endif #endif /* CMD_HISTORY */ @@ -141,28 +141,26 @@ clear_cmd() */ public void cmd_putstr(s) - char *s; + constant char *s; { LWCHAR prev_ch = 0; LWCHAR ch; - char *endline = s + strlen(s); + constant char *endline = s + strlen(s); while (*s != '\0') { - char *ns = s; + char *ns = (char *) s; + int width; ch = step_char(&ns, +1, endline); while (s < ns) putchr(*s++); if (!utf_mode) - { - cmd_col++; - prompt_col++; - } else if (!is_composing_char(ch) && - !is_combining_char(prev_ch, ch)) - { - int width = is_wide_char(ch) ? 2 : 1; - cmd_col += width; - prompt_col += width; - } + width = 1; + else if (is_composing_char(ch) || is_combining_char(prev_ch, ch)) + width = 0; + else + width = is_wide_char(ch) ? 2 : 1; + cmd_col += width; + prompt_col += width; prev_ch = ch; } } @@ -187,6 +185,8 @@ len_cmdbuf() /* * Common part of cmd_step_right() and cmd_step_left(). + * {{ Returning pwidth and bswidth separately is a historical artifact + * since they're always the same. Maybe clean this up someday. }} */ static char * cmd_step_common(p, ch, len, pwidth, bswidth) @@ -197,58 +197,32 @@ cmd_step_common(p, ch, len, pwidth, bswidth) int *bswidth; { char *pr; + int width; if (len == 1) { pr = prchar((int) ch); - if (pwidth != NULL || bswidth != NULL) - { - int len = (int) strlen(pr); - if (pwidth != NULL) - *pwidth = len; - if (bswidth != NULL) - *bswidth = len; - } + width = (int) strlen(pr); } else { pr = prutfchar(ch); - if (pwidth != NULL || bswidth != NULL) + if (is_composing_char(ch)) + width = 0; + else if (is_ubin_char(ch)) + width = (int) strlen(pr); + else *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable@freebsd.org Wed Mar 7 10:54:11 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5578BF44EC1; Wed, 7 Mar 2018 10:54:11 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 078D46C585; Wed, 7 Mar 2018 10:54:11 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 02509206FC; Wed, 7 Mar 2018 10:54:11 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27AsAwt037784; Wed, 7 Mar 2018 10:54:10 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27AsAPs037775; Wed, 7 Mar 2018 10:54:10 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803071054.w27AsAPs037775@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Wed, 7 Mar 2018 10:54:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330576 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 X-SVN-Commit-Revision: 330576 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 10:54:11 -0000 Author: eadler Date: Wed Mar 7 10:54:10 2018 New Revision: 330576 URL: https://svnweb.freebsd.org/changeset/base/330576 Log: Revert MFC of r330463 r330462 r330454 r330452 r330451: These commits have KPI/KBI considerations (or are a result of those that do). I did not properly take into account these concerns when merging to a kbi-stable branch. Requested by: jhb Pointyhat to: eadler Modified: stable/11/sys/dev/iwm/if_iwm.c stable/11/sys/dev/otus/if_otus.c stable/11/sys/dev/usb/wlan/if_rsu.c stable/11/sys/net80211/ieee80211_freebsd.h stable/11/sys/net80211/ieee80211_ht.c stable/11/sys/net80211/ieee80211_input.c stable/11/sys/net80211/ieee80211_output.c stable/11/sys/net80211/ieee80211_proto.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/iwm/if_iwm.c ============================================================================== --- stable/11/sys/dev/iwm/if_iwm.c Wed Mar 7 10:47:27 2018 (r330575) +++ stable/11/sys/dev/iwm/if_iwm.c Wed Mar 7 10:54:10 2018 (r330576) @@ -3260,13 +3260,8 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc, struct mbuf * } /* rssi is in 1/2db units */ - rxs.c_rssi = rssi * 2; - rxs.c_nf = sc->sc_noise; - if (ieee80211_add_rx_params(m, &rxs) == 0) { - if (ni) - ieee80211_free_node(ni); - goto fail; - } + rxs.rssi = rssi * 2; + rxs.nf = sc->sc_noise; if (ieee80211_radiotap_active_vap(vap)) { struct iwm_rx_radiotap_header *tap = &sc->sc_rxtap; @@ -3303,18 +3298,17 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc, struct mbuf * IWM_UNLOCK(sc); if (ni != NULL) { IWM_DPRINTF(sc, IWM_DEBUG_RECV, "input m %p\n", m); - ieee80211_input_mimo(ni, m); + ieee80211_input_mimo(ni, m, &rxs); ieee80211_free_node(ni); } else { IWM_DPRINTF(sc, IWM_DEBUG_RECV, "inputall m %p\n", m); - ieee80211_input_mimo_all(ic, m); + ieee80211_input_mimo_all(ic, m, &rxs); } IWM_LOCK(sc); return TRUE; -fail: - counter_u64_add(ic->ic_ierrors, 1); +fail: counter_u64_add(ic->ic_ierrors, 1); return FALSE; } Modified: stable/11/sys/dev/otus/if_otus.c ============================================================================== --- stable/11/sys/dev/otus/if_otus.c Wed Mar 7 10:47:27 2018 (r330575) +++ stable/11/sys/dev/otus/if_otus.c Wed Mar 7 10:54:10 2018 (r330576) @@ -1710,13 +1710,10 @@ otus_sub_rxeof(struct otus_softc *sc, uint8_t *buf, in /* Add RSSI/NF to this mbuf */ bzero(&rxs, sizeof(rxs)); rxs.r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; - rxs.c_nf = sc->sc_nf[0]; /* XXX chain 0 != combined rssi/nf */ - rxs.c_rssi = tail->rssi; + rxs.nf = sc->sc_nf[0]; /* XXX chain 0 != combined rssi/nf */ + rxs.rssi = tail->rssi; /* XXX TODO: add MIMO RSSI/NF as well */ - if (ieee80211_add_rx_params(m, &rxs) == 0) { - counter_u64_add(ic->ic_ierrors, 1); - return; - } + ieee80211_add_rx_params(m, &rxs); /* XXX make a method */ STAILQ_INSERT_TAIL(&rxq->mq_head, m, m_stailqpkt); @@ -1829,10 +1826,10 @@ tr_setup: if (ni != NULL) { if (ni->ni_flags & IEEE80211_NODE_HT) m->m_flags |= M_AMPDU; - (void)ieee80211_input_mimo(ni, m); + (void)ieee80211_input_mimo(ni, m, NULL); ieee80211_free_node(ni); } else - (void)ieee80211_input_mimo_all(ic, m); + (void)ieee80211_input_mimo_all(ic, m, NULL); } #ifdef IEEE80211_SUPPORT_SUPERG ieee80211_ff_age_all(ic, 100); Modified: stable/11/sys/dev/usb/wlan/if_rsu.c ============================================================================== --- stable/11/sys/dev/usb/wlan/if_rsu.c Wed Mar 7 10:47:27 2018 (r330575) +++ stable/11/sys/dev/usb/wlan/if_rsu.c Wed Mar 7 10:54:10 2018 (r330576) @@ -1546,14 +1546,12 @@ rsu_event_survey(struct rsu_softc *sc, uint8_t *buf, i rxs.c_ieee = le32toh(bss->config.dsconfig); rxs.c_freq = ieee80211_ieee2mhz(rxs.c_ieee, IEEE80211_CHAN_2GHZ); /* This is a number from 0..100; so let's just divide it down a bit */ - rxs.c_rssi = le32toh(bss->rssi) / 2; - rxs.c_nf = -96; - if (ieee80211_add_rx_params(m, &rxs) == 0) - return; + rxs.rssi = le32toh(bss->rssi) / 2; + rxs.nf = -96; /* XXX avoid a LOR */ RSU_UNLOCK(sc); - ieee80211_input_mimo_all(ic, m); + ieee80211_input_mimo_all(ic, m, &rxs); RSU_LOCK(sc); } Modified: stable/11/sys/net80211/ieee80211_freebsd.h ============================================================================== --- stable/11/sys/net80211/ieee80211_freebsd.h Wed Mar 7 10:47:27 2018 (r330575) +++ stable/11/sys/net80211/ieee80211_freebsd.h Wed Mar 7 10:54:10 2018 (r330576) @@ -620,82 +620,33 @@ int ieee80211_add_xmit_params(struct mbuf *m, int ieee80211_get_xmit_params(struct mbuf *m, struct ieee80211_bpf_params *); -/* - * Note: this is fine for 3x3 (and 4x4) 11n HT40; - * but getting EVM information for VHT80, VHT160 - * will involve more than 6 EVM pilots. - */ -#define IEEE80211_MAX_CHAINS 4 +#define IEEE80211_MAX_CHAINS 3 #define IEEE80211_MAX_EVM_PILOTS 6 -#define IEEE80211_R_NF 0x00000001 /* global NF value valid */ -#define IEEE80211_R_RSSI 0x00000002 /* global RSSI value valid */ -#define IEEE80211_R_C_CHAIN 0x00000004 /* RX chain count valid */ -#define IEEE80211_R_C_NF 0x00000008 /* per-chain NF value valid */ -#define IEEE80211_R_C_RSSI 0x00000010 /* per-chain RSSI value valid */ -#define IEEE80211_R_C_EVM 0x00000020 /* per-chain EVM valid */ -#define IEEE80211_R_C_HT40 0x00000040 /* RX'ed packet is 40mhz, pilots 4,5 valid */ -#define IEEE80211_R_FREQ 0x00000080 /* Freq value populated, MHz */ -#define IEEE80211_R_IEEE 0x00000100 /* IEEE value populated */ -#define IEEE80211_R_BAND 0x00000200 /* Frequency band populated */ -#define IEEE80211_R_TSF32 0x00004000 /* 32 bit TSF */ -#define IEEE80211_R_TSF64 0x00008000 /* 64 bit TSF */ -#define IEEE80211_R_TSF_START 0x00010000 /* TSF is sampled at start of frame */ -#define IEEE80211_R_TSF_END 0x00020000 /* TSF is sampled at end of frame */ +#define IEEE80211_R_NF 0x0000001 /* global NF value valid */ +#define IEEE80211_R_RSSI 0x0000002 /* global RSSI value valid */ +#define IEEE80211_R_C_CHAIN 0x0000004 /* RX chain count valid */ +#define IEEE80211_R_C_NF 0x0000008 /* per-chain NF value valid */ +#define IEEE80211_R_C_RSSI 0x0000010 /* per-chain RSSI value valid */ +#define IEEE80211_R_C_EVM 0x0000020 /* per-chain EVM valid */ +#define IEEE80211_R_C_HT40 0x0000040 /* RX'ed packet is 40mhz, pilots 4,5 valid */ +#define IEEE80211_R_FREQ 0x0000080 /* Freq value populated, MHz */ +#define IEEE80211_R_IEEE 0x0000100 /* IEEE value populated */ +#define IEEE80211_R_BAND 0x0000200 /* Frequency band populated */ -/* RX packet flags - describe the kind of frame */ -#define IEEE80211_RX_F_STBC 0x00000001 -#define IEEE80211_RX_F_LDPC 0x00000002 -#define IEEE80211_RX_F_AMSDU 0x00000004 /* This is the start of an decap AMSDU list */ -#define IEEE80211_RX_F_AMSDU_MORE 0x00000008 /* This is another decap AMSDU frame in the batch */ -#define IEEE80211_RX_F_AMPDU 0x00000010 /* This is the start of an decap AMPDU list */ -#define IEEE80211_RX_F_AMPDU_MORE 0x00000020 /* This is another decap AMPDU frame in the batch */ - -/* Channel width */ -#define IEEE80211_RX_FW_20MHZ 1 -#define IEEE80211_RX_FW_40MHZ 2 -#define IEEE80211_RX_FW_80MHZ 3 - -/* PHY type */ -#define IEEE80211_RX_FP_11B 1 -#define IEEE80211_RX_FP_11G 2 -#define IEEE80211_RX_FP_11A 3 -#define IEEE80211_RX_FP_11NA 4 -#define IEEE80211_RX_FP_11NG 5 - struct ieee80211_rx_stats { uint32_t r_flags; /* IEEE80211_R_* flags */ - uint32_t c_pktflags; /* IEEE80211_RX_F_* flags */ - - uint64_t c_rx_tsf; /* 32 or 64 bit TSF */ - - /* All DWORD aligned */ - int16_t c_nf_ctl[IEEE80211_MAX_CHAINS]; /* per-chain NF */ - int16_t c_nf_ext[IEEE80211_MAX_CHAINS]; /* per-chain NF */ - int16_t c_rssi_ctl[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ - int16_t c_rssi_ext[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ - - /* 32 bits */ - uint8_t c_nf; /* global NF */ - uint8_t c_rssi; /* global RSSI */ uint8_t c_chain; /* number of RX chains involved */ - uint8_t c_rate; /* legacy + 11n rate code */ - - /* 32 bits */ - uint16_t c_freq; /* Frequency, MHz */ - uint8_t c_ieee; /* Channel */ - uint8_t c_width; /* channel width, FW flags above */ - - /* Force alignment to DWORD */ - union { - uint8_t evm[IEEE80211_MAX_CHAINS][IEEE80211_MAX_EVM_PILOTS]; - /* per-chain, per-pilot EVM values */ - uint32_t __aln[8]; - } evm; - - /* 32 bits */ - uint8_t c_phytype; /* PHY type, FW flags above */ - uint8_t c_pad2[3]; + int16_t c_nf_ctl[IEEE80211_MAX_CHAINS]; /* per-chain NF */ + int16_t c_nf_ext[IEEE80211_MAX_CHAINS]; /* per-chain NF */ + int16_t c_rssi_ctl[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ + int16_t c_rssi_ext[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */ + uint8_t nf; /* global NF */ + uint8_t rssi; /* global RSSI */ + uint8_t evm[IEEE80211_MAX_CHAINS][IEEE80211_MAX_EVM_PILOTS]; + /* per-chain, per-pilot EVM values */ + uint16_t c_freq; + uint8_t c_ieee; }; struct ieee80211_rx_params { Modified: stable/11/sys/net80211/ieee80211_ht.c ============================================================================== --- stable/11/sys/net80211/ieee80211_ht.c Wed Mar 7 10:47:27 2018 (r330575) +++ stable/11/sys/net80211/ieee80211_ht.c Wed Mar 7 10:54:10 2018 (r330576) @@ -586,7 +586,7 @@ ieee80211_ampdu_rx_start_ext(struct ieee80211_node *ni rap->rxa_flags |= IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_XCHGPEND; IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, - "%s: tid=%d, start=%d, wnd=%d, flags=0x%08x", + "%s: tid=%d, start=%d, wnd=%d, flags=0x%08x\n", __func__, tid, seq, Modified: stable/11/sys/net80211/ieee80211_input.c ============================================================================== --- stable/11/sys/net80211/ieee80211_input.c Wed Mar 7 10:47:27 2018 (r330575) +++ stable/11/sys/net80211/ieee80211_input.c Wed Mar 7 10:54:10 2018 (r330576) @@ -83,20 +83,24 @@ ieee80211_process_mimo(struct ieee80211_node *ni, stru } int -ieee80211_input_mimo(struct ieee80211_node *ni, struct mbuf *m) +ieee80211_input_mimo(struct ieee80211_node *ni, struct mbuf *m, + struct ieee80211_rx_stats *rx) { struct ieee80211_rx_stats rxs; - /* try to read stats from mbuf */ - bzero(&rxs, sizeof(rxs)); - if (ieee80211_get_rx_params(m, &rxs) != 0) - return (-1); + if (rx) { + memcpy(&rxs, rx, sizeof(*rx)); + } else { + /* try to read from mbuf */ + bzero(&rxs, sizeof(rxs)); + ieee80211_get_rx_params(m, &rxs); + } /* XXX should assert IEEE80211_R_NF and IEEE80211_R_RSSI are set */ ieee80211_process_mimo(ni, &rxs); //return ieee80211_input(ni, m, rx->rssi, rx->nf); - return ni->ni_vap->iv_input(ni, m, &rxs, rxs.c_rssi, rxs.c_nf); + return ni->ni_vap->iv_input(ni, m, &rxs, rxs.rssi, rxs.nf); } int @@ -105,23 +109,29 @@ ieee80211_input_all(struct ieee80211com *ic, struct mb struct ieee80211_rx_stats rx; rx.r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; - rx.c_nf = nf; - rx.c_rssi = rssi; - - if (!ieee80211_add_rx_params(m, &rx)) - return (-1); - - return ieee80211_input_mimo_all(ic, m); + rx.nf = nf; + rx.rssi = rssi; + return ieee80211_input_mimo_all(ic, m, &rx); } int -ieee80211_input_mimo_all(struct ieee80211com *ic, struct mbuf *m) +ieee80211_input_mimo_all(struct ieee80211com *ic, struct mbuf *m, + struct ieee80211_rx_stats *rx) { + struct ieee80211_rx_stats rxs; struct ieee80211vap *vap; int type = -1; m->m_flags |= M_BCAST; /* NB: mark for bpf tap'ing */ + if (rx) { + memcpy(&rxs, rx, sizeof(*rx)); + } else { + /* try to read from mbuf */ + bzero(&rxs, sizeof(rxs)); + ieee80211_get_rx_params(m, &rxs); + } + /* XXX locking */ TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) { struct ieee80211_node *ni; @@ -142,7 +152,6 @@ ieee80211_input_mimo_all(struct ieee80211com *ic, stru /* * Packet contents are changed by ieee80211_decap * so do a deep copy of the packet. - * NB: tags are copied too. */ mcopy = m_dup(m, M_NOWAIT); if (mcopy == NULL) { @@ -154,7 +163,7 @@ ieee80211_input_mimo_all(struct ieee80211com *ic, stru m = NULL; } ni = ieee80211_ref_node(vap->iv_bss); - type = ieee80211_input_mimo(ni, mcopy); + type = ieee80211_input_mimo(ni, mcopy, &rxs); ieee80211_free_node(ni); } if (m != NULL) /* no vaps, reclaim mbuf */ Modified: stable/11/sys/net80211/ieee80211_output.c ============================================================================== --- stable/11/sys/net80211/ieee80211_output.c Wed Mar 7 10:47:27 2018 (r330575) +++ stable/11/sys/net80211/ieee80211_output.c Wed Mar 7 10:54:10 2018 (r330576) @@ -2074,7 +2074,6 @@ ieee80211_send_probereq(struct ieee80211_node *ni, { struct ieee80211vap *vap = ni->ni_vap; struct ieee80211com *ic = ni->ni_ic; - struct ieee80211_node *bss; const struct ieee80211_txparam *tp; struct ieee80211_bpf_params params; const struct ieee80211_rateset *rs; @@ -2082,13 +2081,10 @@ ieee80211_send_probereq(struct ieee80211_node *ni, uint8_t *frm; int ret; - bss = ieee80211_ref_node(vap->iv_bss); - if (vap->iv_state == IEEE80211_S_CAC) { IEEE80211_NOTE(vap, IEEE80211_MSG_OUTPUT, ni, "block %s frame in CAC state", "probe request"); vap->iv_stats.is_tx_badstate++; - ieee80211_free_node(bss); return EIO; /* XXX */ } @@ -2110,7 +2106,6 @@ ieee80211_send_probereq(struct ieee80211_node *ni, * [tlv] supported rates * [tlv] RSN (optional) * [tlv] extended supported rates - * [tlv] HT cap (optional) * [tlv] WPA (optional) * [tlv] user-specified ie's */ @@ -2118,8 +2113,6 @@ ieee80211_send_probereq(struct ieee80211_node *ni, ic->ic_headroom + sizeof(struct ieee80211_frame), 2 + IEEE80211_NWID_LEN + 2 + IEEE80211_RATE_SIZE - + sizeof(struct ieee80211_ie_htcap) - + sizeof(struct ieee80211_ie_htinfo) + sizeof(struct ieee80211_ie_wpa) + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) + sizeof(struct ieee80211_ie_wpa) @@ -2129,7 +2122,6 @@ ieee80211_send_probereq(struct ieee80211_node *ni, if (m == NULL) { vap->iv_stats.is_tx_nobuf++; ieee80211_free_node(ni); - ieee80211_free_node(bss); return ENOMEM; } @@ -2138,27 +2130,6 @@ ieee80211_send_probereq(struct ieee80211_node *ni, frm = ieee80211_add_rates(frm, rs); frm = ieee80211_add_rsn(frm, vap); frm = ieee80211_add_xrates(frm, rs); - - /* - * Note: we can't use bss; we don't have one yet. - * - * So, we should announce our capabilities - * in this channel mode (2g/5g), not the - * channel details itself. - */ - if ((vap->iv_opmode == IEEE80211_M_IBSS) && - (vap->iv_flags_ht & IEEE80211_FHT_HT)) { - struct ieee80211_channel *c; - - /* - * Get the HT channel that we should try upgrading to. - * If we can do 40MHz then this'll upgrade it appropriately. - */ - c = ieee80211_ht_adjust_channel(ic, ic->ic_curchan, - vap->iv_flags_ht); - frm = ieee80211_add_htcap_ch(frm, vap, c); - } - frm = ieee80211_add_wpa(frm, vap); if (vap->iv_appie_probereq != NULL) frm = add_appie(frm, vap->iv_appie_probereq); @@ -2170,7 +2141,6 @@ ieee80211_send_probereq(struct ieee80211_node *ni, if (m == NULL) { /* NB: cannot happen */ ieee80211_free_node(ni); - ieee80211_free_node(bss); return ENOMEM; } @@ -2187,11 +2157,8 @@ ieee80211_send_probereq(struct ieee80211_node *ni, IEEE80211_NODE_STAT(ni, tx_mgmt); IEEE80211_DPRINTF(vap, IEEE80211_MSG_DEBUG | IEEE80211_MSG_DUMPPKTS, - "send probe req on channel %u bssid %s sa %6D da %6D ssid \"%.*s\"\n", - ieee80211_chan2ieee(ic, ic->ic_curchan), - ether_sprintf(bssid), - sa, ":", - da, ":", + "send probe req on channel %u bssid %s ssid \"%.*s\"\n", + ieee80211_chan2ieee(ic, ic->ic_curchan), ether_sprintf(bssid), ssidlen, ssid); memset(¶ms, 0, sizeof(params)); @@ -2206,7 +2173,6 @@ ieee80211_send_probereq(struct ieee80211_node *ni, params.ibp_power = ni->ni_txpower; ret = ieee80211_raw_output(vap, ni, m, ¶ms); IEEE80211_TX_UNLOCK(ic); - ieee80211_free_node(bss); return (ret); } Modified: stable/11/sys/net80211/ieee80211_proto.h ============================================================================== --- stable/11/sys/net80211/ieee80211_proto.h Wed Mar 7 10:47:27 2018 (r330575) +++ stable/11/sys/net80211/ieee80211_proto.h Wed Mar 7 10:54:10 2018 (r330576) @@ -83,8 +83,10 @@ void ieee80211_syncflag_ext(struct ieee80211vap *, int ((ni)->ni_vap->iv_input(ni, m, NULL, rssi, nf)) int ieee80211_input_all(struct ieee80211com *, struct mbuf *, int, int); -int ieee80211_input_mimo(struct ieee80211_node *, struct mbuf *); -int ieee80211_input_mimo_all(struct ieee80211com *, struct mbuf *); +int ieee80211_input_mimo(struct ieee80211_node *, struct mbuf *, + struct ieee80211_rx_stats *); +int ieee80211_input_mimo_all(struct ieee80211com *, struct mbuf *, + struct ieee80211_rx_stats *); struct ieee80211_bpf_params; int ieee80211_mgmt_output(struct ieee80211_node *, struct mbuf *, int, From owner-svn-src-stable@freebsd.org Wed Mar 7 11:03:02 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B126F458C2; Wed, 7 Mar 2018 11:03:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DF5086CB86; Wed, 7 Mar 2018 11:03:01 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D527120890; Wed, 7 Mar 2018 11:03:01 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27B31KE042787; Wed, 7 Mar 2018 11:03:01 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27B31Rh042786; Wed, 7 Mar 2018 11:03:01 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803071103.w27B31Rh042786@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Wed, 7 Mar 2018 11:03:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330577 - stable/11/contrib/ldns-host X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/contrib/ldns-host X-SVN-Commit-Revision: 330577 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 11:03:02 -0000 Author: eadler Date: Wed Mar 7 11:03:01 2018 New Revision: 330577 URL: https://svnweb.freebsd.org/changeset/base/330577 Log: MFC r302779,r302807: merge upstream hg 06347b1f76fe (fix IXFR) Initialize first_serial to 0 in dozonetransfer(..) to fix -Wuninitialized warning PR: 209177 Modified: stable/11/contrib/ldns-host/ldns-host.c Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/ldns-host/ldns-host.c ============================================================================== --- stable/11/contrib/ldns-host/ldns-host.c Wed Mar 7 10:54:10 2018 (r330576) +++ stable/11/contrib/ldns-host/ldns-host.c Wed Mar 7 11:03:01 2018 (r330577) @@ -156,6 +156,19 @@ memerr: return LDNS_STATUS_MEM_ERR; } +static uint32_t +ldns_rr_soa_get_serial(const ldns_rr *rr) +{ + const ldns_rdf *rdf; + + if (ldns_rr_get_type(rr) != LDNS_RR_TYPE_SOA) return 0; + if (ldns_rr_rd_count(rr) != 7) return 0; + rdf = ldns_rr_rdf(rr, 2); + if (ldns_rdf_get_type(rdf) != LDNS_RDF_TYPE_INT32) return 0; + if (ldns_rdf_size(rdf) != 4) return 0; + return ldns_rdf2native_int32(rdf); +} + static ldns_status ldns_tcp_start(ldns_resolver *res, ldns_pkt *qpkt, int nameserver) { /* This routine is based on ldns_axfr_start, with the major @@ -873,18 +886,16 @@ dozonetransfer(ldns_resolver *res, ldns_rdf *domain, b ldns_rdf *dname; ldns_rr_type rrtype; ldns_rr_list *rrl; - int i, nsoa = 0; + ldns_rr *rr; + size_t i, nsoa = 0; + uint32_t first_serial = 0; rrtype = o_rrtype; o_rrtype = (o_mode == M_AXFR) ? LDNS_RR_TYPE_AXFR : LDNS_RR_TYPE_IXFR; dname = search(res, domain, &pkt, absolute, false); for (;;) { - rrl = ldns_pkt_answer(pkt); - for (i = ldns_rr_list_rr_count(rrl) - 1; i >= 0; i--) { - if (ldns_rr_get_type(ldns_rr_list_rr(rrl, i)) == LDNS_RR_TYPE_SOA) - nsoa++; - } + rrl = ldns_rr_list_clone(ldns_pkt_answer(pkt)); ldns_pkt_filter_answer(pkt, rrtype); report(res, dname != NULL ? dname : domain, pkt); if ((dname == NULL) || @@ -893,9 +904,29 @@ dozonetransfer(ldns_resolver *res, ldns_rdf *domain, b ldns_tcp_close(res); return false; } - if (nsoa >= 2) { - ldns_tcp_close(res); - return true; + for (i = 0; i < ldns_rr_list_rr_count(rrl); i++) { + rr = ldns_rr_list_rr(rrl, i); + if (nsoa == 0) { + if (ldns_rr_get_type(rr) != LDNS_RR_TYPE_SOA) { + printf("; Transfer failed. " + "Didn't start with SOA answer.\n"); + ldns_tcp_close(res); + return false; + } + first_serial = ldns_rr_soa_get_serial(rr); + if ((o_mode == M_IXFR) && (first_serial <= o_ixfr_serial)) { + ldns_tcp_close(res); + return true; + } + } + if (ldns_rr_get_type(rr) == LDNS_RR_TYPE_SOA) { + nsoa = nsoa < 2 ? nsoa + 1 : 1; + if ((nsoa == 2) && + (ldns_rr_soa_get_serial(rr) == first_serial)) { + ldns_tcp_close(res); + return true; + } + } } if (ldns_tcp_read(&nextpkt, res) != LDNS_STATUS_OK) { printf("; Transfer failed.\n"); @@ -904,6 +935,7 @@ dozonetransfer(ldns_resolver *res, ldns_rdf *domain, b ldns_pkt_set_answerfrom(nextpkt, ldns_rdf_clone(ldns_pkt_answerfrom(pkt))); ldns_pkt_free(pkt); + ldns_rr_list_free(rrl); pkt = nextpkt; } } From owner-svn-src-stable@freebsd.org Wed Mar 7 11:09:07 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D4E63F45E3F; Wed, 7 Mar 2018 11:09:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8269F6CE61; Wed, 7 Mar 2018 11:09:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 795A720894; Wed, 7 Mar 2018 11:09:07 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27B97bv043032; Wed, 7 Mar 2018 11:09:07 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27B97Is043031; Wed, 7 Mar 2018 11:09:07 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803071109.w27B97Is043031@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Wed, 7 Mar 2018 11:09:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330578 - stable/11/sys/netinet/libalias X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/netinet/libalias X-SVN-Commit-Revision: 330578 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 11:09:08 -0000 Author: eadler Date: Wed Mar 7 11:09:07 2018 New Revision: 330578 URL: https://svnweb.freebsd.org/changeset/base/330578 Log: MFC r327206: Fix CID 1008428. Modified: stable/11/sys/netinet/libalias/alias_sctp.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netinet/libalias/alias_sctp.c ============================================================================== --- stable/11/sys/netinet/libalias/alias_sctp.c Wed Mar 7 11:03:01 2018 (r330577) +++ stable/11/sys/netinet/libalias/alias_sctp.c Wed Mar 7 11:09:07 2018 (r330578) @@ -420,9 +420,9 @@ int sysctl_chg_loglevel(SYSCTL_HANDLER_ARGS) error = sysctl_handle_int(oidp, &level, 0, req); if (error) return (error); - sysctl_log_level = (level > SN_LOG_DEBUG_MAX)?(SN_LOG_DEBUG_MAX):(level); - sysctl_log_level = (level < SN_LOG_LOW)?(SN_LOG_LOW):(level); - + level = (level > SN_LOG_DEBUG_MAX)?(SN_LOG_DEBUG_MAX):(level); + level = (level < SN_LOG_LOW)?(SN_LOG_LOW):(level); + sysctl_log_level = level; return (0); } From owner-svn-src-stable@freebsd.org Wed Mar 7 13:37:26 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5ECEAF2CC1C; Wed, 7 Mar 2018 13:37:26 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DB2EE73AAC; Wed, 7 Mar 2018 13:37:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D5FED2206F; Wed, 7 Mar 2018 13:37:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27DbPFT017822; Wed, 7 Mar 2018 13:37:25 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27DbPHn017821; Wed, 7 Mar 2018 13:37:25 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201803071337.w27DbPHn017821@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Wed, 7 Mar 2018 13:37:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330587 - stable/11/sys/amd64/amd64 X-SVN-Group: stable-11 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: stable/11/sys/amd64/amd64 X-SVN-Commit-Revision: 330587 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 13:37:26 -0000 Author: avg Date: Wed Mar 7 13:37:25 2018 New Revision: 330587 URL: https://svnweb.freebsd.org/changeset/base/330587 Log: MFC r330338: db_nextframe/amd64: catch up with r328083 to recognize fast_syscall_common Modified: stable/11/sys/amd64/amd64/db_trace.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/amd64/db_trace.c ============================================================================== --- stable/11/sys/amd64/amd64/db_trace.c Wed Mar 7 13:32:52 2018 (r330586) +++ stable/11/sys/amd64/amd64/db_trace.c Wed Mar 7 13:37:25 2018 (r330587) @@ -212,7 +212,9 @@ db_nextframe(struct amd64_frame **fp, db_addr_t *ip, s strcmp(name, "Xcpususpend") == 0 || strcmp(name, "Xrendezvous") == 0) frame_type = INTERRUPT; - else if (strcmp(name, "Xfast_syscall") == 0) + else if (strcmp(name, "Xfast_syscall") == 0 || + strcmp(name, "Xfast_syscall_pti") == 0 || + strcmp(name, "fast_syscall_common") == 0) frame_type = SYSCALL; #ifdef COMPAT_FREEBSD32 else if (strcmp(name, "Xint0x80_syscall") == 0) From owner-svn-src-stable@freebsd.org Wed Mar 7 13:39:11 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE301F2CED1; Wed, 7 Mar 2018 13:39:11 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6082073C45; Wed, 7 Mar 2018 13:39:11 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3D5BD22070; Wed, 7 Mar 2018 13:39:11 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27DdBVW017947; Wed, 7 Mar 2018 13:39:11 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27DdBfP017946; Wed, 7 Mar 2018 13:39:11 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201803071339.w27DdBfP017946@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Wed, 7 Mar 2018 13:39:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330588 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-11 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330588 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 13:39:12 -0000 Author: avg Date: Wed Mar 7 13:39:10 2018 New Revision: 330588 URL: https://svnweb.freebsd.org/changeset/base/330588 Log: MFC r329714: MFV r329713: 8731 ASSERT3U(nui64s, <=, UINT16_MAX) fails for large blocks Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c Wed Mar 7 13:37:25 2018 (r330587) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c Wed Mar 7 13:39:10 2018 (r330588) @@ -360,8 +360,8 @@ zfs_ereport_start(nvlist_t **ereport_out, nvlist_t **d typedef struct zfs_ecksum_info { /* histograms of set and cleared bits by bit number in a 64-bit word */ - uint16_t zei_histogram_set[sizeof (uint64_t) * NBBY]; - uint16_t zei_histogram_cleared[sizeof (uint64_t) * NBBY]; + uint32_t zei_histogram_set[sizeof (uint64_t) * NBBY]; + uint32_t zei_histogram_cleared[sizeof (uint64_t) * NBBY]; /* inline arrays of bits set and cleared. */ uint64_t zei_bits_set[ZFM_MAX_INLINE]; @@ -386,7 +386,7 @@ typedef struct zfs_ecksum_info { } zfs_ecksum_info_t; static void -update_histogram(uint64_t value_arg, uint16_t *hist, uint32_t *count) +update_histogram(uint64_t value_arg, uint32_t *hist, uint32_t *count) { size_t i; size_t bits = 0; @@ -552,7 +552,7 @@ annotate_ecksum(nvlist_t *ereport, zio_bad_cksum_t *in if (badbuf == NULL || goodbuf == NULL) return (eip); - ASSERT3U(nui64s, <=, UINT16_MAX); + ASSERT3U(nui64s, <=, UINT32_MAX); ASSERT3U(size, ==, nui64s * sizeof (uint64_t)); ASSERT3U(size, <=, SPA_MAXBLOCKSIZE); ASSERT3U(size, <=, UINT32_MAX); @@ -654,10 +654,10 @@ annotate_ecksum(nvlist_t *ereport, zio_bad_cksum_t *in } else { fm_payload_set(ereport, FM_EREPORT_PAYLOAD_ZFS_BAD_SET_HISTOGRAM, - DATA_TYPE_UINT16_ARRAY, + DATA_TYPE_UINT32_ARRAY, NBBY * sizeof (uint64_t), eip->zei_histogram_set, FM_EREPORT_PAYLOAD_ZFS_BAD_CLEARED_HISTOGRAM, - DATA_TYPE_UINT16_ARRAY, + DATA_TYPE_UINT32_ARRAY, NBBY * sizeof (uint64_t), eip->zei_histogram_cleared, NULL); } From owner-svn-src-stable@freebsd.org Wed Mar 7 13:40:16 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B5A2F2D059; Wed, 7 Mar 2018 13:40:16 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F01C973DC2; Wed, 7 Mar 2018 13:40:15 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E995122076; Wed, 7 Mar 2018 13:40:15 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27DeFjA018079; Wed, 7 Mar 2018 13:40:15 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27DeFZ8018078; Wed, 7 Mar 2018 13:40:15 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201803071340.w27DeFZ8018078@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Wed, 7 Mar 2018 13:40:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330589 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-10 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330589 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 13:40:16 -0000 Author: avg Date: Wed Mar 7 13:40:15 2018 New Revision: 330589 URL: https://svnweb.freebsd.org/changeset/base/330589 Log: MFC r329714: MFV r329713: 8731 ASSERT3U(nui64s, <=, UINT16_MAX) fails for large blocks Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c Wed Mar 7 13:39:10 2018 (r330588) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c Wed Mar 7 13:40:15 2018 (r330589) @@ -360,8 +360,8 @@ zfs_ereport_start(nvlist_t **ereport_out, nvlist_t **d typedef struct zfs_ecksum_info { /* histograms of set and cleared bits by bit number in a 64-bit word */ - uint16_t zei_histogram_set[sizeof (uint64_t) * NBBY]; - uint16_t zei_histogram_cleared[sizeof (uint64_t) * NBBY]; + uint32_t zei_histogram_set[sizeof (uint64_t) * NBBY]; + uint32_t zei_histogram_cleared[sizeof (uint64_t) * NBBY]; /* inline arrays of bits set and cleared. */ uint64_t zei_bits_set[ZFM_MAX_INLINE]; @@ -386,7 +386,7 @@ typedef struct zfs_ecksum_info { } zfs_ecksum_info_t; static void -update_histogram(uint64_t value_arg, uint16_t *hist, uint32_t *count) +update_histogram(uint64_t value_arg, uint32_t *hist, uint32_t *count) { size_t i; size_t bits = 0; @@ -552,7 +552,7 @@ annotate_ecksum(nvlist_t *ereport, zio_bad_cksum_t *in if (badbuf == NULL || goodbuf == NULL) return (eip); - ASSERT3U(nui64s, <=, UINT16_MAX); + ASSERT3U(nui64s, <=, UINT32_MAX); ASSERT3U(size, ==, nui64s * sizeof (uint64_t)); ASSERT3U(size, <=, SPA_MAXBLOCKSIZE); ASSERT3U(size, <=, UINT32_MAX); @@ -654,10 +654,10 @@ annotate_ecksum(nvlist_t *ereport, zio_bad_cksum_t *in } else { fm_payload_set(ereport, FM_EREPORT_PAYLOAD_ZFS_BAD_SET_HISTOGRAM, - DATA_TYPE_UINT16_ARRAY, + DATA_TYPE_UINT32_ARRAY, NBBY * sizeof (uint64_t), eip->zei_histogram_set, FM_EREPORT_PAYLOAD_ZFS_BAD_CLEARED_HISTOGRAM, - DATA_TYPE_UINT16_ARRAY, + DATA_TYPE_UINT32_ARRAY, NBBY * sizeof (uint64_t), eip->zei_histogram_cleared, NULL); } From owner-svn-src-stable@freebsd.org Wed Mar 7 13:45:31 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E522EF2D70B; Wed, 7 Mar 2018 13:45:30 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8EC3A74287; Wed, 7 Mar 2018 13:45:30 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7F0CA22210; Wed, 7 Mar 2018 13:45:30 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27DjUKJ022688; Wed, 7 Mar 2018 13:45:30 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27DjUh7022685; Wed, 7 Mar 2018 13:45:30 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201803071345.w27DjUh7022685@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Wed, 7 Mar 2018 13:45:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330590 - in stable/11: cddl/contrib/opensolaris/lib/libzfs/common sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-11 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: in stable/11: cddl/contrib/opensolaris/lib/libzfs/common sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330590 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 13:45:31 -0000 Author: avg Date: Wed Mar 7 13:45:29 2018 New Revision: 330590 URL: https://svnweb.freebsd.org/changeset/base/330590 Log: MFC r329719: MFV r329718: 8520 7198 lzc_rollback_to should support rolling back to origin Modified: stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Directory Properties: stable/11/ (props changed) Modified: stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Wed Mar 7 13:40:15 2018 (r330589) +++ stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Wed Mar 7 13:45:29 2018 (r330590) @@ -4051,17 +4051,31 @@ zfs_rollback(zfs_handle_t *zhp, zfs_handle_t *snap, bo * a new snapshot is created before this request is processed. */ err = lzc_rollback_to(zhp->zfs_name, snap->zfs_name); - if (err == EXDEV) { - zfs_error_aux(zhp->zfs_hdl, dgettext(TEXT_DOMAIN, - "'%s' is not the latest snapshot"), snap->zfs_name); - (void) zfs_error_fmt(zhp->zfs_hdl, EZFS_BUSY, + if (err != 0) { + char errbuf[1024]; + + (void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN, "cannot rollback '%s'"), zhp->zfs_name); - return (err); - } else if (err != 0) { - (void) zfs_standard_error_fmt(zhp->zfs_hdl, errno, - dgettext(TEXT_DOMAIN, "cannot rollback '%s'"), - zhp->zfs_name); + switch (err) { + case EEXIST: + zfs_error_aux(zhp->zfs_hdl, dgettext(TEXT_DOMAIN, + "there is a snapshot or bookmark more recent " + "than '%s'"), snap->zfs_name); + (void) zfs_error(zhp->zfs_hdl, EZFS_EXISTS, errbuf); + break; + case ESRCH: + zfs_error_aux(zhp->zfs_hdl, dgettext(TEXT_DOMAIN, + "'%s' is not found among snapshots of '%s'"), + snap->zfs_name, zhp->zfs_name); + (void) zfs_error(zhp->zfs_hdl, EZFS_NOENT, errbuf); + break; + case EINVAL: + (void) zfs_error(zhp->zfs_hdl, EZFS_BADTYPE, errbuf); + break; + default: + (void) zfs_standard_error(zhp->zfs_hdl, err, errbuf); + } return (err); } Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Wed Mar 7 13:40:15 2018 (r330589) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Wed Mar 7 13:45:29 2018 (r330590) @@ -2553,7 +2553,7 @@ dsl_dataset_rollback_check(void *arg, dmu_tx_t *tx) /* must have a most recent snapshot */ if (dsl_dataset_phys(ds)->ds_prev_snap_txg < TXG_INITIAL) { dsl_dataset_rele(ds, FTAG); - return (SET_ERROR(EINVAL)); + return (SET_ERROR(ESRCH)); } /* @@ -2573,11 +2573,46 @@ dsl_dataset_rollback_check(void *arg, dmu_tx_t *tx) * the latest snapshot is it. */ if (ddra->ddra_tosnap != NULL) { - char namebuf[ZFS_MAX_DATASET_NAME_LEN]; + dsl_dataset_t *snapds; - dsl_dataset_name(ds->ds_prev, namebuf); - if (strcmp(namebuf, ddra->ddra_tosnap) != 0) - return (SET_ERROR(EXDEV)); + /* Check if the target snapshot exists at all. */ + error = dsl_dataset_hold(dp, ddra->ddra_tosnap, FTAG, &snapds); + if (error != 0) { + /* + * ESRCH is used to signal that the target snapshot does + * not exist, while ENOENT is used to report that + * the rolled back dataset does not exist. + * ESRCH is also used to cover other cases where the + * target snapshot is not related to the dataset being + * rolled back such as being in a different pool. + */ + if (error == ENOENT || error == EXDEV) + error = SET_ERROR(ESRCH); + dsl_dataset_rele(ds, FTAG); + return (error); + } + ASSERT(snapds->ds_is_snapshot); + + /* Check if the snapshot is the latest snapshot indeed. */ + if (snapds != ds->ds_prev) { + /* + * Distinguish between the case where the only problem + * is intervening snapshots (EEXIST) vs the snapshot + * not being a valid target for rollback (ESRCH). + */ + if (snapds->ds_dir == ds->ds_dir || + (dsl_dir_is_clone(ds->ds_dir) && + dsl_dir_phys(ds->ds_dir)->dd_origin_obj == + snapds->ds_object)) { + error = SET_ERROR(EEXIST); + } else { + error = SET_ERROR(ESRCH); + } + dsl_dataset_rele(snapds, FTAG); + dsl_dataset_rele(ds, FTAG); + return (error); + } + dsl_dataset_rele(snapds, FTAG); } /* must not have any bookmarks after the most recent snapshot */ @@ -2586,8 +2621,10 @@ dsl_dataset_rollback_check(void *arg, dmu_tx_t *tx) nvlist_t *bookmarks = fnvlist_alloc(); error = dsl_get_bookmarks_impl(ds, proprequest, bookmarks); fnvlist_free(proprequest); - if (error != 0) + if (error != 0) { + dsl_dataset_rele(ds, FTAG); return (error); + } for (nvpair_t *pair = nvlist_next_nvpair(bookmarks, NULL); pair != NULL; pair = nvlist_next_nvpair(bookmarks, pair)) { nvlist_t *valuenv = Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Wed Mar 7 13:40:15 2018 (r330589) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Wed Mar 7 13:45:29 2018 (r330590) @@ -3851,11 +3851,14 @@ zfs_ioc_rollback(const char *fsname, nvlist_t *innvl, (void) nvlist_lookup_string(innvl, "target", &target); if (target != NULL) { - int fslen = strlen(fsname); + const char *cp = strchr(target, '@'); - if (strncmp(fsname, target, fslen) != 0) - return (SET_ERROR(EINVAL)); - if (target[fslen] != '@') + /* + * The snap name must contain an @, and the part after it must + * contain only valid characters. + */ + if (cp == NULL || + zfs_component_namecheck(cp + 1, NULL, NULL) != 0) return (SET_ERROR(EINVAL)); } From owner-svn-src-stable@freebsd.org Wed Mar 7 15:02:14 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2F98F34571; Wed, 7 Mar 2018 15:02:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 64FDA78FEC; Wed, 7 Mar 2018 15:02:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5FDD722F0C; Wed, 7 Mar 2018 15:02:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27F2EOg063632; Wed, 7 Mar 2018 15:02:14 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27F2E96063630; Wed, 7 Mar 2018 15:02:14 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201803071502.w27F2E96063630@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 7 Mar 2018 15:02:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330605 - in stable: 10/release/doc/share/xml 11/release/doc/share/xml X-SVN-Group: stable-10 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable: 10/release/doc/share/xml 11/release/doc/share/xml X-SVN-Commit-Revision: 330605 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 15:02:14 -0000 Author: gjb Date: Wed Mar 7 15:02:13 2018 New Revision: 330605 URL: https://svnweb.freebsd.org/changeset/base/330605 Log: Document EN-18:01, EN-18:02, SA-18:01, SA-18:02. Sponsored by: The FreeBSD Foundation Modified: stable/10/release/doc/share/xml/errata.xml stable/10/release/doc/share/xml/security.xml Changes in other areas also in this revision: Modified: stable/11/release/doc/share/xml/errata.xml stable/11/release/doc/share/xml/security.xml Modified: stable/10/release/doc/share/xml/errata.xml ============================================================================== --- stable/10/release/doc/share/xml/errata.xml Wed Mar 7 14:51:50 2018 (r330604) +++ stable/10/release/doc/share/xml/errata.xml Wed Mar 7 15:02:13 2018 (r330605) @@ -25,6 +25,21 @@ Timezone database information update + + + FreeBSD-EN-18:01.tzdata + 07 March 2018 + Timezone database information + update + + + + FreeBSD-EN-18:02.file + 07 March 2018 + Stack-based buffer overflow + Modified: stable/10/release/doc/share/xml/security.xml ============================================================================== --- stable/10/release/doc/share/xml/security.xml Wed Mar 7 14:51:50 2018 (r330604) +++ stable/10/release/doc/share/xml/security.xml Wed Mar 7 15:02:13 2018 (r330605) @@ -68,6 +68,21 @@ 09 December 2017 Multiple vulnerabilities + + + FreeBSD-SA-18:01.ipsec + 07 March 2018 + Fix IPSEC validation and + use-after-free + + + + FreeBSD-SA-18:02.ntp + 07 March 2018 + Multiple vulnerabilities + From owner-svn-src-stable@freebsd.org Wed Mar 7 15:02:15 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08727F34576; Wed, 7 Mar 2018 15:02:15 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B219778FEE; Wed, 7 Mar 2018 15:02:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AD09322F0D; Wed, 7 Mar 2018 15:02:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27F2EgY063639; Wed, 7 Mar 2018 15:02:14 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27F2ERU063637; Wed, 7 Mar 2018 15:02:14 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201803071502.w27F2ERU063637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 7 Mar 2018 15:02:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330605 - in stable: 10/release/doc/share/xml 11/release/doc/share/xml X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable: 10/release/doc/share/xml 11/release/doc/share/xml X-SVN-Commit-Revision: 330605 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 15:02:15 -0000 Author: gjb Date: Wed Mar 7 15:02:13 2018 New Revision: 330605 URL: https://svnweb.freebsd.org/changeset/base/330605 Log: Document EN-18:01, EN-18:02, SA-18:01, SA-18:02. Sponsored by: The FreeBSD Foundation Modified: stable/11/release/doc/share/xml/errata.xml stable/11/release/doc/share/xml/security.xml Changes in other areas also in this revision: Modified: stable/10/release/doc/share/xml/errata.xml stable/10/release/doc/share/xml/security.xml Modified: stable/11/release/doc/share/xml/errata.xml ============================================================================== --- stable/11/release/doc/share/xml/errata.xml Wed Mar 7 14:51:50 2018 (r330604) +++ stable/11/release/doc/share/xml/errata.xml Wed Mar 7 15:02:13 2018 (r330605) @@ -41,6 +41,21 @@ Timezone database information update + + + FreeBSD-EN-18:01.tzdata + 07 March 2018 + Timezone database information + update + + + + FreeBSD-EN-18:02.file + 07 March 2018 + Stack-based buffer overflow + Modified: stable/11/release/doc/share/xml/security.xml ============================================================================== --- stable/11/release/doc/share/xml/security.xml Wed Mar 7 14:51:50 2018 (r330604) +++ stable/11/release/doc/share/xml/security.xml Wed Mar 7 15:02:13 2018 (r330605) @@ -60,6 +60,21 @@ 09 December 2017 Multiple vulnerabilities + + + FreeBSD-SA-18:01.ipsec + 07 March 2018 + Fix IPSEC validation and + use-after-free + + + + FreeBSD-SA-18:02.ntp + 07 March 2018 + Multiple vulnerabilities + From owner-svn-src-stable@freebsd.org Wed Mar 7 16:55:16 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 453EDF3F174; Wed, 7 Mar 2018 16:55:16 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id ECE49806EF; Wed, 7 Mar 2018 16:55:15 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E7EFB2476E; Wed, 7 Mar 2018 16:55:15 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w27GtFju020441; Wed, 7 Mar 2018 16:55:15 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27GtFQJ020440; Wed, 7 Mar 2018 16:55:15 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <201803071655.w27GtFQJ020440@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Wed, 7 Mar 2018 16:55:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330609 - stable/10/sys/netipsec X-SVN-Group: stable-10 X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: stable/10/sys/netipsec X-SVN-Commit-Revision: 330609 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 16:55:16 -0000 Author: gordon Date: Wed Mar 7 16:55:15 2018 New Revision: 330609 URL: https://svnweb.freebsd.org/changeset/base/330609 Log: Fixup the AH patch to properly compile. Modified: stable/10/sys/netipsec/xform_ah.c Modified: stable/10/sys/netipsec/xform_ah.c ============================================================================== --- stable/10/sys/netipsec/xform_ah.c Wed Mar 7 15:23:07 2018 (r330608) +++ stable/10/sys/netipsec/xform_ah.c Wed Mar 7 16:55:15 2018 (r330609) @@ -603,11 +603,11 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski DPRINTF(("%s: bad mbuf length %u (expecting %lu)" " for packet in SA %s/%08lx\n", __func__, m->m_pkthdr.len, (u_long) (skip + authsize + rplen), - ipsec_address(&sav->sah->saidx.dst, buf, sizeof(buf)), + ipsec_address(&sav->sah->saidx.dst), (u_long) ntohl(sav->spi))); AHSTAT_INC(ahs_badauthl); - error = EACCES; - goto bad; + m_freem(m); + return EACCES; } AHSTAT_ADD(ahs_ibytes, m->m_pkthdr.len - skip - hl); From owner-svn-src-stable@freebsd.org Wed Mar 7 20:01:26 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B48B1F2B4AE; Wed, 7 Mar 2018 20:01:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5A1066B1BC; Wed, 7 Mar 2018 20:01:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (ralph.baldwin.cx [66.234.199.215]) by mail.baldwin.cx (Postfix) with ESMTPSA id 5A87810A87D; Wed, 7 Mar 2018 15:01:25 -0500 (EST) From: John Baldwin To: Eitan Adler Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 Date: Wed, 07 Mar 2018 09:37:16 -0800 Message-ID: <8377086.JrIgVVMXMv@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.1-STABLE; KDE/4.14.30; amd64; ; ) In-Reply-To: References: <201803050754.w257swAE001435@repo.freebsd.org> <6465173.s2nWvWCLOs@ralph.baldwin.cx> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Wed, 07 Mar 2018 15:01:25 -0500 (EST) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 20:01:26 -0000 On Tuesday, March 06, 2018 06:46:37 PM Eitan Adler wrote: > On 6 March 2018 at 08:26, John Baldwin wrote: > > On Monday, March 05, 2018 07:13:59 PM Eitan Adler wrote: > >> On 5 March 2018 at 10:08, John Baldwin wrote: > >> > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote: > >> >> Author: eadler > >> >> Date: Mon Mar 5 07:54:57 2018 > >> >> New Revision: 330451 > >> >> URL: https://svnweb.freebsd.org/changeset/base/330451 > >> >> > >> >> Log: > >> >> MFC r306837: > >> >> > >> >> [net80211] extend the ieee80211_rx_stats struct to include more information. > >> > > >> > Have you thought about the KBI implications of this change and some of the > >> > other changes you've merged? > >> > >> I do have a copy of the modules from 11.1 and have loaded them at > >> various points in time after merging. That said, I am not perfect. > >> Unfortunately, my -STABLE box did not have fully functioning drivers > >> before these changes so its difficult to test anything beyond "loads > >> and does not panic.". I havn't done so today yet, but that will happen > >> soon. > >> > >> Ensuring these things work through code inspection is certainly > >> possible and I've skipped over several changes as a result. > > > > Loading a module doesn't alone doesn't actually test for breakage. > > I'm aware. In this case I should likely just revert this change since > its a pretty blatant break. I suspect many of these changes for iwm, etc. are all intertwined so I'm not sure if you can leave out individual ones. > > Batching > > up changes into a single diff is also helpful since if an API changes back > > and forth in HEAD multiple times, collapsing them means that for stable you > > may only need a single compat shim rather than several. > > Understood. My intention in doing them one-by-one was to make it > easier to bisect if something goes wrong. For stable I think we also want to balance this with: 1) Not putting stable in a known-broken state. If there are followup fixes either for compile or runtime performances, those followup fixes should always be included in the commit that merges the original change. 2) Preserving ABI. The desire to avoid putting stable into known-broken state means that MFCs should include the ABI shims along with the original change. -- John Baldwin From owner-svn-src-stable@freebsd.org Wed Mar 7 20:50:30 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 32F87F2F5B8; Wed, 7 Mar 2018 20:50:30 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BFE756D8C8; Wed, 7 Mar 2018 20:50:29 +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 B986126D22; Wed, 7 Mar 2018 20:50:29 +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 w27KoT9v036263; Wed, 7 Mar 2018 20:50:29 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w27KoT7j036256; Wed, 7 Mar 2018 20:50:29 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201803072050.w27KoT7j036256@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 7 Mar 2018 20:50:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330623 - in stable/11: sys/amd64/include sys/amd64/vmm/amd sys/amd64/vmm/intel usr.sbin/bhyvectl X-SVN-Group: stable-11 X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in stable/11: sys/amd64/include sys/amd64/vmm/amd sys/amd64/vmm/intel usr.sbin/bhyvectl X-SVN-Commit-Revision: 330623 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 20:50:30 -0000 Author: jhb Date: Wed Mar 7 20:50:28 2018 New Revision: 330623 URL: https://svnweb.freebsd.org/changeset/base/330623 Log: MFC 328102: Save and restore guest debug registers. Currently most of the debug registers are not saved and restored during VM transitions allowing guest and host debug register values to leak into the opposite context. One result is that hardware watchpoints do not work reliably within a guest under VT-x. Due to differences in SVM and VT-x, slightly different approaches are used. For VT-x: - Enable debug register save/restore for VM entry/exit in the VMCS for DR7 and MSR_DEBUGCTL. - Explicitly save DR0-3,6 of the guest. - Explicitly save DR0-3,6-7, MSR_DEBUGCTL, and the trap flag from %rflags for the host. Note that because DR6 is "software" managed and not stored in the VMCS a kernel debugger which single steps through VM entry could corrupt the guest DR6 (since a single step trap taken after loading the guest DR6 could alter the DR6 register). To avoid this, explicitly disable single-stepping via the trace flag before loading the guest DR6. A determined debugger could still defeat this by setting a breakpoint after the guest DR6 was loaded and then single-stepping. For SVM: - Enable debug register caching in the VMCB for DR6/DR7. - Explicitly save DR0-3 of the guest. - Explicitly save DR0-3,6-7, and MSR_DEBUGCTL for the host. Since SVM saves the guest DR6 in the VMCB, the race with single-stepping described for VT-x does not exist. For both platforms, expose all of the guest DRx values via --get-drX and --set-drX flags to bhyvectl. Modified: stable/11/sys/amd64/include/vmm.h stable/11/sys/amd64/vmm/amd/svm.c stable/11/sys/amd64/vmm/amd/svm.h stable/11/sys/amd64/vmm/amd/vmcb.c stable/11/sys/amd64/vmm/intel/vmx.c stable/11/sys/amd64/vmm/intel/vmx.h stable/11/usr.sbin/bhyvectl/bhyvectl.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/include/vmm.h ============================================================================== --- stable/11/sys/amd64/include/vmm.h Wed Mar 7 18:45:24 2018 (r330622) +++ stable/11/sys/amd64/include/vmm.h Wed Mar 7 20:50:28 2018 (r330623) @@ -83,6 +83,11 @@ enum vm_reg_name { VM_REG_GUEST_PDPTE2, VM_REG_GUEST_PDPTE3, VM_REG_GUEST_INTR_SHADOW, + VM_REG_GUEST_DR0, + VM_REG_GUEST_DR1, + VM_REG_GUEST_DR2, + VM_REG_GUEST_DR3, + VM_REG_GUEST_DR6, VM_REG_LAST }; Modified: stable/11/sys/amd64/vmm/amd/svm.c ============================================================================== --- stable/11/sys/amd64/vmm/amd/svm.c Wed Mar 7 18:45:24 2018 (r330622) +++ stable/11/sys/amd64/vmm/amd/svm.c Wed Mar 7 20:50:28 2018 (r330623) @@ -87,6 +87,7 @@ SYSCTL_NODE(_hw_vmm, OID_AUTO, svm, CTLFLAG_RW, NULL, VMCB_CACHE_TPR | \ VMCB_CACHE_CR2 | \ VMCB_CACHE_CR | \ + VMCB_CACHE_DR | \ VMCB_CACHE_DT | \ VMCB_CACHE_SEG | \ VMCB_CACHE_NP) @@ -504,6 +505,10 @@ vmcb_init(struct svm_softc *sc, int vcpu, uint64_t iop PAT_VALUE(5, PAT_WRITE_THROUGH) | PAT_VALUE(6, PAT_UNCACHED) | PAT_VALUE(7, PAT_UNCACHEABLE); + + /* Set up DR6/7 to power-on state */ + state->dr6 = 0xffff0ff0; + state->dr7 = 0x400; } /* @@ -1861,6 +1866,60 @@ enable_gintr(void) __asm __volatile("stgi"); } +static __inline void +svm_dr_enter_guest(struct svm_regctx *gctx) +{ + + /* Save host control debug registers. */ + gctx->host_dr7 = rdr7(); + gctx->host_debugctl = rdmsr(MSR_DEBUGCTLMSR); + + /* + * Disable debugging in DR7 and DEBUGCTL to avoid triggering + * exceptions in the host based on the guest DRx values. The + * guest DR6, DR7, and DEBUGCTL are saved/restored in the + * VMCB. + */ + load_dr7(0); + wrmsr(MSR_DEBUGCTLMSR, 0); + + /* Save host debug registers. */ + gctx->host_dr0 = rdr0(); + gctx->host_dr1 = rdr1(); + gctx->host_dr2 = rdr2(); + gctx->host_dr3 = rdr3(); + gctx->host_dr6 = rdr6(); + + /* Restore guest debug registers. */ + load_dr0(gctx->sctx_dr0); + load_dr1(gctx->sctx_dr1); + load_dr2(gctx->sctx_dr2); + load_dr3(gctx->sctx_dr3); +} + +static __inline void +svm_dr_leave_guest(struct svm_regctx *gctx) +{ + + /* Save guest debug registers. */ + gctx->sctx_dr0 = rdr0(); + gctx->sctx_dr1 = rdr1(); + gctx->sctx_dr2 = rdr2(); + gctx->sctx_dr3 = rdr3(); + + /* + * Restore host debug registers. Restore DR7 and DEBUGCTL + * last. + */ + load_dr0(gctx->host_dr0); + load_dr1(gctx->host_dr1); + load_dr2(gctx->host_dr2); + load_dr3(gctx->host_dr3); + load_dr6(gctx->host_dr6); + wrmsr(MSR_DEBUGCTLMSR, gctx->host_debugctl); + load_dr7(gctx->host_dr7); +} + /* * Start vcpu with specified RIP. */ @@ -1973,7 +2032,9 @@ svm_vmrun(void *arg, int vcpu, register_t rip, pmap_t /* Launch Virtual Machine. */ VCPU_CTR1(vm, vcpu, "Resume execution at %#lx", state->rip); + svm_dr_enter_guest(gctx); svm_launch(vmcb_pa, gctx, &__pcpu[curcpu]); + svm_dr_leave_guest(gctx); CPU_CLR_ATOMIC(curcpu, &pmap->pm_active); @@ -2042,6 +2103,14 @@ swctx_regptr(struct svm_regctx *regctx, int reg) return (®ctx->sctx_r14); case VM_REG_GUEST_R15: return (®ctx->sctx_r15); + case VM_REG_GUEST_DR0: + return (®ctx->sctx_dr0); + case VM_REG_GUEST_DR1: + return (®ctx->sctx_dr1); + case VM_REG_GUEST_DR2: + return (®ctx->sctx_dr2); + case VM_REG_GUEST_DR3: + return (®ctx->sctx_dr3); default: return (NULL); } Modified: stable/11/sys/amd64/vmm/amd/svm.h ============================================================================== --- stable/11/sys/amd64/vmm/amd/svm.h Wed Mar 7 18:45:24 2018 (r330622) +++ stable/11/sys/amd64/vmm/amd/svm.h Wed Mar 7 20:50:28 2018 (r330623) @@ -49,6 +49,18 @@ struct svm_regctx { register_t sctx_r13; register_t sctx_r14; register_t sctx_r15; + register_t sctx_dr0; + register_t sctx_dr1; + register_t sctx_dr2; + register_t sctx_dr3; + + register_t host_dr0; + register_t host_dr1; + register_t host_dr2; + register_t host_dr3; + register_t host_dr6; + register_t host_dr7; + uint64_t host_debugctl; }; void svm_launch(uint64_t pa, struct svm_regctx *gctx, struct pcpu *pcpu); Modified: stable/11/sys/amd64/vmm/amd/vmcb.c ============================================================================== --- stable/11/sys/amd64/vmm/amd/vmcb.c Wed Mar 7 18:45:24 2018 (r330622) +++ stable/11/sys/amd64/vmm/amd/vmcb.c Wed Mar 7 20:50:28 2018 (r330623) @@ -187,6 +187,10 @@ vmcb_read(struct svm_softc *sc, int vcpu, int ident, u *retval = state->cr4; break; + case VM_REG_GUEST_DR6: + *retval = state->dr6; + break; + case VM_REG_GUEST_DR7: *retval = state->dr7; break; @@ -278,8 +282,14 @@ vmcb_write(struct svm_softc *sc, int vcpu, int ident, svm_set_dirty(sc, vcpu, VMCB_CACHE_CR); break; + case VM_REG_GUEST_DR6: + state->dr6 = val; + svm_set_dirty(sc, vcpu, VMCB_CACHE_DR); + break; + case VM_REG_GUEST_DR7: state->dr7 = val; + svm_set_dirty(sc, vcpu, VMCB_CACHE_DR); break; case VM_REG_GUEST_EFER: Modified: stable/11/sys/amd64/vmm/intel/vmx.c ============================================================================== --- stable/11/sys/amd64/vmm/intel/vmx.c Wed Mar 7 18:45:24 2018 (r330622) +++ stable/11/sys/amd64/vmm/intel/vmx.c Wed Mar 7 20:50:28 2018 (r330623) @@ -96,18 +96,20 @@ __FBSDID("$FreeBSD$"); #define PROCBASED_CTLS2_ZERO_SETTING 0 #define VM_EXIT_CTLS_ONE_SETTING \ - (VM_EXIT_HOST_LMA | \ + (VM_EXIT_SAVE_DEBUG_CONTROLS | \ + VM_EXIT_HOST_LMA | \ VM_EXIT_SAVE_EFER | \ VM_EXIT_LOAD_EFER | \ VM_EXIT_ACKNOWLEDGE_INTERRUPT) -#define VM_EXIT_CTLS_ZERO_SETTING VM_EXIT_SAVE_DEBUG_CONTROLS +#define VM_EXIT_CTLS_ZERO_SETTING 0 -#define VM_ENTRY_CTLS_ONE_SETTING (VM_ENTRY_LOAD_EFER) +#define VM_ENTRY_CTLS_ONE_SETTING \ + (VM_ENTRY_LOAD_DEBUG_CONTROLS | \ + VM_ENTRY_LOAD_EFER) #define VM_ENTRY_CTLS_ZERO_SETTING \ - (VM_ENTRY_LOAD_DEBUG_CONTROLS | \ - VM_ENTRY_INTO_SMM | \ + (VM_ENTRY_INTO_SMM | \ VM_ENTRY_DEACTIVATE_DUAL_MONITOR) #define HANDLED 1 @@ -914,6 +916,9 @@ vmx_vminit(struct vm *vm, pmap_t pmap) exc_bitmap = 1 << IDT_MC; error += vmwrite(VMCS_EXCEPTION_BITMAP, exc_bitmap); + vmx->ctx[i].guest_dr6 = 0xffff0ff0; + error += vmwrite(VMCS_GUEST_DR7, 0x400); + if (virtual_interrupt_delivery) { error += vmwrite(VMCS_APIC_ACCESS, APIC_ACCESS_ADDRESS); error += vmwrite(VMCS_VIRTUAL_APIC, @@ -2570,6 +2575,73 @@ vmx_exit_handle_nmi(struct vmx *vmx, int vcpuid, struc } } +static __inline void +vmx_dr_enter_guest(struct vmxctx *vmxctx) +{ + register_t rflags; + + /* Save host control debug registers. */ + vmxctx->host_dr7 = rdr7(); + vmxctx->host_debugctl = rdmsr(MSR_DEBUGCTLMSR); + + /* + * Disable debugging in DR7 and DEBUGCTL to avoid triggering + * exceptions in the host based on the guest DRx values. The + * guest DR7 and DEBUGCTL are saved/restored in the VMCS. + */ + load_dr7(0); + wrmsr(MSR_DEBUGCTLMSR, 0); + + /* + * Disable single stepping the kernel to avoid corrupting the + * guest DR6. A debugger might still be able to corrupt the + * guest DR6 by setting a breakpoint after this point and then + * single stepping. + */ + rflags = read_rflags(); + vmxctx->host_tf = rflags & PSL_T; + write_rflags(rflags & ~PSL_T); + + /* Save host debug registers. */ + vmxctx->host_dr0 = rdr0(); + vmxctx->host_dr1 = rdr1(); + vmxctx->host_dr2 = rdr2(); + vmxctx->host_dr3 = rdr3(); + vmxctx->host_dr6 = rdr6(); + + /* Restore guest debug registers. */ + load_dr0(vmxctx->guest_dr0); + load_dr1(vmxctx->guest_dr1); + load_dr2(vmxctx->guest_dr2); + load_dr3(vmxctx->guest_dr3); + load_dr6(vmxctx->guest_dr6); +} + +static __inline void +vmx_dr_leave_guest(struct vmxctx *vmxctx) +{ + + /* Save guest debug registers. */ + vmxctx->guest_dr0 = rdr0(); + vmxctx->guest_dr1 = rdr1(); + vmxctx->guest_dr2 = rdr2(); + vmxctx->guest_dr3 = rdr3(); + vmxctx->guest_dr6 = rdr6(); + + /* + * Restore host debug registers. Restore DR7, DEBUGCTL, and + * PSL_T last. + */ + load_dr0(vmxctx->host_dr0); + load_dr1(vmxctx->host_dr1); + load_dr2(vmxctx->host_dr2); + load_dr3(vmxctx->host_dr3); + load_dr6(vmxctx->host_dr6); + wrmsr(MSR_DEBUGCTLMSR, vmxctx->host_debugctl); + load_dr7(vmxctx->host_dr7); + write_rflags(read_rflags() | vmxctx->host_tf); +} + static int vmx_run(void *arg, int vcpu, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) @@ -2668,7 +2740,9 @@ vmx_run(void *arg, int vcpu, register_t rip, pmap_t pm } vmx_run_trace(vmx, vcpu); + vmx_dr_enter_guest(vmxctx); rc = vmx_enter_guest(vmxctx, vmx, launched); + vmx_dr_leave_guest(vmxctx); /* Collect some information for VM exit processing */ vmexit->rip = rip = vmcs_guest_rip(); @@ -2768,6 +2842,16 @@ vmxctx_regptr(struct vmxctx *vmxctx, int reg) return (&vmxctx->guest_r15); case VM_REG_GUEST_CR2: return (&vmxctx->guest_cr2); + case VM_REG_GUEST_DR0: + return (&vmxctx->guest_dr0); + case VM_REG_GUEST_DR1: + return (&vmxctx->guest_dr1); + case VM_REG_GUEST_DR2: + return (&vmxctx->guest_dr2); + case VM_REG_GUEST_DR3: + return (&vmxctx->guest_dr3); + case VM_REG_GUEST_DR6: + return (&vmxctx->guest_dr6); default: break; } Modified: stable/11/sys/amd64/vmm/intel/vmx.h ============================================================================== --- stable/11/sys/amd64/vmm/intel/vmx.h Wed Mar 7 18:45:24 2018 (r330622) +++ stable/11/sys/amd64/vmm/intel/vmx.h Wed Mar 7 20:50:28 2018 (r330623) @@ -50,6 +50,11 @@ struct vmxctx { register_t guest_r14; register_t guest_r15; register_t guest_cr2; + register_t guest_dr0; + register_t guest_dr1; + register_t guest_dr2; + register_t guest_dr3; + register_t guest_dr6; register_t host_r15; /* Host state */ register_t host_r14; @@ -58,9 +63,14 @@ struct vmxctx { register_t host_rbp; register_t host_rsp; register_t host_rbx; - /* - * XXX todo debug registers and fpu state - */ + register_t host_dr0; + register_t host_dr1; + register_t host_dr2; + register_t host_dr3; + register_t host_dr6; + register_t host_dr7; + uint64_t host_debugctl; + int host_tf; int inst_fail_status; Modified: stable/11/usr.sbin/bhyvectl/bhyvectl.c ============================================================================== --- stable/11/usr.sbin/bhyvectl/bhyvectl.c Wed Mar 7 18:45:24 2018 (r330622) +++ stable/11/usr.sbin/bhyvectl/bhyvectl.c Wed Mar 7 20:50:28 2018 (r330623) @@ -113,6 +113,16 @@ usage(bool cpu_intel) " [--get-cr3]\n" " [--set-cr4=]\n" " [--get-cr4]\n" + " [--set-dr0=]\n" + " [--get-dr0]\n" + " [--set-dr1=]\n" + " [--get-dr1]\n" + " [--set-dr2=]\n" + " [--get-dr2]\n" + " [--set-dr3=]\n" + " [--get-dr3]\n" + " [--set-dr6=]\n" + " [--get-dr6]\n" " [--set-dr7=]\n" " [--get-dr7]\n" " [--set-rsp=]\n" @@ -246,6 +256,11 @@ static int get_active_cpus, get_suspended_cpus; static uint64_t memsize; static int set_cr0, get_cr0, set_cr3, get_cr3, set_cr4, get_cr4; static int set_efer, get_efer; +static int set_dr0, get_dr0; +static int set_dr1, get_dr1; +static int set_dr2, get_dr2; +static int set_dr3, get_dr3; +static int set_dr6, get_dr6; static int set_dr7, get_dr7; static int set_rsp, get_rsp, set_rip, get_rip, set_rflags, get_rflags; static int set_rax, get_rax; @@ -538,6 +553,11 @@ enum { SET_CR0, SET_CR3, SET_CR4, + SET_DR0, + SET_DR1, + SET_DR2, + SET_DR3, + SET_DR6, SET_DR7, SET_RSP, SET_RIP, @@ -642,7 +662,8 @@ cpu_vendor_intel(void) static int get_all_registers(struct vmctx *ctx, int vcpu) { - uint64_t cr0, cr3, cr4, dr7, rsp, rip, rflags, efer; + uint64_t cr0, cr3, cr4, dr0, dr1, dr2, dr3, dr6, dr7; + uint64_t rsp, rip, rflags, efer; uint64_t rax, rbx, rcx, rdx, rsi, rdi, rbp; uint64_t r8, r9, r10, r11, r12, r13, r14, r15; int error = 0; @@ -671,6 +692,36 @@ get_all_registers(struct vmctx *ctx, int vcpu) printf("cr4[%d]\t\t0x%016lx\n", vcpu, cr4); } + if (!error && (get_dr0 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_DR0, &dr0); + if (error == 0) + printf("dr0[%d]\t\t0x%016lx\n", vcpu, dr0); + } + + if (!error && (get_dr1 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_DR1, &dr1); + if (error == 0) + printf("dr1[%d]\t\t0x%016lx\n", vcpu, dr1); + } + + if (!error && (get_dr2 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_DR2, &dr2); + if (error == 0) + printf("dr2[%d]\t\t0x%016lx\n", vcpu, dr2); + } + + if (!error && (get_dr3 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_DR3, &dr3); + if (error == 0) + printf("dr3[%d]\t\t0x%016lx\n", vcpu, dr3); + } + + if (!error && (get_dr6 || get_all)) { + error = vm_get_register(ctx, vcpu, VM_REG_GUEST_DR6, &dr6); + if (error == 0) + printf("dr6[%d]\t\t0x%016lx\n", vcpu, dr6); + } + if (!error && (get_dr7 || get_all)) { error = vm_get_register(ctx, vcpu, VM_REG_GUEST_DR7, &dr7); if (error == 0) @@ -1273,6 +1324,11 @@ setup_options(bool cpu_intel) { "set-cr0", REQ_ARG, 0, SET_CR0 }, { "set-cr3", REQ_ARG, 0, SET_CR3 }, { "set-cr4", REQ_ARG, 0, SET_CR4 }, + { "set-dr0", REQ_ARG, 0, SET_DR0 }, + { "set-dr1", REQ_ARG, 0, SET_DR1 }, + { "set-dr2", REQ_ARG, 0, SET_DR2 }, + { "set-dr3", REQ_ARG, 0, SET_DR3 }, + { "set-dr6", REQ_ARG, 0, SET_DR6 }, { "set-dr7", REQ_ARG, 0, SET_DR7 }, { "set-rsp", REQ_ARG, 0, SET_RSP }, { "set-rip", REQ_ARG, 0, SET_RIP }, @@ -1330,6 +1386,11 @@ setup_options(bool cpu_intel) { "get-cr0", NO_ARG, &get_cr0, 1 }, { "get-cr3", NO_ARG, &get_cr3, 1 }, { "get-cr4", NO_ARG, &get_cr4, 1 }, + { "get-dr0", NO_ARG, &get_dr0, 1 }, + { "get-dr1", NO_ARG, &get_dr1, 1 }, + { "get-dr2", NO_ARG, &get_dr2, 1 }, + { "get-dr3", NO_ARG, &get_dr3, 1 }, + { "get-dr6", NO_ARG, &get_dr6, 1 }, { "get-dr7", NO_ARG, &get_dr7, 1 }, { "get-rsp", NO_ARG, &get_rsp, 1 }, { "get-rip", NO_ARG, &get_rip, 1 }, @@ -1607,7 +1668,8 @@ main(int argc, char *argv[]) int error, ch, vcpu, ptenum; vm_paddr_t gpa_pmap; struct vm_exit vmexit; - uint64_t rax, cr0, cr3, cr4, dr7, rsp, rip, rflags, efer, pat; + uint64_t rax, cr0, cr3, cr4, dr0, dr1, dr2, dr3, dr6, dr7; + uint64_t rsp, rip, rflags, efer, pat; uint64_t eptp, bm, addr, u64, pteval[4], *pte, info[2]; struct vmctx *ctx; cpuset_t cpus; @@ -1654,6 +1716,26 @@ main(int argc, char *argv[]) cr4 = strtoul(optarg, NULL, 0); set_cr4 = 1; break; + case SET_DR0: + dr0 = strtoul(optarg, NULL, 0); + set_dr0 = 1; + break; + case SET_DR1: + dr1 = strtoul(optarg, NULL, 0); + set_dr1 = 1; + break; + case SET_DR2: + dr2 = strtoul(optarg, NULL, 0); + set_dr2 = 1; + break; + case SET_DR3: + dr3 = strtoul(optarg, NULL, 0); + set_dr3 = 1; + break; + case SET_DR6: + dr6 = strtoul(optarg, NULL, 0); + set_dr6 = 1; + break; case SET_DR7: dr7 = strtoul(optarg, NULL, 0); set_dr7 = 1; @@ -1794,6 +1876,21 @@ main(int argc, char *argv[]) if (!error && set_cr4) error = vm_set_register(ctx, vcpu, VM_REG_GUEST_CR4, cr4); + + if (!error && set_dr0) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_DR0, dr0); + + if (!error && set_dr1) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_DR1, dr1); + + if (!error && set_dr2) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_DR2, dr2); + + if (!error && set_dr3) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_DR3, dr3); + + if (!error && set_dr6) + error = vm_set_register(ctx, vcpu, VM_REG_GUEST_DR6, dr6); if (!error && set_dr7) error = vm_set_register(ctx, vcpu, VM_REG_GUEST_DR7, dr7); From owner-svn-src-stable@freebsd.org Wed Mar 7 21:40:53 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42269F339AE; Wed, 7 Mar 2018 21:40:53 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-wm0-x230.google.com (mail-wm0-x230.google.com [IPv6:2a00:1450:400c:c09::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B0DD670FD6; Wed, 7 Mar 2018 21:40:52 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-wm0-x230.google.com with SMTP id h21so7562641wmd.1; Wed, 07 Mar 2018 13:40:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=JI7LV8teKIsP+WxAwI4EuDHC3XWyiG7OLVPSORhSopo=; b=HgIw7CreUKYAgWfjfs5BtYMN2ef0KXpglWg8kRk93qc/386JRytWXd+R+uNeFu0IMt aZIaMxZGF996ewEZbHM0E3s9iTjb6hocwX73hsgiZ++ZcxkvlIZNfuZJgoZJF+Eh6lH0 ujgcjSPEFgqIFAtWjKWVgAS1ru9L5IInlC/rTtUyq/0vowyFzN7Owl88wol3FutsQCwq IUsMsJgzEKvJZZFHZ0HHWNrbnp0ebWOxXmIGWtTexTWHcdbVBAUNaoY+Q7HRn6cLWC6s XsnF4W9rOTj4MtgwCPpA9mEoOTNEj5b/Bkrct2ra5OjhDTU0mpdilnVlhs0SZBCg2qAP 2YIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=JI7LV8teKIsP+WxAwI4EuDHC3XWyiG7OLVPSORhSopo=; b=K3GZF7V64gXb0LJYgA6bItRlg4Kv4D6bKWNa+cSFYZlqCHFUa1e1l3pX0oq2XllIeu BN24iMMTn+y8tuu+ajFfDLuH4pB2BSCUqDGzsydOVO1eEJT0cYPuxYb51nhTW2DFjaDT k8s/9a+rK4rxM4LrY91zf49vRpPnTKdQKOIsrY/X8rWSE0MQyTKRqczgzCeP2nKvOCvC 1ScmfZ8qWceAdHmplsJ1JxPTcqcRYZxruvk/+AVofqc86/GCO8kgoWb5W/xeGhGrXAte jjLfDPiMuMD7zvcv5pNcnUrmh3ZBk6gXGBjb1IsZ/+M1p8bidro6THd5rWIJhcPhkyEi gaOw== X-Gm-Message-State: AElRT7F4PcezXPQDr0s80X88VoSzIcVqRHEz2ouVnooVvpcTgocsgvrA zvh/AH89gm6S2bCjFqsUF/AwwZm0kM2MkjOm6o9DdQ== X-Google-Smtp-Source: AG47ELseiUJktJ8b6d0VJn6FSONjLC6/Y4Njy2wQ+PomP6S7l0mMsWxC5teKojVXLswIGNTuj8qEgkTsG+SjB//OiGs= X-Received: by 10.28.229.17 with SMTP id c17mr14820027wmh.1.1520458850162; Wed, 07 Mar 2018 13:40:50 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.84.14 with HTTP; Wed, 7 Mar 2018 13:40:48 -0800 (PST) In-Reply-To: <8377086.JrIgVVMXMv@ralph.baldwin.cx> References: <201803050754.w257swAE001435@repo.freebsd.org> <6465173.s2nWvWCLOs@ralph.baldwin.cx> <8377086.JrIgVVMXMv@ralph.baldwin.cx> From: Adrian Chadd Date: Wed, 7 Mar 2018 13:40:48 -0800 Message-ID: Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: John Baldwin Cc: Eitan Adler , src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 21:40:53 -0000 (*whispers* you have to upgrade everything all at ooooooonnnce.) -adrian From owner-svn-src-stable@freebsd.org Wed Mar 7 22:54:21 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0DC0BF39D4D for ; Wed, 7 Mar 2018 22:54:21 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-yb0-x234.google.com (mail-yb0-x234.google.com [IPv6:2607:f8b0:4002:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A3604747D8 for ; Wed, 7 Mar 2018 22:54:20 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: by mail-yb0-x234.google.com with SMTP id h19-v6so1373382ybj.11 for ; Wed, 07 Mar 2018 14:54:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=TSC5i61gO55t7/zY0wfcOQe+yuYKAzaUQyM3I0MTyZQ=; b=DIPTD3a4X1IbrlReBN1+VS6TMSXhOiuAcg4ddtVSkKOWweytADllVqwR80bTjIGSl5 fnxtlUw70kMmd0fGkVC02HBvIdQbu6SC6PZCzlgp2xuxNkBPBg11RVxTZ2P+pdPTmodf BhLvf4mV+xpfarVUIHw+Df2biX2fWBfvxXAwI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=TSC5i61gO55t7/zY0wfcOQe+yuYKAzaUQyM3I0MTyZQ=; b=SMmgqc3mV6oEJzepvkgllB86pRmAP3tZL64+TCD19JyrEQ+6RkyJZSDzZng6wEMw1h NoEHWErCBnPDxFZvhYUrjIAWZ2/Apu5Z31zdhiaMFPCx64Y72GFLzNHDcWAGcqvOBiWr p9Rf+5enQO4M+Y5nWDXekHI08Mk3s0wCL6KHThhsx0v/Z7Qzc+awGuV6UyBTSPD79mXF R2UPfwJ+fQbyUS1ht/KATxcIHb7Y/b0gvhuga4YTmTjQJhkC4RoklOzc3MPnEBE+TpiA 7avAsH88KWO1fpQtEXWRfeoE5drMg2LOom/LvHrC7PEt8i7mWxZIiGlT7zmrRDgL4pTI +LZQ== X-Gm-Message-State: APf1xPA1xLs1AzZu9C5fdzOvrmS8axYKgLXEjD4Eqng9Z1PhNF5l7eWR 3Rbu4Oo5DtCyWPOyg1nnwkge/5mkIws04viQxoDIQA== X-Google-Smtp-Source: AG47ELsjttXVBOFSoHcfY8ZkNnvxluffLRortGjj12xWZR7Ud+cmrDPPxkVaSvfWa/XmzUqeV82+N/5ap6cYyxD18gM= X-Received: by 2002:a25:e5c7:: with SMTP id c190-v6mr15394895ybh.338.1520463259894; Wed, 07 Mar 2018 14:54:19 -0800 (PST) MIME-Version: 1.0 Sender: lists@eitanadler.com Received: by 2002:a25:23d2:0:0:0:0:0 with HTTP; Wed, 7 Mar 2018 14:53:49 -0800 (PST) In-Reply-To: <8377086.JrIgVVMXMv@ralph.baldwin.cx> References: <201803050754.w257swAE001435@repo.freebsd.org> <6465173.s2nWvWCLOs@ralph.baldwin.cx> <8377086.JrIgVVMXMv@ralph.baldwin.cx> From: Eitan Adler Date: Wed, 7 Mar 2018 14:53:49 -0800 X-Google-Sender-Auth: QjtyHAfa52OuR3dgYd85NjRfyXc Message-ID: Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: John Baldwin Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 22:54:21 -0000 On 7 March 2018 at 09:37, John Baldwin wrote: > On Tuesday, March 06, 2018 06:46:37 PM Eitan Adler wrote: >> On 6 March 2018 at 08:26, John Baldwin wrote: >> > On Monday, March 05, 2018 07:13:59 PM Eitan Adler wrote: >> >> On 5 March 2018 at 10:08, John Baldwin wrote: >> >> > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote: >> >> >> Author: eadler >> >> >> Date: Mon Mar 5 07:54:57 2018 >> >> >> New Revision: 330451 >> >> >> URL: https://svnweb.freebsd.org/changeset/base/330451 >> >> >> >> >> >> Log: >> >> >> MFC r306837: >> >> >> >> >> >> [net80211] extend the ieee80211_rx_stats struct to include more information. >> >> > >> >> > Have you thought about the KBI implications of this change and some of the >> >> > other changes you've merged? >> >> >> >> I do have a copy of the modules from 11.1 and have loaded them at >> >> various points in time after merging. That said, I am not perfect. >> >> Unfortunately, my -STABLE box did not have fully functioning drivers >> >> before these changes so its difficult to test anything beyond "loads >> >> and does not panic.". I havn't done so today yet, but that will happen >> >> soon. >> >> >> >> Ensuring these things work through code inspection is certainly >> >> possible and I've skipped over several changes as a result. >> > >> > Loading a module doesn't alone doesn't actually test for breakage. >> >> I'm aware. In this case I should likely just revert this change since >> its a pretty blatant break. > > I suspect many of these changes for iwm, etc. are all intertwined so I'm not > sure if you can leave out individual ones. Possibly. I do have iwm working on my laptop though. I also know of one open PR assigned to me w.r.t. a model I don't own. I'll be addressing it some time this week. >> > Batching >> > up changes into a single diff is also helpful since if an API changes back >> > and forth in HEAD multiple times, collapsing them means that for stable you >> > may only need a single compat shim rather than several. >> >> Understood. My intention in doing them one-by-one was to make it >> easier to bisect if something goes wrong. > > For stable I think we also want to balance this with: > > 1) Not putting stable in a known-broken state. If there are followup fixes > either for compile or runtime performances, those followup fixes should > always be included in the commit that merges the original change. To the extent possible I tried to do this. > 2) Preserving ABI. The desire to avoid putting stable into known-broken > state means that MFCs should include the ABI shims along with the original > change. This part I missed very clearly. I'll be sure to be more careful in the future. -- Eitan Adler Source, Ports, Doc committer Bugmeister, Ports Security teams From owner-svn-src-stable@freebsd.org Wed Mar 7 23:18:58 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0B6DBF3BA1C; Wed, 7 Mar 2018 23:18:58 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 10DA4754B5; Wed, 7 Mar 2018 23:18:56 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id w27NIrk4056502; Wed, 7 Mar 2018 15:18:53 -0800 (PST) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id w27NIrI6056501; Wed, 7 Mar 2018 15:18:53 -0800 (PST) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201803072318.w27NIrI6056501@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 In-Reply-To: To: Eitan Adler Date: Wed, 7 Mar 2018 15:18:53 -0800 (PST) CC: John Baldwin , src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2018 23:18:58 -0000 > On 7 March 2018 at 09:37, John Baldwin wrote: > > On Tuesday, March 06, 2018 06:46:37 PM Eitan Adler wrote: > >> On 6 March 2018 at 08:26, John Baldwin wrote: > >> > On Monday, March 05, 2018 07:13:59 PM Eitan Adler wrote: > >> >> On 5 March 2018 at 10:08, John Baldwin wrote: > >> >> > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote: > >> >> >> Author: eadler > >> >> >> Date: Mon Mar 5 07:54:57 2018 > >> >> >> New Revision: 330451 > >> >> >> URL: https://svnweb.freebsd.org/changeset/base/330451 > >> >> >> > >> >> >> Log: > >> >> >> MFC r306837: > >> >> >> > >> >> >> [net80211] extend the ieee80211_rx_stats struct to include more information. > >> >> > > >> >> > Have you thought about the KBI implications of this change and some of the > >> >> > other changes you've merged? > >> >> > >> >> I do have a copy of the modules from 11.1 and have loaded them at > >> >> various points in time after merging. That said, I am not perfect. > >> >> Unfortunately, my -STABLE box did not have fully functioning drivers > >> >> before these changes so its difficult to test anything beyond "loads > >> >> and does not panic.". I havn't done so today yet, but that will happen > >> >> soon. > >> >> > >> >> Ensuring these things work through code inspection is certainly > >> >> possible and I've skipped over several changes as a result. > >> > > >> > Loading a module doesn't alone doesn't actually test for breakage. > >> > >> I'm aware. In this case I should likely just revert this change since > >> its a pretty blatant break. > > > > I suspect many of these changes for iwm, etc. are all intertwined so I'm not > > sure if you can leave out individual ones. > > Possibly. I do have iwm working on my laptop though. I also know of > one open PR assigned to me w.r.t. a model I don't own. I'll be > addressing it some time this week. I believe I also have a tester of stable/11 iwm patches avaliable, he has an 8265? -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-stable@freebsd.org Thu Mar 8 01:03:27 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6F20F439CB; Thu, 8 Mar 2018 01:03:27 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6A2A679C62; Thu, 8 Mar 2018 01:03:27 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64C7D17D2; Thu, 8 Mar 2018 01:03:27 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2813RKR069159; Thu, 8 Mar 2018 01:03:27 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2813RRe069158; Thu, 8 Mar 2018 01:03:27 GMT (envelope-from np@FreeBSD.org) Message-Id: <201803080103.w2813RRe069158@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 8 Mar 2018 01:03:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330626 - stable/11/sys/conf X-SVN-Group: stable-11 X-SVN-Commit-Author: np X-SVN-Commit-Paths: stable/11/sys/conf X-SVN-Commit-Revision: 330626 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 01:03:27 -0000 Author: np Date: Thu Mar 8 01:03:26 2018 New Revision: 330626 URL: https://svnweb.freebsd.org/changeset/base/330626 Log: MFC r322659 (by glebius): Fix cut and paste typo that prevented T5 firmware to be compiled in. Modified: stable/11/sys/conf/files Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/conf/files ============================================================================== --- stable/11/sys/conf/files Wed Mar 7 22:05:23 2018 (r330625) +++ stable/11/sys/conf/files Thu Mar 8 01:03:26 2018 (r330626) @@ -1378,7 +1378,7 @@ t4fw.fw optional cxgbe \ no-obj no-implicit-rule \ clean "t4fw.fw" t5fw_cfg.c optional cxgbe \ - compile-with "${AWK} -f $S/tools/fw_stub.awk t5fw_cfg.fw:t5fw_cfg t5fw_cfg_uwire.fw:t5fw_cfg_uwire t4fw.fw:t4fw -mt5fw_cfg -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk t5fw_cfg.fw:t5fw_cfg t5fw_cfg_uwire.fw:t5fw_cfg_uwire t5fw.fw:t5fw -mt5fw_cfg -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "t5fw_cfg.c" t5fw_cfg.fwo optional cxgbe \ From owner-svn-src-stable@freebsd.org Thu Mar 8 05:40:14 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E188BF354F9; Thu, 8 Mar 2018 05:40:13 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 85485868B1; Thu, 8 Mar 2018 05:40:13 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 777754A60; Thu, 8 Mar 2018 05:40:13 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w285eDGB005500; Thu, 8 Mar 2018 05:40:13 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w285eD06005498; Thu, 8 Mar 2018 05:40:13 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080540.w285eD06005498@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 05:40:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330629 - stable/11/sbin/growfs X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sbin/growfs X-SVN-Commit-Revision: 330629 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 05:40:14 -0000 Author: eadler Date: Thu Mar 8 05:40:13 2018 New Revision: 330629 URL: https://svnweb.freebsd.org/changeset/base/330629 Log: MFC r326820: Tone down the description for the growfs "-y" flag. Modified: stable/11/sbin/growfs/growfs.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/growfs/growfs.8 ============================================================================== --- stable/11/sbin/growfs/growfs.8 Thu Mar 8 05:28:43 2018 (r330628) +++ stable/11/sbin/growfs/growfs.8 Thu Mar 8 05:40:13 2018 (r330629) @@ -37,7 +37,7 @@ .\" $TSHeader: src/sbin/growfs/growfs.8,v 1.3 2000/12/12 19:31:00 tomsoft Exp $ .\" $FreeBSD$ .\" -.Dd May 10, 2016 +.Dd December 13, 2017 .Dt GROWFS 8 .Os .Sh NAME @@ -68,16 +68,10 @@ The following options are available: Causes the new file system parameters to be printed out without actually enlarging the file system. .It Fl y -.Dq Expert mode . -Usually +Causes .Nm -will ask you if you took a backup of your data before and will do some tests -whether -.Ar special -is currently mounted or whether there are any active snapshots on the file -system specified. -This will be suppressed. -So use this option with great care! +to assume yes +as the answer to all operator questions. .It Fl s Ar size Determines the .Ar size From owner-svn-src-stable@freebsd.org Thu Mar 8 05:41:54 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 94FB8F357BC; Thu, 8 Mar 2018 05:41:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4172986BF7; Thu, 8 Mar 2018 05:41:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3C3B54BB6; Thu, 8 Mar 2018 05:41:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w285fsc3007200; Thu, 8 Mar 2018 05:41:54 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w285fsDh007199; Thu, 8 Mar 2018 05:41:54 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080541.w285fsDh007199@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 05:41:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330630 - stable/11/contrib/top X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/contrib/top X-SVN-Commit-Revision: 330630 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 05:41:54 -0000 Author: eadler Date: Thu Mar 8 05:41:53 2018 New Revision: 330630 URL: https://svnweb.freebsd.org/changeset/base/330630 Log: MFC r318587: Add -w to usage string. Modified: stable/11/contrib/top/top.c Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/top/top.c ============================================================================== --- stable/11/contrib/top/top.c Thu Mar 8 05:40:13 2018 (r330629) +++ stable/11/contrib/top/top.c Thu Mar 8 05:41:53 2018 (r330630) @@ -535,7 +535,7 @@ char *argv[]; default: fprintf(stderr, "Top version %s\n" -"Usage: %s [-abCHIijnPqStuvz] [-d count] [-m io | cpu] [-o field] [-s time]\n" +"Usage: %s [-abCHIijnPqStuvwz] [-d count] [-m io | cpu] [-o field] [-s time]\n" " [-J jail] [-U username] [number]\n", version_string(), myname); exit(1); From owner-svn-src-stable@freebsd.org Thu Mar 8 06:51:18 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F170EF3951B; Thu, 8 Mar 2018 06:51:17 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9551669706; Thu, 8 Mar 2018 06:51:17 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7623A55D1; Thu, 8 Mar 2018 06:51:17 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w286pHTi041599; Thu, 8 Mar 2018 06:51:17 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w286pHLa041598; Thu, 8 Mar 2018 06:51:17 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080651.w286pHLa041598@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 06:51:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330632 - stable/11/include X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/include X-SVN-Commit-Revision: 330632 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 06:51:18 -0000 Author: eadler Date: Thu Mar 8 06:51:17 2018 New Revision: 330632 URL: https://svnweb.freebsd.org/changeset/base/330632 Log: MFC r326283: netconfig.h: sync with upstream. Bring some comments and the license. Add SPDX License ID tag while here. Modified: stable/11/include/netconfig.h Directory Properties: stable/11/ (props changed) Modified: stable/11/include/netconfig.h ============================================================================== --- stable/11/include/netconfig.h Thu Mar 8 06:17:07 2018 (r330631) +++ stable/11/include/netconfig.h Thu Mar 8 06:51:17 2018 (r330632) @@ -1,6 +1,36 @@ -/* $NetBSD: netconfig.h,v 1.1 2000/06/02 22:57:54 fvdl Exp $ */ +/* $NetBSD: netconfig.h,v 1.6 2008/04/28 20:22:54 martin Exp $ */ /* $FreeBSD$ */ +/*- + * SPDX-License-Identifier: BSD-2-Clause-NetBSD + * + * Copyright (c) 2004 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Frank van der Linden. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ #ifndef _NETCONFIG_H_ #define _NETCONFIG_H_ @@ -30,10 +60,10 @@ typedef struct { /* * nc_semantics values */ -#define NC_TPI_CLTS 1 -#define NC_TPI_COTS 2 -#define NC_TPI_COTS_ORD 3 -#define NC_TPI_RAW 4 +#define NC_TPI_CLTS 1 /* Connectionless transport */ +#define NC_TPI_COTS 2 /* Connection oriented transport */ +#define NC_TPI_COTS_ORD 3 /* Connection oriented, ordered transport */ +#define NC_TPI_RAW 4 /* Raw connection */ /* * nc_flag values From owner-svn-src-stable@freebsd.org Thu Mar 8 06:54:34 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A34AF39869; Thu, 8 Mar 2018 06:54:34 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D798E69AFF; Thu, 8 Mar 2018 06:54:33 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D26095722; Thu, 8 Mar 2018 06:54:33 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w286sXBQ044849; Thu, 8 Mar 2018 06:54:33 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w286sXTc044846; Thu, 8 Mar 2018 06:54:33 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080654.w286sXTc044846@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 06:54:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330633 - stable/11/usr.bin/indent X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.bin/indent X-SVN-Commit-Revision: 330633 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 06:54:34 -0000 Author: eadler Date: Thu Mar 8 06:54:33 2018 New Revision: 330633 URL: https://svnweb.freebsd.org/changeset/base/330633 Log: MFC r309220: indent(1): Properly handle the wide string literal and wide char constant L. indent(1) treated the "L" in "L'a'" as if it were an identifier and forced a space character after it, breaking valid code. PR: 143090 Modified: stable/11/usr.bin/indent/indent.c stable/11/usr.bin/indent/indent_codes.h stable/11/usr.bin/indent/lexi.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/indent/indent.c ============================================================================== --- stable/11/usr.bin/indent/indent.c Thu Mar 8 06:51:17 2018 (r330632) +++ stable/11/usr.bin/indent/indent.c Thu Mar 8 06:54:33 2018 (r330633) @@ -1017,6 +1017,16 @@ check_type: ps.want_blank = true; break; + case strpfx: + if (ps.want_blank) + *e_code++ = ' '; + for (t_ptr = token; *t_ptr; ++t_ptr) { + CHECK_SIZE_CODE; + *e_code++ = *t_ptr; + } + ps.want_blank = false; + break; + case period: /* treat a period kind of like a binary * operation */ *e_code++ = '.'; /* move the period into line */ Modified: stable/11/usr.bin/indent/indent_codes.h ============================================================================== --- stable/11/usr.bin/indent/indent_codes.h Thu Mar 8 06:51:17 2018 (r330632) +++ stable/11/usr.bin/indent/indent_codes.h Thu Mar 8 06:54:33 2018 (r330633) @@ -68,3 +68,4 @@ #define ifhead 30 #define elsehead 31 #define period 32 +#define strpfx 33 Modified: stable/11/usr.bin/indent/lexi.c ============================================================================== --- stable/11/usr.bin/indent/lexi.c Thu Mar 8 06:51:17 2018 (r330632) +++ stable/11/usr.bin/indent/lexi.c Thu Mar 8 06:54:33 2018 (r330633) @@ -228,6 +228,11 @@ lexi(void) fill_buffer(); } *e_token++ = '\0'; + + if (s_token[0] == 'L' && s_token[1] == '\0' && + (*buf_ptr == '"' || *buf_ptr == '\'')) + return (strpfx); + while (*buf_ptr == ' ' || *buf_ptr == '\t') { /* get rid of blanks */ if (++buf_ptr >= buf_end) fill_buffer(); From owner-svn-src-stable@freebsd.org Thu Mar 8 07:05:20 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98530F3A2BA; Thu, 8 Mar 2018 07:05:20 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4AB356A1E3; Thu, 8 Mar 2018 07:05:20 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 457DB58BA; Thu, 8 Mar 2018 07:05:20 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2875Ku2050179; Thu, 8 Mar 2018 07:05:20 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2875KcX050178; Thu, 8 Mar 2018 07:05:20 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080705.w2875KcX050178@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 07:05:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330634 - stable/11/usr.bin/indent/tests X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.bin/indent/tests X-SVN-Commit-Revision: 330634 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 07:05:20 -0000 Author: eadler Date: Thu Mar 8 07:05:19 2018 New Revision: 330634 URL: https://svnweb.freebsd.org/changeset/base/330634 Log: MFC r313544: indent(1): add regression test cases These examples show expected behavior of indent(1). They are meant to be used together with a regression test mechanism, either Kyua, a Makefile or perhaps something else. The mechanism should in essence do this: indent -P${test}.pro < ${test}.0 > ${test}.0.run and compare ${test}.0.stdout to ${test}.0.run. If the files differ or the exit status isn't 0, the test failed. * ${test}.pro is an indent(1) profile: a list of options passed through a file. The program doesn't complain if the file doesn't exist. * ${test}.0 is a C source file which acts as input for indent(1). It doesn't have to have any particular formatting, since it's the output that matters. * ${test}.0.stdout contains expected output. It doesn't have to be formatted in Kernel Normal Form as the point of the tests is to check for regressions in the program and not to check that it always produces KNF. Added: stable/11/usr.bin/indent/tests/ - copied from r313544, head/usr.bin/indent/tests/ Modified: Directory Properties: stable/11/ (props changed) From owner-svn-src-stable@freebsd.org Thu Mar 8 07:16:54 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E91CF3B389; Thu, 8 Mar 2018 07:16:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 23BF06AB9A; Thu, 8 Mar 2018 07:16:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1A7555A6D; Thu, 8 Mar 2018 07:16:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w287GrCM055014; Thu, 8 Mar 2018 07:16:53 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w287GrN6055013; Thu, 8 Mar 2018 07:16:53 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080716.w287GrN6055013@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 07:16:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330636 - stable/11/sbin/fsdb X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sbin/fsdb X-SVN-Commit-Revision: 330636 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 07:16:54 -0000 Author: eadler Date: Thu Mar 8 07:16:53 2018 New Revision: 330636 URL: https://svnweb.freebsd.org/changeset/base/330636 Log: MFC r303539: Use nitems() from sys/param.h. Modified: stable/11/sbin/fsdb/fsdb.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/fsdb/fsdb.c ============================================================================== --- stable/11/sbin/fsdb/fsdb.c Thu Mar 8 07:15:14 2018 (r330635) +++ stable/11/sbin/fsdb/fsdb.c Thu Mar 8 07:16:53 2018 (r330636) @@ -900,7 +900,7 @@ CMDFUNCSTART(newtype) return 1; type = DIP(curinode, di_mode) & IFMT; for (tp = typenamemap; - tp < &typenamemap[sizeof(typenamemap)/sizeof(*typenamemap)]; + tp < &typenamemap[nitems(typenamemap)]; tp++) { if (!strcmp(argv[1], tp->typename)) { printf("setting type to %s\n", tp->typename); @@ -908,7 +908,7 @@ CMDFUNCSTART(newtype) break; } } - if (tp == &typenamemap[sizeof(typenamemap)/sizeof(*typenamemap)]) { + if (tp == &typenamemap[nitems(typenamemap)]) { warnx("type `%s' not known", argv[1]); warnx("try one of `file', `dir', `socket', `fifo'"); return 1; From owner-svn-src-stable@freebsd.org Thu Mar 8 07:17:21 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 164D8F3B45C; Thu, 8 Mar 2018 07:17:21 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BDC9B6ACE6; Thu, 8 Mar 2018 07:17:20 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B8B0F5A6E; Thu, 8 Mar 2018 07:17:20 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w287HKh3055081; Thu, 8 Mar 2018 07:17:20 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w287HKkm055080; Thu, 8 Mar 2018 07:17:20 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080717.w287HKkm055080@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 07:17:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330637 - stable/11/usr.bin/at X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.bin/at X-SVN-Commit-Revision: 330637 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 07:17:21 -0000 Author: eadler Date: Thu Mar 8 07:17:20 2018 New Revision: 330637 URL: https://svnweb.freebsd.org/changeset/base/330637 Log: MFC r303540: Use nitems() from sys/param.h Sponsored by: gandi.net (BSD Day Taiwan) Modified: stable/11/usr.bin/at/at.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/at/at.c ============================================================================== --- stable/11/usr.bin/at/at.c Thu Mar 8 07:16:53 2018 (r330636) +++ stable/11/usr.bin/at/at.c Thu Mar 8 07:17:20 2018 (r330637) @@ -359,7 +359,7 @@ writefile(time_t runtimer, char queue) else { size_t i; - for (i=0; i Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3CD80F3DACB; Thu, 8 Mar 2018 07:50:12 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DEA616BEFE; Thu, 8 Mar 2018 07:50:11 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D7F185F25; Thu, 8 Mar 2018 07:50:11 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w287oBsN070321; Thu, 8 Mar 2018 07:50:11 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w287oB6s070319; Thu, 8 Mar 2018 07:50:11 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080750.w287oB6s070319@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 07:50:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330638 - in stable/11/bin/cat: . tests X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/bin/cat: . tests X-SVN-Commit-Revision: 330638 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 07:50:12 -0000 Author: eadler Date: Thu Mar 8 07:50:11 2018 New Revision: 330638 URL: https://svnweb.freebsd.org/changeset/base/330638 Log: MFC r323865: Ammend bin/cat/cat.c so the output is the same aside from blank lines being numbered or unnumbered, depending on whether cat was invoked with -ne or -be. At present, when cat is invoked with -be, there is an aditional difference that the '$' on blank lines is placed on the far left of the output. Discussed in bug 210607. While here, revert the workaround from r304035 which skipped the unit test for this issue previously. PR: 210607 Modified: stable/11/bin/cat/cat.c stable/11/bin/cat/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/bin/cat/cat.c ============================================================================== --- stable/11/bin/cat/cat.c Thu Mar 8 07:17:20 2018 (r330637) +++ stable/11/bin/cat/cat.c Thu Mar 8 07:50:11 2018 (r330638) @@ -226,10 +226,16 @@ cook_cat(FILE *fp) } else gobble = 0; } - if (nflag && (!bflag || ch != '\n')) { - (void)fprintf(stdout, "%6d\t", ++line); - if (ferror(stdout)) - break; + if (nflag) { + if (!bflag || ch != '\n') { + (void)fprintf(stdout, "%6d\t", ++line); + if (ferror(stdout)) + break; + } else if (eflag) { + (void)fprintf(stdout, "%6s\t", ""); + if (ferror(stdout)) + break; + } } } if (ch == '\n') { Modified: stable/11/bin/cat/tests/Makefile ============================================================================== --- stable/11/bin/cat/tests/Makefile Thu Mar 8 07:17:20 2018 (r330637) +++ stable/11/bin/cat/tests/Makefile Thu Mar 8 07:50:11 2018 (r330638) @@ -17,10 +17,4 @@ ${PACKAGE}FILES+= d_vt_output.out .include -d_align.out: ${TESTSRC}/d_align.out - sed -E -e 's,^[[:space:]]{7}\$$$$,\$$,' < ${.ALLSRC} > ${.TARGET}.tmp - mv ${.TARGET}.tmp ${.TARGET} - -CLEANFILES+= d_align.out d_align.out.tmp - .include From owner-svn-src-stable@freebsd.org Thu Mar 8 07:52:33 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F6B1F3DF09; Thu, 8 Mar 2018 07:52:33 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BA4516C3F3; Thu, 8 Mar 2018 07:52:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B540C60C3; Thu, 8 Mar 2018 07:52:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w287qWpi074923; Thu, 8 Mar 2018 07:52:32 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w287qWpZ074918; Thu, 8 Mar 2018 07:52:32 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080752.w287qWpZ074918@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 07:52:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330639 - in stable/11/bin: cat date kenv setfacl sh X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/bin: cat date kenv setfacl sh X-SVN-Commit-Revision: 330639 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 07:52:33 -0000 Author: eadler Date: Thu Mar 8 07:52:32 2018 New Revision: 330639 URL: https://svnweb.freebsd.org/changeset/base/330639 Log: MFC r326651: Fix mandoc -Tlint warnings in bin/ Many style-level issues are still reported. Modified: stable/11/bin/cat/cat.1 stable/11/bin/date/date.1 stable/11/bin/kenv/kenv.1 stable/11/bin/setfacl/setfacl.1 stable/11/bin/sh/sh.1 Directory Properties: stable/11/ (props changed) Modified: stable/11/bin/cat/cat.1 ============================================================================== --- stable/11/bin/cat/cat.1 Thu Mar 8 07:50:11 2018 (r330638) +++ stable/11/bin/cat/cat.1 Thu Mar 8 07:52:32 2018 (r330639) @@ -195,8 +195,8 @@ utility appeared in .At v1 . .An Dennis Ritchie designed and wrote the first man page. -It appears to have been -.Xr cat 1 . +It appears to have been for +.Nm . .Sh BUGS Because of the shell language mechanism used to perform output redirection, the command Modified: stable/11/bin/date/date.1 ============================================================================== --- stable/11/bin/date/date.1 Thu Mar 8 07:50:11 2018 (r330638) +++ stable/11/bin/date/date.1 Thu Mar 8 07:52:32 2018 (r330639) @@ -131,7 +131,8 @@ The option suppresses this behavior and causes the time to be set only on the current machine. .It Fl R -Use RFC 2822 date and time output format. This is equivalent to use +Use RFC 2822 date and time output format. +This is equivalent to using .Dq Li %a, %d %b %Y \&%T %z as .Ar output_fmt Modified: stable/11/bin/kenv/kenv.1 ============================================================================== --- stable/11/bin/kenv/kenv.1 Thu Mar 8 07:50:11 2018 (r330638) +++ stable/11/bin/kenv/kenv.1 Thu Mar 8 07:52:32 2018 (r330639) @@ -91,11 +91,17 @@ The file can contain lines of the form .Pp .Dl name = "value" # this is a comment .Pp -where whitespace around name and '=', and -everything after a '#' character, are ignored. Almost any printable -character except '=' is acceptable as part of a name. Quotes -are optional and necessary only if the value contains -whitespace. +where whitespace around +.Sq name +and +.Sq = , +and everything after a +.Sq # +character, are ignored. +Almost any printable character except +.Sq = +is acceptable as part of a name. +Quotes are optional and necessary only if the value contains whitespace. .Sh SEE ALSO .Xr kenv 2 , .Xr config 5 , Modified: stable/11/bin/setfacl/setfacl.1 ============================================================================== --- stable/11/bin/setfacl/setfacl.1 Thu Mar 8 07:50:11 2018 (r330638) +++ stable/11/bin/setfacl/setfacl.1 Thu Mar 8 07:52:32 2018 (r330639) @@ -114,7 +114,8 @@ is the input is taken from stdin. .It Fl n Do not recalculate the permissions associated with the ACL -mask entry. This option is not applicable to NFSv4 ACLs. +mask entry. +This option is not applicable to NFSv4 ACLs. .It Fl x Ar entries | position If .Ar entries @@ -291,7 +292,8 @@ specifying the access granted to the owner of the file .Dq Li group@ specifying the access granted to the file owning group; .Dq Li everyone@ -specifying everyone. Note that +specifying everyone. +Note that .Dq Li everyone@ is not the same as traditional Unix .Dq Li other @@ -301,8 +303,8 @@ literally, everyone, including file owner and owning g The ACL qualifier field describes the user or group associated with the ACL entry. It may consist of one of the following: uid or -user name, or gid or group name. In entries whose tag type is -one of +user name, or gid or group name. +In entries whose tag type is one of .Dq Li owner@ , .Dq Li group@ , or Modified: stable/11/bin/sh/sh.1 ============================================================================== --- stable/11/bin/sh/sh.1 Thu Mar 8 07:50:11 2018 (r330638) +++ stable/11/bin/sh/sh.1 Thu Mar 8 07:52:32 2018 (r330639) @@ -1033,7 +1033,7 @@ The syntax of the command is: .Bd -unfilled -offset indent -compact .Ic case Ar word Ic in -.Ar pattern Ns ) Ar list Li ;; +.Ar pattern ) Ar list Li ;; .Ar ... .Ic esac .Ed From owner-svn-src-stable@freebsd.org Thu Mar 8 07:55:04 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5B5C3F3E183; Thu, 8 Mar 2018 07:55:04 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0469F6C59F; Thu, 8 Mar 2018 07:55:04 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F140760C6; Thu, 8 Mar 2018 07:55:03 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w287t3i0075084; Thu, 8 Mar 2018 07:55:03 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w287t3g5075083; Thu, 8 Mar 2018 07:55:03 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080755.w287t3g5075083@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 07:55:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330640 - stable/11/bin/cat X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/bin/cat X-SVN-Commit-Revision: 330640 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 07:55:04 -0000 Author: eadler Date: Thu Mar 8 07:55:03 2018 New Revision: 330640 URL: https://svnweb.freebsd.org/changeset/base/330640 Log: MFC r327672: stddef.h is not used by cat.c, remove the include. Modified: stable/11/bin/cat/cat.c Directory Properties: stable/11/ (props changed) Modified: stable/11/bin/cat/cat.c ============================================================================== --- stable/11/bin/cat/cat.c Thu Mar 8 07:52:32 2018 (r330639) +++ stable/11/bin/cat/cat.c Thu Mar 8 07:55:03 2018 (r330640) @@ -59,7 +59,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include From owner-svn-src-stable@freebsd.org Thu Mar 8 07:57:28 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2879F3E43F; Thu, 8 Mar 2018 07:57:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D8E96C77B; Thu, 8 Mar 2018 07:57:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4868560DE; Thu, 8 Mar 2018 07:57:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w287vR0L075213; Thu, 8 Mar 2018 07:57:27 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w287vQlL075210; Thu, 8 Mar 2018 07:57:26 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080757.w287vQlL075210@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 07:57:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330641 - stable/11/sys/dev/vt X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/vt X-SVN-Commit-Revision: 330641 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 07:57:28 -0000 Author: eadler Date: Thu Mar 8 07:57:26 2018 New Revision: 330641 URL: https://svnweb.freebsd.org/changeset/base/330641 Log: MFC r326599: Implement "vidcontrol -h " for vt(4) PR: 210415 Modified: stable/11/sys/dev/vt/vt.h stable/11/sys/dev/vt/vt_buf.c stable/11/sys/dev/vt/vt_core.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/vt/vt.h ============================================================================== --- stable/11/sys/dev/vt/vt.h Thu Mar 8 07:55:03 2018 (r330640) +++ stable/11/sys/dev/vt/vt.h Thu Mar 8 07:57:26 2018 (r330641) @@ -194,8 +194,8 @@ struct vt_buf { #define VBF_SCROLL 0x8 /* scroll locked mode. */ #define VBF_HISTORY_FULL 0x10 /* All rows filled. */ unsigned int vb_history_size; - int vb_roffset; /* (b) History rows offset. */ - int vb_curroffset; /* (b) Saved rows offset. */ + unsigned int vb_roffset; /* (b) History rows offset. */ + unsigned int vb_curroffset; /* (b) Saved rows offset. */ term_pos_t vb_cursor; /* (u) Cursor position. */ term_pos_t vb_mark_start; /* (b) Copy region start. */ term_pos_t vb_mark_end; /* (b) Copy region end. */ @@ -221,7 +221,7 @@ void vtbuf_cursor_position(struct vt_buf *, const term void vtbuf_scroll_mode(struct vt_buf *vb, int yes); void vtbuf_dirty(struct vt_buf *vb, const term_rect_t *area); void vtbuf_undirty(struct vt_buf *, term_rect_t *); -void vtbuf_sethistory_size(struct vt_buf *, int); +void vtbuf_sethistory_size(struct vt_buf *, unsigned int); int vtbuf_iscursor(const struct vt_buf *vb, int row, int col); void vtbuf_cursor_visibility(struct vt_buf *, int); #ifndef SC_NO_CUTPASTE Modified: stable/11/sys/dev/vt/vt_buf.c ============================================================================== --- stable/11/sys/dev/vt/vt_buf.c Thu Mar 8 07:55:03 2018 (r330640) +++ stable/11/sys/dev/vt/vt_buf.c Thu Mar 8 07:57:26 2018 (r330641) @@ -132,11 +132,10 @@ vthistory_addlines(struct vt_buf *vb, int offset) #endif vb->vb_curroffset += offset; - if (vb->vb_curroffset < 0) - vb->vb_curroffset = 0; - if (vb->vb_curroffset + vb->vb_scr_size.tp_row >= vb->vb_history_size) + if (vb->vb_curroffset + vb->vb_scr_size.tp_row >= vb->vb_history_size) { vb->vb_flags |= VBF_HISTORY_FULL; - vb->vb_curroffset %= vb->vb_history_size; + vb->vb_curroffset %= vb->vb_history_size; + } if ((vb->vb_flags & VBF_SCROLL) == 0) { vb->vb_roffset = vb->vb_curroffset; } @@ -458,7 +457,7 @@ vtbuf_init(struct vt_buf *vb, const term_pos_t *p) } void -vtbuf_sethistory_size(struct vt_buf *vb, int size) +vtbuf_sethistory_size(struct vt_buf *vb, unsigned int size) { term_pos_t p; @@ -472,9 +471,9 @@ void vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, unsigned int history_size) { term_char_t *old, *new, **rows, **oldrows, **copyrows, *row, *oldrow; - int bufsize, rowssize, w, h, c, r, history_was_full; - unsigned int old_history_size; - term_rect_t rect; + unsigned int w, h, c, r, old_history_size; + size_t bufsize, rowssize; + int history_full; history_size = MAX(history_size, p->tp_row); @@ -493,7 +492,8 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, uns w = vb->vb_scr_size.tp_col; h = vb->vb_scr_size.tp_row; old_history_size = vb->vb_history_size; - history_was_full = vb->vb_flags & VBF_HISTORY_FULL; + history_full = vb->vb_flags & VBF_HISTORY_FULL || + vb->vb_curroffset + h >= history_size; vb->vb_history_size = history_size; vb->vb_buffer = new; @@ -502,20 +502,16 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, uns vb->vb_scr_size = *p; vtbuf_init_rows(vb); - /* Copy history and fill extra space if needed. */ + /* + * Copy rows to the new buffer. The first row in the history + * is back to index 0, ie. the new buffer doesn't cycle. + */ if (history_size > old_history_size) { - /* - * Copy rows to the new buffer. The first row in the history - * is back to index 0, ie. the new buffer doesn't cycle. - * - * The rest of the new buffer is initialized with blank - * content. - */ for (r = 0; r < old_history_size; r ++) { row = rows[r]; /* Compute the corresponding row in the old buffer. */ - if (history_was_full) + if (history_full) /* * The buffer is full, the "top" row is * the one just after the viewable area @@ -549,18 +545,29 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, uns } /* Fill remaining rows. */ - rect.tr_begin.tp_col = 0; - rect.tr_begin.tp_row = old_history_size; - rect.tr_end.tp_col = p->tp_col; - rect.tr_end.tp_row = p->tp_row; - vtbuf_fill(vb, &rect, VTBUF_SPACE_CHAR(TERMINAL_NORM_ATTR)); + for (r = old_history_size; r < history_size; r++) { + row = rows[r]; + for (c = MIN(p->tp_col, w); c < p->tp_col; c++) { + row[c] = VTBUF_SPACE_CHAR(TERMINAL_NORM_ATTR); + } + } vb->vb_flags &= ~VBF_HISTORY_FULL; - } else { + /* - * Copy rows to the new buffer. The first row in the history - * is back to index 0, ie. the new buffer doesn't cycle. + * If the screen is already filled (there are non-visible lines + * above the current viewable area), adjust curroffset to the + * new viewable area. * + * If the old buffer was full, set curroffset to the + * th most recent line of history in the new, non-cycled + * buffer. Otherwise, it didn't cycle, so the old curroffset + * is the same in the new buffer. + */ + if (history_full) + vb->vb_curroffset = old_history_size - h; + } else { + /* * (old_history_size - history_size) lines of history are * dropped. */ @@ -573,15 +580,13 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, uns * See the equivalent if{} block above for an * explanation. */ - if (history_was_full) + if (history_full) oldrow = copyrows[ (vb->vb_curroffset + h + r + (old_history_size - history_size)) % old_history_size]; else - oldrow = copyrows[ - (r + (old_history_size - history_size)) % - old_history_size]; + oldrow = copyrows[r]; memmove(row, oldrow, MIN(p->tp_col, w) * sizeof(term_char_t)); @@ -596,23 +601,13 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, uns } } - if (!history_was_full && - (vb->vb_curroffset + h) >= history_size) + if (history_full) { + vb->vb_curroffset = history_size - h; vb->vb_flags |= VBF_HISTORY_FULL; + } } - /* - * If the screen is already filled (there are non-visible lines - * above the current viewable area), adjust curroffset to the - * new viewable area. - */ - if (!history_was_full && vb->vb_curroffset > 0) { - vb->vb_curroffset = vb->vb_curroffset + h - p->tp_row; - if (vb->vb_curroffset < 0) - vb->vb_curroffset += vb->vb_history_size; - vb->vb_curroffset %= vb->vb_history_size; - vb->vb_roffset = vb->vb_curroffset; - } + vb->vb_roffset = vb->vb_curroffset; /* Adjust cursor position. */ if (vb->vb_cursor.tp_col > p->tp_col - 1) @@ -626,7 +621,6 @@ vtbuf_grow(struct vt_buf *vb, const term_pos_t *p, uns /* Move cursor to the last line on the screen. */ vb->vb_cursor.tp_row = p->tp_row - 1; - vtbuf_make_undirty(vb); VTBUF_UNLOCK(vb); /* Deallocate old buffer. */ Modified: stable/11/sys/dev/vt/vt_core.c ============================================================================== --- stable/11/sys/dev/vt/vt_core.c Thu Mar 8 07:55:03 2018 (r330640) +++ stable/11/sys/dev/vt/vt_core.c Thu Mar 8 07:57:26 2018 (r330641) @@ -2207,6 +2207,13 @@ skip_thunk: case CONS_BLANKTIME: /* XXX */ return (0); + case CONS_HISTORY: + if (*(int *)data < 0) + return EINVAL; + if (*(int *)data != vd->vd_curwindow->vw_buf.vb_history_size) + vtbuf_sethistory_size(&vd->vd_curwindow->vw_buf, + *(int *)data); + return 0; case CONS_GET: /* XXX */ *(int *)data = M_CG640x480; From owner-svn-src-stable@freebsd.org Thu Mar 8 08:02:52 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5FD95F3EEB5; Thu, 8 Mar 2018 08:02:52 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 00FC56CEA0; Thu, 8 Mar 2018 08:02:52 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F00C36269; Thu, 8 Mar 2018 08:02:51 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2882phB080012; Thu, 8 Mar 2018 08:02:51 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2882poC080010; Thu, 8 Mar 2018 08:02:51 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080802.w2882poC080010@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 08:02:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330642 - stable/11/sys/dev/vt X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/sys/dev/vt X-SVN-Commit-Revision: 330642 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 08:02:52 -0000 Author: eadler Date: Thu Mar 8 08:02:51 2018 New Revision: 330642 URL: https://svnweb.freebsd.org/changeset/base/330642 Log: MFC r316796: Attempt to clear logos more thoroughly. PR: 202288 Modified: stable/11/sys/dev/vt/vt_cpulogos.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/vt/vt_cpulogos.c ============================================================================== --- stable/11/sys/dev/vt/vt_cpulogos.c Thu Mar 8 07:57:26 2018 (r330641) +++ stable/11/sys/dev/vt/vt_cpulogos.c Thu Mar 8 08:02:51 2018 (r330642) @@ -153,6 +153,7 @@ vt_fini_logos(void *dummy __unused) struct winsize wsz; term_pos_t size; unsigned int i; + int row; if (!vt_draw_logo_cpus) return; @@ -170,7 +171,7 @@ vt_fini_logos(void *dummy __unused) vt_draw_logo_cpus = 0; VT_UNLOCK(vd); - for (i = 0; i < VT_MAXWINDOWS; i++) { + for (i = row = 0; i < VT_MAXWINDOWS; i++) { vw = vd->vd_windows[i]; if (vw == NULL) continue; @@ -193,11 +194,16 @@ vt_fini_logos(void *dummy __unused) vt_compute_drawable_area(vw); if (vd->vd_curwindow == vw) { + row = vw->vw_draw_area.tr_begin.tp_row; vd->vd_flags |= VDF_INVALID; vt_resume_flush_timer(vd, 0); } VT_UNLOCK(vd); } + + if (row > 0 && vd->vd_driver->vd_drawrect != NULL) + vd->vd_driver->vd_drawrect(vd, 0, 0, vd->vd_width, row - 1, + 1, TC_BLACK); } static void From owner-svn-src-stable@freebsd.org Thu Mar 8 08:04:33 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4D5E3F3F0EF; Thu, 8 Mar 2018 08:04:33 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E4E6B6D034; Thu, 8 Mar 2018 08:04:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DA0AB626E; Thu, 8 Mar 2018 08:04:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2884W14080120; Thu, 8 Mar 2018 08:04:32 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2884Wgc080119; Thu, 8 Mar 2018 08:04:32 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803080804.w2884Wgc080119@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Thu, 8 Mar 2018 08:04:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330643 - stable/11/usr.bin/banner X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.bin/banner X-SVN-Commit-Revision: 330643 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 08:04:33 -0000 Author: eadler Date: Thu Mar 8 08:04:32 2018 New Revision: 330643 URL: https://svnweb.freebsd.org/changeset/base/330643 Log: MFC r316797: banner(6): Squash a harmless coverity warning The destination buffer is sized as the sum of program argument lengths, so it has plenty of room for *argv. Appease Coverity by using strlcpy instead of strcpy. Similar to a nearby cleanup performed in r316500. No functional change. Modified: stable/11/usr.bin/banner/banner.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/banner/banner.c ============================================================================== --- stable/11/usr.bin/banner/banner.c Thu Mar 8 08:02:51 2018 (r330642) +++ stable/11/usr.bin/banner/banner.c Thu Mar 8 08:04:32 2018 (r330643) @@ -1062,7 +1062,7 @@ main(int argc, char *argv[]) j += strlen(argv[i]) + 1; if ((message = malloc((size_t)j)) == NULL) err(1, "malloc"); - strcpy(message, *argv); + strlcpy(message, *argv, j); while (*++argv) { strlcat(message, " ", j); strlcat(message, *argv, j); From owner-svn-src-stable@freebsd.org Thu Mar 8 11:51:08 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1BA88F27817 for ; Thu, 8 Mar 2018 11:51:08 +0000 (UTC) (envelope-from oliver.pinter@balabit.com) Received: from mail-io0-x242.google.com (mail-io0-x242.google.com [IPv6:2607:f8b0:4001:c06::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 801AB76292 for ; Thu, 8 Mar 2018 11:51:07 +0000 (UTC) (envelope-from oliver.pinter@balabit.com) Received: by mail-io0-x242.google.com with SMTP id b34so6771511ioj.6 for ; Thu, 08 Mar 2018 03:51:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=balabit-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=X+K0gebLFf7h9/1vaVJXB/XwwOUt2B7hoYl9zjgYwOQ=; b=sF37X4pBGw8/ioXBvldUdqgIG1qnDBoWuG128BLNsqAHsj9IwrMojkec7Ft+7R3S0c EzZEhmVvrvR3tdIdyTBGd1LdU8WIVIfYEKn8Pt2nVKjA8xFNlpbpOphUDwyTHlM5//K0 PDMmo3D9znrbyUyeyYhFNvDc/UxEO4U3yF8ta+eLH+hoItmq14a9U2yFFP6r8YZRbN9V 9skAUQZ/QmGK8n6fv4tWxEUX682pc3skCb7KwiP3uo90lGuaTokDCR20uQgRgJbuRmVV fwnNkcrPlq5NhdAIie3TfH/h6L6EJTOa2+KBlxAzmvRIjfeY6uHlkYG8DGEkK3yJvDwr kbPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=X+K0gebLFf7h9/1vaVJXB/XwwOUt2B7hoYl9zjgYwOQ=; b=O4qnLrepgmRNQjkKh0stFbEi6r7qs9dnPpOl9VRu+ZeIRVew5HjLd9D5QaVaTDW0Uu vUI1dcuuOx9gs/5Vpq5bMYecU2Rs79k5VAv3ZYSQgZEQpdQc6qY151ueffxncFuAA5V5 61fPIKEmjlIcI6Vy/CsdMdRNUUKvO3c8Ezj9pUWUGNdp9tLjZagmj8cxgAXsQ2cpYpeQ tRYATvokrXKUZbmebQv0tdzclwU7yBJhvI3Nvv1e6QuCigu2geJEveBCDqYt01ZDEaUY NVOO9eMr3qyRQzJa/kBMOEO7yIqNSVGV8ackfrLXarro6KIfyQvTkK8AbZrEv4vWxgsB ObsA== X-Gm-Message-State: AElRT7EeWX7rQXIp8gIe+i4A7RKDNbhlYi0tddHrXEISrWFVss/8A/b6 N3mvvFjpSFAnU2klDaiv3FdvqNhqRA+pLHOIRDgmqA== X-Google-Smtp-Source: AG47ELs/XX1VWE5bvw2GapoKZvZR6CQoH1Omgw1x9afhKw2hV6VUKnAUyO2TfnoFCrBwRNai7Nh8umjmAIrLFrW7+uo= X-Received: by 10.107.203.4 with SMTP id b4mr32155932iog.105.1520509866693; Thu, 08 Mar 2018 03:51:06 -0800 (PST) MIME-Version: 1.0 Received: by 10.192.225.141 with HTTP; Thu, 8 Mar 2018 03:51:06 -0800 (PST) In-Reply-To: <201803072318.w27NIrI6056501@pdx.rh.CN85.dnsmgr.net> References: <201803072318.w27NIrI6056501@pdx.rh.CN85.dnsmgr.net> From: =?UTF-8?B?UGludMOpciwgT2xpdsOpcg==?= Date: Thu, 8 Mar 2018 12:51:06 +0100 Message-ID: Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: rgrimes@freebsd.org Cc: Eitan Adler , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org, John Baldwin Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 11:51:08 -0000 On Thu, Mar 8, 2018 at 12:18 AM, Rodney W. Grimes < freebsd@pdx.rh.cn85.dnsmgr.net> wrote: > > On 7 March 2018 at 09:37, John Baldwin wrote: > > > On Tuesday, March 06, 2018 06:46:37 PM Eitan Adler wrote: > > >> On 6 March 2018 at 08:26, John Baldwin wrote: > > >> > On Monday, March 05, 2018 07:13:59 PM Eitan Adler wrote: > > >> >> On 5 March 2018 at 10:08, John Baldwin wrote: > > >> >> > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote: > > >> >> >> Author: eadler > > >> >> >> Date: Mon Mar 5 07:54:57 2018 > > >> >> >> New Revision: 330451 > > >> >> >> URL: https://svnweb.freebsd.org/changeset/base/330451 > > >> >> >> > > >> >> >> Log: > > >> >> >> MFC r306837: > > >> >> >> > > >> >> >> [net80211] extend the ieee80211_rx_stats struct to include > more information. > > >> >> > > > >> >> > Have you thought about the KBI implications of this change and > some of the > > >> >> > other changes you've merged? > > >> >> > > >> >> I do have a copy of the modules from 11.1 and have loaded them at > > >> >> various points in time after merging. That said, I am not perfect. > > >> >> Unfortunately, my -STABLE box did not have fully functioning > drivers > > >> >> before these changes so its difficult to test anything beyond > "loads > > >> >> and does not panic.". I havn't done so today yet, but that will > happen > > >> >> soon. > > >> >> > > >> >> Ensuring these things work through code inspection is certainly > > >> >> possible and I've skipped over several changes as a result. > > >> > > > >> > Loading a module doesn't alone doesn't actually test for breakage. > > >> > > >> I'm aware. In this case I should likely just revert this change since > > >> its a pretty blatant break. > > > > > > I suspect many of these changes for iwm, etc. are all intertwined so > I'm not > > > sure if you can leave out individual ones. > > > > Possibly. I do have iwm working on my laptop though. I also know of > > one open PR assigned to me w.r.t. a model I don't own. I'll be > > addressing it some time this week. > > I believe I also have a tester of stable/11 iwm patches avaliable, > he has an 8265? > At weekend I will test them. > > -- > Rod Grimes > rgrimes@freebsd.org > _______________________________________________ > svn-src-stable-11@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-stable-11 > To unsubscribe, send any mail to "svn-src-stable-11- > unsubscribe@freebsd.org" > From owner-svn-src-stable@freebsd.org Thu Mar 8 16:26:49 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CA9D1F411B9; Thu, 8 Mar 2018 16:26:49 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7D04183ACC; Thu, 8 Mar 2018 16:26:49 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 76C7313244; Thu, 8 Mar 2018 16:26:49 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w28GQn6u032262; Thu, 8 Mar 2018 16:26:49 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w28GQnFw032261; Thu, 8 Mar 2018 16:26:49 GMT (envelope-from dab@FreeBSD.org) Message-Id: <201803081626.w28GQnFw032261@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Thu, 8 Mar 2018 16:26:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330661 - stable/11/usr.sbin/syslogd X-SVN-Group: stable-11 X-SVN-Commit-Author: dab X-SVN-Commit-Paths: stable/11/usr.sbin/syslogd X-SVN-Commit-Revision: 330661 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 16:26:50 -0000 Author: dab Date: Thu Mar 8 16:26:49 2018 New Revision: 330661 URL: https://svnweb.freebsd.org/changeset/base/330661 Log: MFC r330034 Fix a memory leak in syslogd A memory leak in syslogd for processing of forward actions was reported. This modification adapts the patch submitted with that bug to fix the leak. PR: 198385 Submitted by: Sreeram Reported by: Sreeram Sponsored by: Dell EMC Modified: stable/11/usr.sbin/syslogd/syslogd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/syslogd/syslogd.c ============================================================================== --- stable/11/usr.sbin/syslogd/syslogd.c Thu Mar 8 16:19:01 2018 (r330660) +++ stable/11/usr.sbin/syslogd/syslogd.c Thu Mar 8 16:26:49 2018 (r330661) @@ -170,7 +170,7 @@ STAILQ_HEAD(, funix) funixes = { &funix_default, * This structure represents the files that will have log * copies printed. * We require f_file to be valid if f_type is F_FILE, F_CONSOLE, F_TTY - * or if f_type if F_PIPE and f_pid > 0. + * or if f_type is F_PIPE and f_pid > 0. */ struct filed { @@ -363,10 +363,16 @@ close_filed(struct filed *f) return; switch (f->f_type) { + case F_FORW: + if (f->f_un.f_forw.f_addr) { + freeaddrinfo(f->f_un.f_forw.f_addr); + f->f_un.f_forw.f_addr = NULL; + } + /*FALLTHROUGH*/ + case F_FILE: case F_TTY: case F_CONSOLE: - case F_FORW: f->f_type = F_UNUSED; break; case F_PIPE: From owner-svn-src-stable@freebsd.org Thu Mar 8 17:14:16 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AFB71F44F2A; Thu, 8 Mar 2018 17:14:16 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 607D586624; Thu, 8 Mar 2018 17:14:16 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5B4DA13C03; Thu, 8 Mar 2018 17:14:16 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w28HEG0c057136; Thu, 8 Mar 2018 17:14:16 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w28HEGXS057135; Thu, 8 Mar 2018 17:14:16 GMT (envelope-from dab@FreeBSD.org) Message-Id: <201803081714.w28HEGXS057135@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Thu, 8 Mar 2018 17:14:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330664 - stable/10/usr.sbin/syslogd X-SVN-Group: stable-10 X-SVN-Commit-Author: dab X-SVN-Commit-Paths: stable/10/usr.sbin/syslogd X-SVN-Commit-Revision: 330664 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 17:14:16 -0000 Author: dab Date: Thu Mar 8 17:14:16 2018 New Revision: 330664 URL: https://svnweb.freebsd.org/changeset/base/330664 Log: MFC r330034 Fix a memory leak in syslogd A memory leak in syslogd for processing of forward actions was reported. This modification adapts the patch submitted with that bug to fix the leak. PR: 198385 Submitted by: Sreeram Reported by: Sreeram Sponsored by: Dell EMC Modified: stable/10/usr.sbin/syslogd/syslogd.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/syslogd/syslogd.c ============================================================================== --- stable/10/usr.sbin/syslogd/syslogd.c Thu Mar 8 17:04:36 2018 (r330663) +++ stable/10/usr.sbin/syslogd/syslogd.c Thu Mar 8 17:14:16 2018 (r330664) @@ -161,7 +161,7 @@ STAILQ_HEAD(, funix) funixes = { &funix_default, * This structure represents the files that will have log * copies printed. * We require f_file to be valid if f_type is F_FILE, F_CONSOLE, F_TTY - * or if f_type if F_PIPE and f_pid > 0. + * or if f_type is F_PIPE and f_pid > 0. */ struct filed { @@ -353,10 +353,16 @@ close_filed(struct filed *f) return; switch (f->f_type) { + case F_FORW: + if (f->f_un.f_forw.f_addr) { + freeaddrinfo(f->f_un.f_forw.f_addr); + f->f_un.f_forw.f_addr = NULL; + } + /*FALLTHROUGH*/ + case F_FILE: case F_TTY: case F_CONSOLE: - case F_FORW: f->f_type = F_UNUSED; break; case F_PIPE: From owner-svn-src-stable@freebsd.org Thu Mar 8 21:33:53 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF08CF3275F; Thu, 8 Mar 2018 21:33:53 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5FD1071A45; Thu, 8 Mar 2018 21:33:53 +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 58C1C16615; Thu, 8 Mar 2018 21:33:53 +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 w28LXrVM003554; Thu, 8 Mar 2018 21:33:53 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w28LXrqu003551; Thu, 8 Mar 2018 21:33:53 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201803082133.w28LXrqu003551@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 8 Mar 2018 21:33:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330669 - stable/11/sys/dev/nvme X-SVN-Group: stable-11 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/11/sys/dev/nvme X-SVN-Commit-Revision: 330669 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2018 21:33:54 -0000 Author: mav Date: Thu Mar 8 21:33:52 2018 New Revision: 330669 URL: https://svnweb.freebsd.org/changeset/base/330669 Log: MFC r328521 (by imp): Use atomic load and stores to ensure that the compiler doesn't optimize away these loops. Change boolean to int to match what atomic API supplies. Remove wmb() since the atomic_store_rel() on status.done ensure the prior writes to status. It also fixes the fact that there wasn't a rmb() before reading done. This should also be more efficient since wmb() is fairly heavy weight. Modified: stable/11/sys/dev/nvme/nvme.c stable/11/sys/dev/nvme/nvme_ctrlr.c stable/11/sys/dev/nvme/nvme_private.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/nvme/nvme.c ============================================================================== --- stable/11/sys/dev/nvme/nvme.c Thu Mar 8 19:24:10 2018 (r330668) +++ stable/11/sys/dev/nvme/nvme.c Thu Mar 8 21:33:52 2018 (r330669) @@ -467,6 +467,5 @@ nvme_completion_poll_cb(void *arg, const struct nvme_c * the request passed or failed. */ memcpy(&status->cpl, cpl, sizeof(*cpl)); - wmb(); - status->done = TRUE; + atomic_store_rel_int(&status->done, 1); } Modified: stable/11/sys/dev/nvme/nvme_ctrlr.c ============================================================================== --- stable/11/sys/dev/nvme/nvme_ctrlr.c Thu Mar 8 19:24:10 2018 (r330668) +++ stable/11/sys/dev/nvme/nvme_ctrlr.c Thu Mar 8 21:33:52 2018 (r330669) @@ -402,10 +402,10 @@ nvme_ctrlr_identify(struct nvme_controller *ctrlr) { struct nvme_completion_poll_status status; - status.done = FALSE; + status.done = 0; nvme_ctrlr_cmd_identify_controller(ctrlr, &ctrlr->cdata, nvme_completion_poll_cb, &status); - while (status.done == FALSE) + while (!atomic_load_acq_int(&status.done)) pause("nvme", 1); if (nvme_completion_is_error(&status.cpl)) { nvme_printf(ctrlr, "nvme_identify_controller failed!\n"); @@ -429,10 +429,10 @@ nvme_ctrlr_set_num_qpairs(struct nvme_controller *ctrl struct nvme_completion_poll_status status; int cq_allocated, sq_allocated; - status.done = FALSE; + status.done = 0; nvme_ctrlr_cmd_set_num_queues(ctrlr, ctrlr->num_io_queues, nvme_completion_poll_cb, &status); - while (status.done == FALSE) + while (!atomic_load_acq_int(&status.done)) pause("nvme", 1); if (nvme_completion_is_error(&status.cpl)) { nvme_printf(ctrlr, "nvme_ctrlr_set_num_qpairs failed!\n"); @@ -468,20 +468,20 @@ nvme_ctrlr_create_qpairs(struct nvme_controller *ctrlr for (i = 0; i < ctrlr->num_io_queues; i++) { qpair = &ctrlr->ioq[i]; - status.done = FALSE; + status.done = 0; nvme_ctrlr_cmd_create_io_cq(ctrlr, qpair, qpair->vector, nvme_completion_poll_cb, &status); - while (status.done == FALSE) + while (!atomic_load_acq_int(&status.done)) pause("nvme", 1); if (nvme_completion_is_error(&status.cpl)) { nvme_printf(ctrlr, "nvme_create_io_cq failed!\n"); return (ENXIO); } - status.done = FALSE; + status.done = 0; nvme_ctrlr_cmd_create_io_sq(qpair->ctrlr, qpair, nvme_completion_poll_cb, &status); - while (status.done == FALSE) + while (!atomic_load_acq_int(&status.done)) pause("nvme", 1); if (nvme_completion_is_error(&status.cpl)) { nvme_printf(ctrlr, "nvme_create_io_sq failed!\n"); @@ -691,10 +691,10 @@ nvme_ctrlr_configure_aer(struct nvme_controller *ctrlr ctrlr->async_event_config.raw = 0xFF; ctrlr->async_event_config.bits.reserved = 0; - status.done = FALSE; + status.done = 0; nvme_ctrlr_cmd_get_feature(ctrlr, NVME_FEAT_TEMPERATURE_THRESHOLD, 0, NULL, 0, nvme_completion_poll_cb, &status); - while (status.done == FALSE) + while (!atomic_load_acq_int(&status.done)) pause("nvme", 1); if (nvme_completion_is_error(&status.cpl) || (status.cpl.cdw0 & 0xFFFF) == 0xFFFF || Modified: stable/11/sys/dev/nvme/nvme_private.h ============================================================================== --- stable/11/sys/dev/nvme/nvme_private.h Thu Mar 8 19:24:10 2018 (r330668) +++ stable/11/sys/dev/nvme/nvme_private.h Thu Mar 8 21:33:52 2018 (r330669) @@ -126,7 +126,7 @@ extern int32_t nvme_retry_count; struct nvme_completion_poll_status { struct nvme_completion cpl; - boolean_t done; + int done; }; #define NVME_REQUEST_VADDR 1 From owner-svn-src-stable@freebsd.org Fri Mar 9 01:17:04 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4012F43CD1; Fri, 9 Mar 2018 01:17:04 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6193B7B174; Fri, 9 Mar 2018 01:17:04 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5AC00188B6; Fri, 9 Mar 2018 01:17:04 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w291H4xj012822; Fri, 9 Mar 2018 01:17:04 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w291H4o1012821; Fri, 9 Mar 2018 01:17:04 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201803090117.w291H4o1012821@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Fri, 9 Mar 2018 01:17:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330677 - stable/11/sys/kern X-SVN-Group: stable-11 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/11/sys/kern X-SVN-Commit-Revision: 330677 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 01:17:04 -0000 Author: brooks Date: Fri Mar 9 01:17:03 2018 New Revision: 330677 URL: https://svnweb.freebsd.org/changeset/base/330677 Log: MFC r330527: Use umtx_copyin_umtx_time32() in __umtx_op_lock_umutex_compat32(). Non-NULL timeouts where copied in improperly and could produce failures due to incompatible data structures. Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14587 Modified: stable/11/sys/kern/kern_umtx.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/kern_umtx.c ============================================================================== --- stable/11/sys/kern/kern_umtx.c Fri Mar 9 00:50:40 2018 (r330676) +++ stable/11/sys/kern/kern_umtx.c Fri Mar 9 01:17:03 2018 (r330677) @@ -4114,7 +4114,7 @@ __umtx_op_lock_umutex_compat32(struct thread *td, stru if (uap->uaddr2 == NULL) tm_p = NULL; else { - error = umtx_copyin_umtx_time(uap->uaddr2, + error = umtx_copyin_umtx_time32(uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); From owner-svn-src-stable@freebsd.org Fri Mar 9 01:21:23 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CC28F4425A; Fri, 9 Mar 2018 01:21:23 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 434497B5DC; Fri, 9 Mar 2018 01:21:23 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3E38B188F9; Fri, 9 Mar 2018 01:21:23 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w291LNPo016021; Fri, 9 Mar 2018 01:21:23 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w291LNPo016020; Fri, 9 Mar 2018 01:21:23 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201803090121.w291LNPo016020@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Fri, 9 Mar 2018 01:21:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330678 - stable/10/sys/kern X-SVN-Group: stable-10 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/10/sys/kern X-SVN-Commit-Revision: 330678 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 01:21:23 -0000 Author: brooks Date: Fri Mar 9 01:21:22 2018 New Revision: 330678 URL: https://svnweb.freebsd.org/changeset/base/330678 Log: MFC r330527: Use umtx_copyin_umtx_time32() in __umtx_op_lock_umutex_compat32(). Non-NULL timeouts where copied in improperly and could produce failures due to incompatible data structures. Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14587 Modified: stable/10/sys/kern/kern_umtx.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/kern/kern_umtx.c ============================================================================== --- stable/10/sys/kern/kern_umtx.c Fri Mar 9 01:17:03 2018 (r330677) +++ stable/10/sys/kern/kern_umtx.c Fri Mar 9 01:21:22 2018 (r330678) @@ -3865,7 +3865,7 @@ __umtx_op_lock_umutex_compat32(struct thread *td, stru if (uap->uaddr2 == NULL) tm_p = NULL; else { - error = umtx_copyin_umtx_time(uap->uaddr2, + error = umtx_copyin_umtx_time32(uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); From owner-svn-src-stable@freebsd.org Fri Mar 9 02:55:23 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A5145F4A1BB; Fri, 9 Mar 2018 02:55:23 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 519827E638; Fri, 9 Mar 2018 02:55:23 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4B4DD1982E; Fri, 9 Mar 2018 02:55:23 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w292tNqm062054; Fri, 9 Mar 2018 02:55:23 GMT (envelope-from rpokala@FreeBSD.org) Received: (from rpokala@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w292tMrU062046; Fri, 9 Mar 2018 02:55:22 GMT (envelope-from rpokala@FreeBSD.org) Message-Id: <201803090255.w292tMrU062046@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rpokala set sender to rpokala@FreeBSD.org using -f From: Ravi Pokala Date: Fri, 9 Mar 2018 02:55:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330679 - in stable/11: share/man/man4 sys/amd64/conf sys/conf sys/dev/imcsmb sys/i386/conf sys/modules/i2c/controllers sys/modules/i2c/controllers/imcsmb X-SVN-Group: stable-11 X-SVN-Commit-Author: rpokala X-SVN-Commit-Paths: in stable/11: share/man/man4 sys/amd64/conf sys/conf sys/dev/imcsmb sys/i386/conf sys/modules/i2c/controllers sys/modules/i2c/controllers/imcsmb X-SVN-Commit-Revision: 330679 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 02:55:23 -0000 Author: rpokala Date: Fri Mar 9 02:55:22 2018 New Revision: 330679 URL: https://svnweb.freebsd.org/changeset/base/330679 Log: MFC r330304: imcsmb(4): Intel integrated Memory Controller (iMC) SMBus controller driver imcsmb(4) provides smbus(4) support for the SMBus controller functionality in the integrated Memory Controllers (iMCs) embedded in Intel Sandybridge- Xeon, Ivybridge-Xeon, Haswell-Xeon, and Broadwell-Xeon CPUs. Each CPU implements one or more iMCs, depending on the number of cores; each iMC implements two SMBus controllers (iMC-SMBs). *** IMPORTANT NOTE *** Because motherboard firmware or the BMC might try to use the iMC-SMBs for monitoring DIMM temperatures and/or managing an NVDIMM, the driver might need to temporarily disable those functions, or take a hardware interlock, before using the iMC-SMBs. Details on how to do this may vary from board to board, and the procedure may be proprietary. It is strongly suggested that anyone wishing to use this driver contact their motherboard vendor, and modify the driver as described in the manual page and in the driver itself. (For what it's worth, the driver as-is has been tested on various SuperMicro motherboards.) Added: stable/11/share/man/man4/imcsmb.4 - copied unchanged from r330304, head/share/man/man4/imcsmb.4 stable/11/sys/dev/imcsmb/ - copied from r330304, head/sys/dev/imcsmb/ stable/11/sys/modules/i2c/controllers/imcsmb/ - copied from r330304, head/sys/modules/i2c/controllers/imcsmb/ Modified: stable/11/share/man/man4/Makefile stable/11/sys/amd64/conf/NOTES stable/11/sys/conf/files.amd64 stable/11/sys/conf/files.i386 stable/11/sys/i386/conf/NOTES stable/11/sys/modules/i2c/controllers/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/Makefile ============================================================================== --- stable/11/share/man/man4/Makefile Fri Mar 9 01:21:22 2018 (r330678) +++ stable/11/share/man/man4/Makefile Fri Mar 9 02:55:22 2018 (r330679) @@ -215,6 +215,7 @@ MAN= aac.4 \ iicbus.4 \ iicsmb.4 \ iir.4 \ + ${_imcsmb.4} \ inet.4 \ inet6.4 \ intpm.4 \ @@ -823,6 +824,7 @@ _if_vmx.4= if_vmx.4 _if_vtnet.4= if_vtnet.4 _if_vxge.4= if_vxge.4 _if_wpi.4= if_wpi.4 +_imcsmb.4= imcsmb.4 _ipmi.4= ipmi.4 _io.4= io.4 _linux.4= linux.4 Copied: stable/11/share/man/man4/imcsmb.4 (from r330304, head/share/man/man4/imcsmb.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/share/man/man4/imcsmb.4 Fri Mar 9 02:55:22 2018 (r330679, copy of r330304, head/share/man/man4/imcsmb.4) @@ -0,0 +1,133 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD +.\" +.\" Copyright (c) 2018 Panasas +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd March 2, 2018 +.Dt IMCSMB 4 +.Os +.Sh NAME +.Nm imcsmb +.Nd Intel integrated Memory Controller (iMC) SMBus controller driver +.Sh SYNOPSIS +.Cd device pci +.Cd device smbus +.Cd device imcsmb +.Pp +Alternatively, to load the driver as a module at boot time, place the following +line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +imcsmb_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides +.Xr smbus 4 +support for the SMBus controller functionality in the integrated Memory +Controllers (iMCs) embedded in Intel Sandybridge-Xeon, Ivybridge-Xeon, +Haswell-Xeon, and Broadwell-Xeon CPUs. +Each CPU implements one or more iMCs, depending on the number of cores; +each iMC implements two SMBus controllers (iMC-SMBs). +The iMC-SMBs are used by the iMCs to read configuration information from the +DIMMs during POST. +They may also be used, by motherboard firmware or a BMC, to monitor the +temperature of the DIMMs. +.Pp +The iMC-SMBs are +.Sy not +general-purpose SMBus controllers. +By their nature, they are only ever attached to DIMMs, so they implement only +the SMBus operations need for communicating with DIMMs. +Specifically: +.Pp +.Bl -dash -offset indent -compact +.It +READB +.It +READW +.It +WRITEB +.It +WRITEW +.El +.Pp +A more detailed discussion of the hardware and driver architecture can be found +at the top of +.Pa sys/dev/imcsmb/imcsmb_pci.c . +.Sh WARNINGS +As mentioned above, firmware might use the iMC-SMBs to read DIMM temperatures. +The public iMC documentation does not describe any sort of coordination +mechanism to prevent requests from different sources -- such as the motherboard +firmware, a BMC, or the operating system -- from interfering with each other. +.Pp +.Bf Sy +Therefore, it is highly recommended that developers contact the motherboard +vendor for any board-specific instructions on how to disable and re-enable DIMM +temperature monitoring. +.Ef +.Pp +DIMM temperature monitoring should be disabled before returning from +.Fn imcsmb_pci_request_bus , +and re-enabled before returning from +.Fn imcsmb_pci_release_bus . +The driver includes comments to that effect at the appropriate locations. +The driver has been tested and shown to work, with only that type of +modification, on certain motherboards from Intel. +.Po +Unfortunately, those modifications were based on material covered under a +non-disclosure agreement, and therefore are not included in this driver. +.Pc +The driver has also been tested and shown to work as-is on various motherboards +from SuperMicro. +.Pp +The +.Xr smb 4 +driver will connect to the +.Xr smbus 4 +instances created by +.Nm . +However, since the IMC-SMBs are not general-purpose SMBus controllers, using +.Xr smbmsg 8 +with those +.Xr smb 4 +devices is not supported. +.Sh SEE ALSO +.Xr jedec_dimm 4 , +.Xr smbus 4 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 12.0 . +.Sh AUTHORS +The +.Nm +driver was originally written for Panasas by +.An Joe Kloss . +It was substantially refactored, and this manual page was written, by +.An Ravi Pokala Aq Mt rpokala@freebsd.org Modified: stable/11/sys/amd64/conf/NOTES ============================================================================== --- stable/11/sys/amd64/conf/NOTES Fri Mar 9 01:21:22 2018 (r330678) +++ stable/11/sys/amd64/conf/NOTES Fri Mar 9 02:55:22 2018 (r330679) @@ -477,6 +477,11 @@ device hptiop device ips # +# Intel integrated Memory Controller (iMC) SMBus controller +# Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon +device imcsmb + +# # Intel C600 (Patsburg) integrated SAS controller device isci options ISCI_LOGGING # enable debugging in isci HAL Modified: stable/11/sys/conf/files.amd64 ============================================================================== --- stable/11/sys/conf/files.amd64 Fri Mar 9 01:21:22 2018 (r330678) +++ stable/11/sys/conf/files.amd64 Fri Mar 9 02:55:22 2018 (r330679) @@ -228,6 +228,8 @@ dev/if_ndis/if_ndis.c optional ndis dev/if_ndis/if_ndis_pccard.c optional ndis pccard dev/if_ndis/if_ndis_pci.c optional ndis cardbus | ndis pci dev/if_ndis/if_ndis_usb.c optional ndis usb +dev/imcsmb/imcsmb.c optional imcsmb +dev/imcsmb/imcsmb_pci.c optional imcsmb pci dev/intel/spi.c optional intelspi dev/io/iodev.c optional io dev/ioat/ioat.c optional ioat pci Modified: stable/11/sys/conf/files.i386 ============================================================================== --- stable/11/sys/conf/files.i386 Fri Mar 9 01:21:22 2018 (r330678) +++ stable/11/sys/conf/files.i386 Fri Mar 9 02:55:22 2018 (r330679) @@ -277,6 +277,8 @@ dev/if_ndis/if_ndis.c optional ndis dev/if_ndis/if_ndis_pccard.c optional ndis pccard dev/if_ndis/if_ndis_pci.c optional ndis cardbus | ndis pci dev/if_ndis/if_ndis_usb.c optional ndis usb +dev/imcsmb/imcsmb.c optional imcsmb +dev/imcsmb/imcsmb_pci.c optional imcsmb pci dev/intel/spi.c optional intelspi dev/io/iodev.c optional io dev/ipmi/ipmi.c optional ipmi Modified: stable/11/sys/i386/conf/NOTES ============================================================================== --- stable/11/sys/i386/conf/NOTES Fri Mar 9 01:21:22 2018 (r330678) +++ stable/11/sys/i386/conf/NOTES Fri Mar 9 02:55:22 2018 (r330679) @@ -769,6 +769,11 @@ device hptrr device hptiop # +# Intel integrated Memory Controller (iMC) SMBus controller +# Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon +device imcsmb + +# # IBM (now Adaptec) ServeRAID controllers device ips Modified: stable/11/sys/modules/i2c/controllers/Makefile ============================================================================== --- stable/11/sys/modules/i2c/controllers/Makefile Fri Mar 9 01:21:22 2018 (r330678) +++ stable/11/sys/modules/i2c/controllers/Makefile Fri Mar 9 02:55:22 2018 (r330679) @@ -6,4 +6,8 @@ SUBDIR = lpbb SUBDIR = alpm amdpm amdsmb ichiic ichsmb intpm ismt nfsmb viapm lpbb pcf .endif +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" +SUBDIR += imcsmb +.endif + .include From owner-svn-src-stable@freebsd.org Fri Mar 9 02:55:31 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2BA37F4A200; Fri, 9 Mar 2018 02:55:31 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 71BCE7E6F0; Fri, 9 Mar 2018 02:55:30 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0293B1982F; Fri, 9 Mar 2018 02:55:28 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w292tSAs062104; Fri, 9 Mar 2018 02:55:28 GMT (envelope-from rpokala@FreeBSD.org) Received: (from rpokala@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w292tS4K062097; Fri, 9 Mar 2018 02:55:28 GMT (envelope-from rpokala@FreeBSD.org) Message-Id: <201803090255.w292tS4K062097@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rpokala set sender to rpokala@FreeBSD.org using -f From: Ravi Pokala Date: Fri, 9 Mar 2018 02:55:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330680 - in stable/10: share/man/man4 sys/amd64/conf sys/conf sys/dev/imcsmb sys/i386/conf sys/modules/i2c/controllers sys/modules/i2c/controllers/imcsmb X-SVN-Group: stable-10 X-SVN-Commit-Author: rpokala X-SVN-Commit-Paths: in stable/10: share/man/man4 sys/amd64/conf sys/conf sys/dev/imcsmb sys/i386/conf sys/modules/i2c/controllers sys/modules/i2c/controllers/imcsmb X-SVN-Commit-Revision: 330680 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 02:55:31 -0000 Author: rpokala Date: Fri Mar 9 02:55:27 2018 New Revision: 330680 URL: https://svnweb.freebsd.org/changeset/base/330680 Log: MFC r330304: imcsmb(4): Intel integrated Memory Controller (iMC) SMBus controller driver imcsmb(4) provides smbus(4) support for the SMBus controller functionality in the integrated Memory Controllers (iMCs) embedded in Intel Sandybridge- Xeon, Ivybridge-Xeon, Haswell-Xeon, and Broadwell-Xeon CPUs. Each CPU implements one or more iMCs, depending on the number of cores; each iMC implements two SMBus controllers (iMC-SMBs). *** IMPORTANT NOTE *** Because motherboard firmware or the BMC might try to use the iMC-SMBs for monitoring DIMM temperatures and/or managing an NVDIMM, the driver might need to temporarily disable those functions, or take a hardware interlock, before using the iMC-SMBs. Details on how to do this may vary from board to board, and the procedure may be proprietary. It is strongly suggested that anyone wishing to use this driver contact their motherboard vendor, and modify the driver as described in the manual page and in the driver itself. (For what it's worth, the driver as-is has been tested on various SuperMicro motherboards.) Added: stable/10/share/man/man4/imcsmb.4 - copied unchanged from r330304, head/share/man/man4/imcsmb.4 stable/10/sys/dev/imcsmb/ - copied from r330304, head/sys/dev/imcsmb/ stable/10/sys/modules/i2c/controllers/imcsmb/ - copied from r330304, head/sys/modules/i2c/controllers/imcsmb/ Modified: stable/10/share/man/man4/Makefile stable/10/sys/amd64/conf/NOTES stable/10/sys/conf/files.amd64 stable/10/sys/conf/files.i386 stable/10/sys/i386/conf/NOTES stable/10/sys/modules/i2c/controllers/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/Makefile ============================================================================== --- stable/10/share/man/man4/Makefile Fri Mar 9 02:55:22 2018 (r330679) +++ stable/10/share/man/man4/Makefile Fri Mar 9 02:55:27 2018 (r330680) @@ -195,6 +195,7 @@ MAN= aac.4 \ iicbus.4 \ iicsmb.4 \ iir.4 \ + ${_imcsmb.4} \ inet.4 \ inet6.4 \ intpm.4 \ @@ -786,6 +787,7 @@ _if_vmx.4= if_vmx.4 _if_vtnet.4= if_vtnet.4 _if_vxge.4= if_vxge.4 _if_wpi.4= if_wpi.4 +_imcsmb.4= imcsmb.4 _ipmi.4= ipmi.4 _io.4= io.4 _lindev.4= lindev.4 Copied: stable/10/share/man/man4/imcsmb.4 (from r330304, head/share/man/man4/imcsmb.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/10/share/man/man4/imcsmb.4 Fri Mar 9 02:55:27 2018 (r330680, copy of r330304, head/share/man/man4/imcsmb.4) @@ -0,0 +1,133 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD +.\" +.\" Copyright (c) 2018 Panasas +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd March 2, 2018 +.Dt IMCSMB 4 +.Os +.Sh NAME +.Nm imcsmb +.Nd Intel integrated Memory Controller (iMC) SMBus controller driver +.Sh SYNOPSIS +.Cd device pci +.Cd device smbus +.Cd device imcsmb +.Pp +Alternatively, to load the driver as a module at boot time, place the following +line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +imcsmb_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides +.Xr smbus 4 +support for the SMBus controller functionality in the integrated Memory +Controllers (iMCs) embedded in Intel Sandybridge-Xeon, Ivybridge-Xeon, +Haswell-Xeon, and Broadwell-Xeon CPUs. +Each CPU implements one or more iMCs, depending on the number of cores; +each iMC implements two SMBus controllers (iMC-SMBs). +The iMC-SMBs are used by the iMCs to read configuration information from the +DIMMs during POST. +They may also be used, by motherboard firmware or a BMC, to monitor the +temperature of the DIMMs. +.Pp +The iMC-SMBs are +.Sy not +general-purpose SMBus controllers. +By their nature, they are only ever attached to DIMMs, so they implement only +the SMBus operations need for communicating with DIMMs. +Specifically: +.Pp +.Bl -dash -offset indent -compact +.It +READB +.It +READW +.It +WRITEB +.It +WRITEW +.El +.Pp +A more detailed discussion of the hardware and driver architecture can be found +at the top of +.Pa sys/dev/imcsmb/imcsmb_pci.c . +.Sh WARNINGS +As mentioned above, firmware might use the iMC-SMBs to read DIMM temperatures. +The public iMC documentation does not describe any sort of coordination +mechanism to prevent requests from different sources -- such as the motherboard +firmware, a BMC, or the operating system -- from interfering with each other. +.Pp +.Bf Sy +Therefore, it is highly recommended that developers contact the motherboard +vendor for any board-specific instructions on how to disable and re-enable DIMM +temperature monitoring. +.Ef +.Pp +DIMM temperature monitoring should be disabled before returning from +.Fn imcsmb_pci_request_bus , +and re-enabled before returning from +.Fn imcsmb_pci_release_bus . +The driver includes comments to that effect at the appropriate locations. +The driver has been tested and shown to work, with only that type of +modification, on certain motherboards from Intel. +.Po +Unfortunately, those modifications were based on material covered under a +non-disclosure agreement, and therefore are not included in this driver. +.Pc +The driver has also been tested and shown to work as-is on various motherboards +from SuperMicro. +.Pp +The +.Xr smb 4 +driver will connect to the +.Xr smbus 4 +instances created by +.Nm . +However, since the IMC-SMBs are not general-purpose SMBus controllers, using +.Xr smbmsg 8 +with those +.Xr smb 4 +devices is not supported. +.Sh SEE ALSO +.Xr jedec_dimm 4 , +.Xr smbus 4 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 12.0 . +.Sh AUTHORS +The +.Nm +driver was originally written for Panasas by +.An Joe Kloss . +It was substantially refactored, and this manual page was written, by +.An Ravi Pokala Aq Mt rpokala@freebsd.org Modified: stable/10/sys/amd64/conf/NOTES ============================================================================== --- stable/10/sys/amd64/conf/NOTES Fri Mar 9 02:55:22 2018 (r330679) +++ stable/10/sys/amd64/conf/NOTES Fri Mar 9 02:55:27 2018 (r330680) @@ -444,6 +444,11 @@ device hptiop device ips # +# Intel integrated Memory Controller (iMC) SMBus controller +# Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon +device imcsmb + +# # Intel C600 (Patsburg) integrated SAS controller device isci options ISCI_LOGGING # enable debugging in isci HAL Modified: stable/10/sys/conf/files.amd64 ============================================================================== --- stable/10/sys/conf/files.amd64 Fri Mar 9 02:55:22 2018 (r330679) +++ stable/10/sys/conf/files.amd64 Fri Mar 9 02:55:27 2018 (r330680) @@ -202,6 +202,8 @@ dev/if_ndis/if_ndis.c optional ndis dev/if_ndis/if_ndis_pccard.c optional ndis pccard dev/if_ndis/if_ndis_pci.c optional ndis cardbus | ndis pci dev/if_ndis/if_ndis_usb.c optional ndis usb +dev/imcsmb/imcsmb.c optional imcsmb +dev/imcsmb/imcsmb_pci.c optional imcsmb pci dev/io/iodev.c optional io dev/ioat/ioat.c optional ioat pci dev/ioat/ioat_test.c optional ioat pci Modified: stable/10/sys/conf/files.i386 ============================================================================== --- stable/10/sys/conf/files.i386 Fri Mar 9 02:55:22 2018 (r330679) +++ stable/10/sys/conf/files.i386 Fri Mar 9 02:55:27 2018 (r330680) @@ -265,6 +265,8 @@ dev/if_ndis/if_ndis.c optional ndis dev/if_ndis/if_ndis_pccard.c optional ndis pccard dev/if_ndis/if_ndis_pci.c optional ndis cardbus | ndis pci dev/if_ndis/if_ndis_usb.c optional ndis usb +dev/imcsmb/imcsmb.c optional imcsmb +dev/imcsmb/imcsmb_pci.c optional imcsmb pci dev/io/iodev.c optional io dev/ipmi/ipmi.c optional ipmi dev/ipmi/ipmi_acpi.c optional ipmi acpi Modified: stable/10/sys/i386/conf/NOTES ============================================================================== --- stable/10/sys/i386/conf/NOTES Fri Mar 9 02:55:22 2018 (r330679) +++ stable/10/sys/i386/conf/NOTES Fri Mar 9 02:55:27 2018 (r330680) @@ -752,6 +752,11 @@ device hptrr device hptiop # +# Intel integrated Memory Controller (iMC) SMBus controller +# Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon +device imcsmb + +# # IBM (now Adaptec) ServeRAID controllers device ips Modified: stable/10/sys/modules/i2c/controllers/Makefile ============================================================================== --- stable/10/sys/modules/i2c/controllers/Makefile Fri Mar 9 02:55:22 2018 (r330679) +++ stable/10/sys/modules/i2c/controllers/Makefile Fri Mar 9 02:55:27 2018 (r330680) @@ -6,4 +6,8 @@ SUBDIR = lpbb SUBDIR = alpm amdpm amdsmb ichsmb intpm ismt nfsmb viapm lpbb pcf .endif +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" +SUBDIR += imcsmb +.endif + .include From owner-svn-src-stable@freebsd.org Fri Mar 9 11:02:40 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9AE39F42E6A; Fri, 9 Mar 2018 11:02:40 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4E17170A5A; Fri, 9 Mar 2018 11:02:40 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 439E71B09; Fri, 9 Mar 2018 11:02:40 +0000 (UTC) Date: Fri, 9 Mar 2018 11:02:40 +0000 From: Alexey Dokuchaev To: Eitan Adler Cc: John Baldwin , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 Message-ID: <20180309110240.GA77718@FreeBSD.org> References: <201803050754.w257swAE001435@repo.freebsd.org> <6465173.s2nWvWCLOs@ralph.baldwin.cx> <8377086.JrIgVVMXMv@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 11:02:40 -0000 On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: > On 7 March 2018 at 09:37, John Baldwin wrote: > > ... > > I suspect many of these changes for iwm, etc. are all intertwined > > so I'm not sure if you can leave out individual ones. > > Possibly. I do have iwm working on my laptop though. I also know of > one open PR assigned to me w.r.t. a model I don't own. I'll be > addressing it some time this week. I often have mixed feelings when I see lots of similar changes (i.e. that make up for better hardware support, esp. on a laptop) MFCed. I'd rather see laptop users run -CURRENT and leave -STABLE branches for very conservative (server?) users who can't/don't want to afford the risks of running -CURRENT or require ABI stability in a really long run, rather than binge-merging things. :-) By default it should be -CURRENT all over; it's a very good thing that we as a Project ourselves are doing this as part of our own dogfood eating strategy. ./danfe From owner-svn-src-stable@freebsd.org Fri Mar 9 14:34:43 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F75FF2D391; Fri, 9 Mar 2018 14:34:43 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0ADD97982B; Fri, 9 Mar 2018 14:34:43 +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 014D62061F; Fri, 9 Mar 2018 14:34:43 +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 w29EYg0U014971; Fri, 9 Mar 2018 14:34:42 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w29EYgOb014970; Fri, 9 Mar 2018 14:34:42 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201803091434.w29EYgOb014970@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 9 Mar 2018 14:34:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330691 - stable/11/sys/sys X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/11/sys/sys X-SVN-Commit-Revision: 330691 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 14:34:43 -0000 Author: kib Date: Fri Mar 9 14:34:42 2018 New Revision: 330691 URL: https://svnweb.freebsd.org/changeset/base/330691 Log: MFC r330285: Remove _Nonnull attributes from user addresses arguments for copyout(9) family. Modified: stable/11/sys/sys/systm.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/sys/systm.h ============================================================================== --- stable/11/sys/sys/systm.h Fri Mar 9 14:16:33 2018 (r330690) +++ stable/11/sys/sys/systm.h Fri Mar 9 14:34:42 2018 (r330691) @@ -269,14 +269,14 @@ int copystr(const void * _Nonnull __restrict kfaddr, int copyinstr(const void * __restrict udaddr, void * _Nonnull __restrict kaddr, size_t len, size_t * __restrict lencopied); -int copyin(const void * _Nonnull __restrict udaddr, +int copyin(const void * __restrict udaddr, void * _Nonnull __restrict kaddr, size_t len); -int copyin_nofault(const void * _Nonnull __restrict udaddr, +int copyin_nofault(const void * __restrict udaddr, void * _Nonnull __restrict kaddr, size_t len); int copyout(const void * _Nonnull __restrict kaddr, - void * _Nonnull __restrict udaddr, size_t len); + void * __restrict udaddr, size_t len); int copyout_nofault(const void * _Nonnull __restrict kaddr, - void * _Nonnull __restrict udaddr, size_t len); + void * __restrict udaddr, size_t len); int fubyte(volatile const void *base); long fuword(volatile const void *base); From owner-svn-src-stable@freebsd.org Fri Mar 9 14:38:47 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CDCAF2D926; Fri, 9 Mar 2018 14:38:47 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3A7B779C21; Fri, 9 Mar 2018 14:38:47 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 30AFE20622; Fri, 9 Mar 2018 14:38:47 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w29EcljJ015194; Fri, 9 Mar 2018 14:38:47 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w29EclCa015193; Fri, 9 Mar 2018 14:38:47 GMT (envelope-from dab@FreeBSD.org) Message-Id: <201803091438.w29EclCa015193@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Fri, 9 Mar 2018 14:38:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330692 - stable/11/sbin/dhclient X-SVN-Group: stable-11 X-SVN-Commit-Author: dab X-SVN-Commit-Paths: stable/11/sbin/dhclient X-SVN-Commit-Revision: 330692 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 14:38:47 -0000 Author: dab Date: Fri Mar 9 14:38:46 2018 New Revision: 330692 URL: https://svnweb.freebsd.org/changeset/base/330692 Log: MFC r330085: dhclient violates RFC2131 when sending early DHCPREQUEST message to re-obtain old IP When dhclient first starts, if an old IP address exists in the dhclient.leases file, dhclient(8) sends early DHCPREQUEST message(s) in an attempt to re-obtain the old IP address again. These messages contain the old IP as a requested-IP-address option in the message body (correct) but also use the old IP address as the packet's source IP (incorrect). RFC2131 sec 4.1 states: DHCP messages broadcast by a client prior to that client obtaining its IP address must have the source address field in the IP header set to 0. The use of the old IP as the packet's source address is incorrect if (a) the computer is now on a different network or (b) it is on the same network, but the old IP has been reallocated to another host. Fix dhclient to use 0.0.0.0 as the source IP in this circumstance without removing any existing functionality. Any previously-used old IP is still requested in the body of an early DHCPREQUEST message. PR: 199378 Submitted by: J.R. Oldroyd Reported by: J.R. Oldroyd Sponsored by: Dell EMC Modified: stable/11/sbin/dhclient/dhclient.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/dhclient/dhclient.c ============================================================================== --- stable/11/sbin/dhclient/dhclient.c Fri Mar 9 14:34:42 2018 (r330691) +++ stable/11/sbin/dhclient/dhclient.c Fri Mar 9 14:38:46 2018 (r330692) @@ -1478,7 +1478,8 @@ cancel: memcpy(&to.s_addr, ip->client->destination.iabuf, sizeof(to.s_addr)); - if (ip->client->state != S_REQUESTING) + if (ip->client->state != S_REQUESTING && + ip->client->state != S_REBOOTING) memcpy(&from, ip->client->active->address.iabuf, sizeof(from)); else From owner-svn-src-stable@freebsd.org Fri Mar 9 14:39:29 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 590D2F2DA1C; Fri, 9 Mar 2018 14:39:29 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 07CCB79E37; Fri, 9 Mar 2018 14:39:29 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 02B2820625; Fri, 9 Mar 2018 14:39:29 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w29EdSLe015419; Fri, 9 Mar 2018 14:39:28 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w29EdS3F015418; Fri, 9 Mar 2018 14:39:28 GMT (envelope-from dab@FreeBSD.org) Message-Id: <201803091439.w29EdS3F015418@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Fri, 9 Mar 2018 14:39:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330693 - stable/10/sbin/dhclient X-SVN-Group: stable-10 X-SVN-Commit-Author: dab X-SVN-Commit-Paths: stable/10/sbin/dhclient X-SVN-Commit-Revision: 330693 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 14:39:29 -0000 Author: dab Date: Fri Mar 9 14:39:28 2018 New Revision: 330693 URL: https://svnweb.freebsd.org/changeset/base/330693 Log: MFC r330085: dhclient violates RFC2131 when sending early DHCPREQUEST message to re-obtain old IP When dhclient first starts, if an old IP address exists in the dhclient.leases file, dhclient(8) sends early DHCPREQUEST message(s) in an attempt to re-obtain the old IP address again. These messages contain the old IP as a requested-IP-address option in the message body (correct) but also use the old IP address as the packet's source IP (incorrect). RFC2131 sec 4.1 states: DHCP messages broadcast by a client prior to that client obtaining its IP address must have the source address field in the IP header set to 0. The use of the old IP as the packet's source address is incorrect if (a) the computer is now on a different network or (b) it is on the same network, but the old IP has been reallocated to another host. Fix dhclient to use 0.0.0.0 as the source IP in this circumstance without removing any existing functionality. Any previously-used old IP is still requested in the body of an early DHCPREQUEST message. PR: 199378 Submitted by: J.R. Oldroyd Reported by: J.R. Oldroyd Sponsored by: Dell EMC Modified: stable/10/sbin/dhclient/dhclient.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/dhclient/dhclient.c ============================================================================== --- stable/10/sbin/dhclient/dhclient.c Fri Mar 9 14:38:46 2018 (r330692) +++ stable/10/sbin/dhclient/dhclient.c Fri Mar 9 14:39:28 2018 (r330693) @@ -1460,7 +1460,8 @@ cancel: memcpy(&to.s_addr, ip->client->destination.iabuf, sizeof(to.s_addr)); - if (ip->client->state != S_REQUESTING) + if (ip->client->state != S_REQUESTING && + ip->client->state != S_REBOOTING) memcpy(&from, ip->client->active->address.iabuf, sizeof(from)); else From owner-svn-src-stable@freebsd.org Fri Mar 9 14:45:20 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6935DF2E1E2; Fri, 9 Mar 2018 14:45:20 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 724E17A485; Fri, 9 Mar 2018 14:45:18 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5A0B6207C5; Fri, 9 Mar 2018 14:45:18 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w29EjHjD021110; Fri, 9 Mar 2018 14:45:17 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w29EjHgU021108; Fri, 9 Mar 2018 14:45:17 GMT (envelope-from dab@FreeBSD.org) Message-Id: <201803091445.w29EjHgU021108@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Fri, 9 Mar 2018 14:45:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330694 - in stable/11/usr.sbin/pw: . tests X-SVN-Group: stable-11 X-SVN-Commit-Author: dab X-SVN-Commit-Paths: in stable/11/usr.sbin/pw: . tests X-SVN-Commit-Revision: 330694 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 14:45:20 -0000 Author: dab Date: Fri Mar 9 14:45:17 2018 New Revision: 330694 URL: https://svnweb.freebsd.org/changeset/base/330694 Log: MFC r330245: Allow the "@" and "!" characters in passwd file GECOS fields. Two PRs (152084 & 210187) request allowing the "@" and/or "!" characters in the passwd file GECOS field. The man page for pw does not mention that those characters are disallowed, Linux supports those characters in this field, and the "@" character in particular would be useful for storing email addresses in that field. PR: 152084, 210187 Submitted by: jschauma@netmeister.org, Dave Cottlehuber Reported by: jschauma@netmeister.org, Dave Cottlehuber Sponsored by: Dell EMC Modified: stable/11/usr.sbin/pw/pw_user.c stable/11/usr.sbin/pw/tests/pw_useradd_test.sh Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/pw/pw_user.c ============================================================================== --- stable/11/usr.sbin/pw/pw_user.c Fri Mar 9 14:39:28 2018 (r330693) +++ stable/11/usr.sbin/pw/pw_user.c Fri Mar 9 14:45:17 2018 (r330694) @@ -632,7 +632,7 @@ pw_checkname(char *name, int gecos) reject = 0; if (gecos) { /* See if the name is valid as a gecos (comment) field. */ - badchars = ":!@"; + badchars = ":"; showtype = "gecos field"; } else { /* See if the name is valid as a userid or group. */ Modified: stable/11/usr.sbin/pw/tests/pw_useradd_test.sh ============================================================================== --- stable/11/usr.sbin/pw/tests/pw_useradd_test.sh Fri Mar 9 14:39:28 2018 (r330693) +++ stable/11/usr.sbin/pw/tests/pw_useradd_test.sh Fri Mar 9 14:45:17 2018 (r330694) @@ -27,9 +27,9 @@ atf_test_case user_add_comments user_add_comments_body() { populate_etc_skel - atf_check -s exit:0 ${PW} useradd test -c "Test User,work,123,456" - atf_check -s exit:0 -o match:"^test:.*:Test User,work,123,456:" \ - grep "^test:.*:Test User,work,123,456:" $HOME/master.passwd + atf_check -s exit:0 ${PW} useradd test -c 'Test User,work!,123,user@example.com' + atf_check -s exit:0 -o match:'^test:.*:Test User,work!,123,user@example.com:' \ + grep '^test:.*:Test User,work!,123,user@example.com:' $HOME/master.passwd } # Test add user with comments and option -N From owner-svn-src-stable@freebsd.org Fri Mar 9 14:45:48 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5221EF2E265; Fri, 9 Mar 2018 14:45:48 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 07B357A68C; Fri, 9 Mar 2018 14:45:48 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0287C207C8; Fri, 9 Mar 2018 14:45:48 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w29Ejl96021196; Fri, 9 Mar 2018 14:45:47 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w29Ejluq021194; Fri, 9 Mar 2018 14:45:47 GMT (envelope-from dab@FreeBSD.org) Message-Id: <201803091445.w29Ejluq021194@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Fri, 9 Mar 2018 14:45:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330695 - in stable/10/usr.sbin/pw: . tests X-SVN-Group: stable-10 X-SVN-Commit-Author: dab X-SVN-Commit-Paths: in stable/10/usr.sbin/pw: . tests X-SVN-Commit-Revision: 330695 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 14:45:48 -0000 Author: dab Date: Fri Mar 9 14:45:47 2018 New Revision: 330695 URL: https://svnweb.freebsd.org/changeset/base/330695 Log: MFC r330245: Allow the "@" and "!" characters in passwd file GECOS fields. Two PRs (152084 & 210187) request allowing the "@" and/or "!" characters in the passwd file GECOS field. The man page for pw does not mention that those characters are disallowed, Linux supports those characters in this field, and the "@" character in particular would be useful for storing email addresses in that field. PR: 152084, 210187 Submitted by: jschauma@netmeister.org, Dave Cottlehuber Reported by: jschauma@netmeister.org, Dave Cottlehuber Sponsored by: Dell EMC Modified: stable/10/usr.sbin/pw/pw_user.c stable/10/usr.sbin/pw/tests/pw_useradd_test.sh Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/pw/pw_user.c ============================================================================== --- stable/10/usr.sbin/pw/pw_user.c Fri Mar 9 14:45:17 2018 (r330694) +++ stable/10/usr.sbin/pw/pw_user.c Fri Mar 9 14:45:47 2018 (r330695) @@ -632,7 +632,7 @@ pw_checkname(char *name, int gecos) reject = 0; if (gecos) { /* See if the name is valid as a gecos (comment) field. */ - badchars = ":!@"; + badchars = ":"; showtype = "gecos field"; } else { /* See if the name is valid as a userid or group. */ Modified: stable/10/usr.sbin/pw/tests/pw_useradd_test.sh ============================================================================== --- stable/10/usr.sbin/pw/tests/pw_useradd_test.sh Fri Mar 9 14:45:17 2018 (r330694) +++ stable/10/usr.sbin/pw/tests/pw_useradd_test.sh Fri Mar 9 14:45:47 2018 (r330695) @@ -27,9 +27,9 @@ atf_test_case user_add_comments user_add_comments_body() { populate_etc_skel - atf_check -s exit:0 ${PW} useradd test -c "Test User,work,123,456" - atf_check -s exit:0 -o match:"^test:.*:Test User,work,123,456:" \ - grep "^test:.*:Test User,work,123,456:" $HOME/master.passwd + atf_check -s exit:0 ${PW} useradd test -c 'Test User,work!,123,user@example.com' + atf_check -s exit:0 -o match:'^test:.*:Test User,work!,123,user@example.com:' \ + grep '^test:.*:Test User,work!,123,user@example.com:' $HOME/master.passwd } # Test add user with comments and option -N From owner-svn-src-stable@freebsd.org Fri Mar 9 15:28:43 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1CA1F31985; Fri, 9 Mar 2018 15:28:42 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 576827C37C; Fri, 9 Mar 2018 15:28:41 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id w29FScTG065006; Fri, 9 Mar 2018 07:28:38 -0800 (PST) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id w29FSabK065005; Fri, 9 Mar 2018 07:28:36 -0800 (PST) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201803091528.w29FSabK065005@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 In-Reply-To: <20180309110240.GA77718@FreeBSD.org> To: Alexey Dokuchaev Date: Fri, 9 Mar 2018 07:28:36 -0800 (PST) CC: Eitan Adler , John Baldwin , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 15:28:43 -0000 > On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: > > On 7 March 2018 at 09:37, John Baldwin wrote: > > > ... > > > I suspect many of these changes for iwm, etc. are all intertwined > > > so I'm not sure if you can leave out individual ones. > > > > Possibly. I do have iwm working on my laptop though. I also know of > > one open PR assigned to me w.r.t. a model I don't own. I'll be > > addressing it some time this week. > > I often have mixed feelings when I see lots of similar changes (i.e. > that make up for better hardware support, esp. on a laptop) MFCed. > I'd rather see laptop users run -CURRENT and leave -STABLE branches > for very conservative (server?) users who can't/don't want to afford > the risks of running -CURRENT or require ABI stability in a really > long run, rather than binge-merging things. :-) > > By default it should be -CURRENT all over; it's a very good thing > that we as a Project ourselves are doing this as part of our own > dogfood eating strategy. As a data point just last night a person came into #freebsd irc channel with a none working wireless nic on a desktop, he was attemtping to use a Realteak RTL8192EU on 11.1-RELEASE. Someone had already told him to try urtwn driver, which in -current is the right driver and supports this device. It did not work for him. This is about when I came in to the discussion, and helped to confirm that -current did infact have support for this device, and that this supported had existed in -current for 16 months, and that this support would not be a simple grab a couple driver files and build it on 11.1. The commit to add this support involves 46 files, which 18 of are new files. My feelings are if this driver has been in -current for 16 months why is it NOT in -stable yet? I know part of the answer "its not a simple merge". But as a project this is egg on our face. We can merge a new very complicated change to a our boot code, within a few months (thank you kevans for that work), but we can not merge back a device driver in 16? As a semi- regular visit to the FreeBSD irc help room, I try to go there once a month and spend 8 hours helping people with any problem them might have, I see this lack of driver support in stable/ regularly. On my last visit it was the iwn driver adding 8565 support, I reached out to GNN who did the -current work, again a significant time ago, the commit had a MFC: 1 month in it. George replied to me that it turned out to be non-trivial to merge due to other dependencies. I procurred an offer from the reporting person to test patches if I could get them put togeather, and he accepted. George agreed to review these patches for me. A few days later eadler merged a good deal of code in this area. I informed George of concerns about that and left it lie. Jhb stepped in and clearly identified abi breakage, which I believe has been reverted. I have made an offer to eadler to pass my tester of the Intel 8565 on to him, which I have received no reply from him, but from someone else that said they would test it "this weekend" I do not know if stable/11 is in a state that this driver should or should not work now. Regards, -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-stable@freebsd.org Fri Mar 9 15:52:09 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EA102F33817; Fri, 9 Mar 2018 15:52:08 +0000 (UTC) (envelope-from byond.lenox@gmail.com) Received: from mail-lf0-f45.google.com (mail-lf0-f45.google.com [209.85.215.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 71D027D5C1; Fri, 9 Mar 2018 15:52:08 +0000 (UTC) (envelope-from byond.lenox@gmail.com) Received: by mail-lf0-f45.google.com with SMTP id 37-v6so13819782lfs.7; Fri, 09 Mar 2018 07:52:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=z7rb7r5Z1tqr55oWXUxZAurcYLJo8Z3rWNy5lWlo3RE=; b=USNpidZkG1tvo6vOs1iTRW6NtzdRVifAr5wuapCVgNmjLQyXGqp282WEm2t4aDszCP MoTgdXKUgJViojfERX4odXkAhl+9XC6VW6NoReAZToCl74a2qn1b4beAlGQEJHS1I2sd HcT2m6fbgYgb+qzqLrm+dSqQ3kEL7pdVKvmEnnjm1HQZwabHvZ049yPTtN+atvyKz/TM g5YcARAKikFZwc6WpOyBSfLH+a9CJvnZVqCRV+ZVYWSFS4g/novS/kGilWGKqHdqSHAS m3fNNdfUuxKznezro8bQKxP+5qFaeSquhojcPdvaTb0P2pLWDHvbvRLPbia3NX7eBMKg wdXQ== X-Gm-Message-State: AElRT7H7aMseXn1IC0On0UA6eOdTLNyNWRgoPjhFRV5DcyL+X7GMT0dK Q87b3i7Dr3/ZclbrPoT6SC5T7/2f X-Google-Smtp-Source: AG47ELts8B8JZRZor7yWSsSKmHnAi1oBgr9twvD5LefLi/z4xnDJbxehtLBQ5MZp7ErJsJfge95I2A== X-Received: by 10.25.181.147 with SMTP id g19mr22950619lfk.47.1520610313977; Fri, 09 Mar 2018 07:45:13 -0800 (PST) Received: from mail-lf0-f47.google.com (mail-lf0-f47.google.com. [209.85.215.47]) by smtp.gmail.com with ESMTPSA id y128-v6sm343543lfc.64.2018.03.09.07.45.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Mar 2018 07:45:13 -0800 (PST) Received: by mail-lf0-f47.google.com with SMTP id e28-v6so4856398lfc.3; Fri, 09 Mar 2018 07:45:13 -0800 (PST) X-Received: by 10.46.114.26 with SMTP id n26mr22569980ljc.74.1520610313171; Fri, 09 Mar 2018 07:45:13 -0800 (PST) MIME-Version: 1.0 Received: by 10.46.54.1 with HTTP; Fri, 9 Mar 2018 07:44:52 -0800 (PST) In-Reply-To: <201803091528.w29FSabK065005@pdx.rh.CN85.dnsmgr.net> References: <20180309110240.GA77718@FreeBSD.org> <201803091528.w29FSabK065005@pdx.rh.CN85.dnsmgr.net> From: Kyle Evans Date: Fri, 9 Mar 2018 09:44:52 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: "Rodney W. Grimes" Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 15:52:09 -0000 On Fri, Mar 9, 2018 at 9:28 AM, Rodney W. Grimes wrote: >> On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: >> > On 7 March 2018 at 09:37, John Baldwin wrote: >> > > ... >> > > I suspect many of these changes for iwm, etc. are all intertwined >> > > so I'm not sure if you can leave out individual ones. >> > >> > Possibly. I do have iwm working on my laptop though. I also know of >> > one open PR assigned to me w.r.t. a model I don't own. I'll be >> > addressing it some time this week. >> >> I often have mixed feelings when I see lots of similar changes (i.e. >> that make up for better hardware support, esp. on a laptop) MFCed. >> I'd rather see laptop users run -CURRENT and leave -STABLE branches >> for very conservative (server?) users who can't/don't want to afford >> the risks of running -CURRENT or require ABI stability in a really >> long run, rather than binge-merging things. :-) >> >> By default it should be -CURRENT all over; it's a very good thing >> that we as a Project ourselves are doing this as part of our own >> dogfood eating strategy. > > As a data point just last night a person came into #freebsd irc > channel with a none working wireless nic on a desktop, he was > attemtping to use a Realteak RTL8192EU on 11.1-RELEASE. > > Someone had already told him to try urtwn driver, which in > -current is the right driver and supports this device. > > It did not work for him. This is about when I came in to the > discussion, and helped to confirm that -current did infact > have support for this device, and that this supported had > existed in -current for 16 months, and that this support > would not be a simple grab a couple driver files and build > it on 11.1. > > The commit to add this support involves 46 files, which 18 > of are new files. > > My feelings are if this driver has been in -current for > 16 months why is it NOT in -stable yet? I know part of > the answer "its not a simple merge". But as a project > this is egg on our face. We can merge a new very complicated > change to a our boot code, within a few months (thank you > kevans for that work), but we can not merge back a > device driver in 16? > I had the same questions- this exact same person had hopped over to #freebsd-wifi and I had walked through this same process, identifying it as "not MFC-able" at this point because so many commits having been left un-merged prior to it. I've already recently gone through the fun of catching up on one and a half years worth of unmerged work in stand, I'm not really prepared to do it again quite yet. It felt pretty bad having to tell him that his only option here was to either hop on -CURRENT + rtwn(4) or grab a stable/11 supported NIC- especially since stable/11 is still supposed to be supported for another three (3!) years, and I had to leave before I could help him walk through getting it setup on -CURRENT properly. From owner-svn-src-stable@freebsd.org Fri Mar 9 16:00:20 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 96B82F342B3 for ; Fri, 9 Mar 2018 16:00:20 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com [IPv6:2607:f8b0:4001:c06::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 231D27DC8A for ; Fri, 9 Mar 2018 16:00:20 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x22d.google.com with SMTP id e30so4045702ioc.3 for ; Fri, 09 Mar 2018 08:00:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=qs2aV+J4LoZtzkw57zVM00jal7c0Ho8NvVrXHpadpX0=; b=yod2P9wIjiMPAYcHEa0IM20yD1muXCsQ4+f5GmrzRRqPaHYSFcz5plB/oFWetKPPK1 sN8YIUxpF93iihVOR8M3tP0pYMFIjr+DPNHJ/VbxhU4rCbgeyyuHnQU4FCALABPVy3nE u+71NLsGpcoIyzQiqjIhlCrSgMQFSKjkFmXhck5bW/7kV5VhMi7gZ0Bev+UMw64DyBYc 2gmesXKvOqpEGqo9HqvLXDppWycVd7dVdrH3Q+7ffjBY6SVy1OazYmN6Nr0ZSKOc8wvD faybIL+kW363+wtA6qIHvwUeV6IG8qOMUdVml0AG6EbYjk4on+VQB9u8CI5AiFc0UXuQ 3Jgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=qs2aV+J4LoZtzkw57zVM00jal7c0Ho8NvVrXHpadpX0=; b=dD5JIEwTspohAnbafwHX1wQHCEHxHP4taxTwP5QGdCq/fsKUwh+qW3/nqcFwDjWE6T osSQTx0+UgxrACRyqQVktmRf9/DwAYL95YGRwWQhcWaV/rKTQdh9JoIXY6Xadv9C/M0n 0yi8OAKFi9y1NQSR1yVcYmlFs34PjupnppqDfiywsfxc3wl1KIIoStFUnhztNu9BzY+D fy6n9ZNJJdtURZwmH9pxY9X2+KFkvIZuAC4i+I+kuB2moPO8Xpvo6p7TsXuiRBtRBdd9 xdhoQQ6NtHZ/Xq9aEz1B8cLsXMWRRMohM+iqGpXZg8306vIK8aEt5BmogH5eUqN8PqIc 9nXg== X-Gm-Message-State: APf1xPARMOoMFit87CdOQykg1N6BBZfe9i9TH4tZ799mRHMOC1sySzJz RiN5JN/+ssoWjVWiWyDD8+ppJQU09zrwYLHLQ9j0wg== X-Google-Smtp-Source: AG47ELuAXxY1m5jBKpZ4TZhiT8GzOYMBTjzl5+KQxL84Z8AVR90M13FT4VzTtB+rAoXCVJfZlIKVeMlcI0OWkK/XDC8= X-Received: by 10.107.2.6 with SMTP id 6mr35734652ioc.117.1520611218835; Fri, 09 Mar 2018 08:00:18 -0800 (PST) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 10.79.203.196 with HTTP; Fri, 9 Mar 2018 08:00:18 -0800 (PST) X-Originating-IP: [2603:300b:6:5100:18a2:a4f7:170:8dd9] In-Reply-To: References: <20180309110240.GA77718@FreeBSD.org> <201803091528.w29FSabK065005@pdx.rh.CN85.dnsmgr.net> From: Warner Losh Date: Fri, 9 Mar 2018 09:00:18 -0700 X-Google-Sender-Auth: t4ts4G6-tSFetFXnplXoA_rSyac Message-ID: Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: Kyle Evans Cc: "Rodney W. Grimes" , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 16:00:20 -0000 On Fri, Mar 9, 2018 at 8:44 AM, Kyle Evans wrote: > On Fri, Mar 9, 2018 at 9:28 AM, Rodney W. Grimes > wrote: > >> On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: > >> > On 7 March 2018 at 09:37, John Baldwin wrote: > >> > > ... > >> > > I suspect many of these changes for iwm, etc. are all intertwined > >> > > so I'm not sure if you can leave out individual ones. > >> > > >> > Possibly. I do have iwm working on my laptop though. I also know of > >> > one open PR assigned to me w.r.t. a model I don't own. I'll be > >> > addressing it some time this week. > >> > >> I often have mixed feelings when I see lots of similar changes (i.e. > >> that make up for better hardware support, esp. on a laptop) MFCed. > >> I'd rather see laptop users run -CURRENT and leave -STABLE branches > >> for very conservative (server?) users who can't/don't want to afford > >> the risks of running -CURRENT or require ABI stability in a really > >> long run, rather than binge-merging things. :-) > >> > >> By default it should be -CURRENT all over; it's a very good thing > >> that we as a Project ourselves are doing this as part of our own > >> dogfood eating strategy. > > > > As a data point just last night a person came into #freebsd irc > > channel with a none working wireless nic on a desktop, he was > > attemtping to use a Realteak RTL8192EU on 11.1-RELEASE. > > > > Someone had already told him to try urtwn driver, which in > > -current is the right driver and supports this device. > > > > It did not work for him. This is about when I came in to the > > discussion, and helped to confirm that -current did infact > > have support for this device, and that this supported had > > existed in -current for 16 months, and that this support > > would not be a simple grab a couple driver files and build > > it on 11.1. > > > > The commit to add this support involves 46 files, which 18 > > of are new files. > > > > My feelings are if this driver has been in -current for > > 16 months why is it NOT in -stable yet? I know part of > > the answer "its not a simple merge". But as a project > > this is egg on our face. We can merge a new very complicated > > change to a our boot code, within a few months (thank you > > kevans for that work), but we can not merge back a > > device driver in 16? > > > > I had the same questions- this exact same person had hopped over to > #freebsd-wifi and I had walked through this same process, identifying > it as "not MFC-able" at this point because so many commits having been > left un-merged prior to it. I've already recently gone through the fun > of catching up on one and a half years worth of unmerged work in > stand, I'm not really prepared to do it again quite yet. > > It felt pretty bad having to tell him that his only option here was to > either hop on -CURRENT + rtwn(4) or grab a stable/11 supported NIC- > especially since stable/11 is still supposed to be supported for > another three (3!) years, and I had to leave before I could help him > walk through getting it setup on -CURRENT properly > one has to wonder why 12.0 is so far in the future.... Warner From owner-svn-src-stable@freebsd.org Fri Mar 9 16:09:49 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 772ACF351D2; Fri, 9 Mar 2018 16:09:49 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1FB537E6C7; Fri, 9 Mar 2018 16:09:48 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id w29G9kCY065168; Fri, 9 Mar 2018 08:09:46 -0800 (PST) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id w29G9kI1065167; Fri, 9 Mar 2018 08:09:46 -0800 (PST) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201803091609.w29G9kI1065167@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 In-Reply-To: To: Kyle Evans Date: Fri, 9 Mar 2018 08:09:46 -0800 (PST) CC: "Rodney W. Grimes" , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 16:09:49 -0000 > On Fri, Mar 9, 2018 at 9:28 AM, Rodney W. Grimes > wrote: > >> On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: > >> > On 7 March 2018 at 09:37, John Baldwin wrote: > >> > > ... > >> > > I suspect many of these changes for iwm, etc. are all intertwined > >> > > so I'm not sure if you can leave out individual ones. > >> > > >> > Possibly. I do have iwm working on my laptop though. I also know of > >> > one open PR assigned to me w.r.t. a model I don't own. I'll be > >> > addressing it some time this week. > >> > >> I often have mixed feelings when I see lots of similar changes (i.e. > >> that make up for better hardware support, esp. on a laptop) MFCed. > >> I'd rather see laptop users run -CURRENT and leave -STABLE branches > >> for very conservative (server?) users who can't/don't want to afford > >> the risks of running -CURRENT or require ABI stability in a really > >> long run, rather than binge-merging things. :-) > >> > >> By default it should be -CURRENT all over; it's a very good thing > >> that we as a Project ourselves are doing this as part of our own > >> dogfood eating strategy. > > > > As a data point just last night a person came into #freebsd irc > > channel with a none working wireless nic on a desktop, he was > > attemtping to use a Realteak RTL8192EU on 11.1-RELEASE. > > > > Someone had already told him to try urtwn driver, which in > > -current is the right driver and supports this device. > > > > It did not work for him. This is about when I came in to the > > discussion, and helped to confirm that -current did infact > > have support for this device, and that this supported had > > existed in -current for 16 months, and that this support > > would not be a simple grab a couple driver files and build > > it on 11.1. > > > > The commit to add this support involves 46 files, which 18 > > of are new files. > > > > My feelings are if this driver has been in -current for > > 16 months why is it NOT in -stable yet? I know part of > > the answer "its not a simple merge". But as a project > > this is egg on our face. We can merge a new very complicated > > change to a our boot code, within a few months (thank you > > kevans for that work), but we can not merge back a > > device driver in 16? > > > > I had the same questions- this exact same person had hopped over to > #freebsd-wifi and I had walked through this same process, identifying > it as "not MFC-able" at this point because so many commits having been > left un-merged prior to it. I've already recently gone through the fun > of catching up on one and a half years worth of unmerged work in > stand, I'm not really prepared to do it again quite yet. But but but.. you did it so well the first time!!! :-) I can fully appreciate that you do not desire to do another massive merge. > It felt pretty bad having to tell him that his only option here was to > either hop on -CURRENT + rtwn(4) or grab a stable/11 supported NIC- > especially since stable/11 is still supposed to be supported for > another three (3!) years, and I had to leave before I could help him > walk through getting it setup on -CURRENT properly. When I left the #freebsd channel he was downloading, and others there are capable of helping him get up and running. One thing that did come up while discussing some of the issues with merging head to stable was it might be usefull if we add yet another marker line: Changes ABI/KABI: yes to the commit messages, at least if marked you can be pretty sure that merging is going to involve additional work, lack of this mark would not guarantee you didnt have an ABI issue as they are easy to overlook and you would still need to look for those types of problems. I have been told by someone there are some tools that can mechanically look for ABI changes. -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-stable@freebsd.org Fri Mar 9 16:22:34 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F27E4F3651C for ; Fri, 9 Mar 2018 16:22:33 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-it0-x234.google.com (mail-it0-x234.google.com [IPv6:2607:f8b0:4001:c0b::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7AA797F240 for ; Fri, 9 Mar 2018 16:22:33 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-it0-x234.google.com with SMTP id c11so3351213ith.4 for ; Fri, 09 Mar 2018 08:22:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=hUswTB+N4b6f2rOfvb7jsLG+DNUb4axtd47iKyVE8TE=; b=Pb2Lo1mVIudCaiq/v/80j572TEMzGSaOEsQXIzxq87c47+XSb0L40YON9XAnIQzZ5F Hh+lJuZo8jAwpaO19QitmoLn2HZQKkwyZqQE0Eib0JtR2cIBI5yPq4qSSU8XQzFozl6F xAH+OZ+ZN4Y1qGYZRLIg9ornTYXWU6wnElgQhqlaK5TtgI+6kmPZk6hIO3YhKQmJRpSq 6Ei9uTjtIRZidnDzGbhZb+3Rt+cWmkgB2lxAiTALf2loH2qmOjU0B15YVzG58ZJzQubb +fBlpC87YhCc+2qkzkt3YO0FAKBGNcOEAWNqkjr7xO1r2G/qLKmXBkV2cGTWdCBg8Qtn 8cxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=hUswTB+N4b6f2rOfvb7jsLG+DNUb4axtd47iKyVE8TE=; b=Mj16b9JqeO3z2kALZBtPtcFF+PTSKbzpSCXsk2wA8zZPrMlSjJJugd80MEJt//8Y3o 6TR9+itaxVNCUjzdfo/d9uXN0f7/qwXTplY7/YQyRs/4KBrdagSkvQI5GjTvyOj4Ugys VrzoVVtwFWivXwPUbjUkYRYzrgOTCdfeVUv5NZXSC4ocq1JzIcVmaLaVuzdbdeKpwV1W INZBCurVrouvyqiJ7skIdCOAqJYpdCjVu6oCWXvhIOxhIfLDY3+uuUSUgQztTshZ/7ak UvhUSssox9HYevUk8Uxf5oK9HUQuraXUCuqNXHip0+mYTPOCiJ0KcVKKMg8o65PGA/N5 iVwQ== X-Gm-Message-State: AElRT7EYQi4N+Fxe5hkQCpRMgGlVKHb1dcsEZh2VaEvKfK3xymTXve8l TI9jw9xkIRZmP1SXFC2oLsIOApJAn1p6D4RCr38JZA== X-Google-Smtp-Source: AG47ELvVskXGSfcRIE4nYP7tO73pBZe1C7tYJYCLaEyTQzLVnJ3c0Yz+hjtpCEG5Pd6koHvQbH8ptaPwLiEXCjAiKaI= X-Received: by 10.36.4.65 with SMTP id 62mr4118914itb.57.1520612552664; Fri, 09 Mar 2018 08:22:32 -0800 (PST) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 10.79.203.196 with HTTP; Fri, 9 Mar 2018 08:22:31 -0800 (PST) X-Originating-IP: [2603:300b:6:5100:18a2:a4f7:170:8dd9] In-Reply-To: <201803091609.w29G9kI1065167@pdx.rh.CN85.dnsmgr.net> References: <201803091609.w29G9kI1065167@pdx.rh.CN85.dnsmgr.net> From: Warner Losh Date: Fri, 9 Mar 2018 09:22:31 -0700 X-Google-Sender-Auth: jFN5_qz-eSFb3uA_qr8sJQjDZFU Message-ID: Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: "Rodney W. Grimes" Cc: Kyle Evans , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 16:22:34 -0000 On Fri, Mar 9, 2018 at 9:09 AM, Rodney W. Grimes < freebsd@pdx.rh.cn85.dnsmgr.net> wrote: > > On Fri, Mar 9, 2018 at 9:28 AM, Rodney W. Grimes > > wrote: > > >> On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: > > >> > On 7 March 2018 at 09:37, John Baldwin wrote: > > >> > > ... > > >> > > I suspect many of these changes for iwm, etc. are all intertwined > > >> > > so I'm not sure if you can leave out individual ones. > > >> > > > >> > Possibly. I do have iwm working on my laptop though. I also know of > > >> > one open PR assigned to me w.r.t. a model I don't own. I'll be > > >> > addressing it some time this week. > > >> > > >> I often have mixed feelings when I see lots of similar changes (i.e. > > >> that make up for better hardware support, esp. on a laptop) MFCed. > > >> I'd rather see laptop users run -CURRENT and leave -STABLE branches > > >> for very conservative (server?) users who can't/don't want to afford > > >> the risks of running -CURRENT or require ABI stability in a really > > >> long run, rather than binge-merging things. :-) > > >> > > >> By default it should be -CURRENT all over; it's a very good thing > > >> that we as a Project ourselves are doing this as part of our own > > >> dogfood eating strategy. > > > > > > As a data point just last night a person came into #freebsd irc > > > channel with a none working wireless nic on a desktop, he was > > > attemtping to use a Realteak RTL8192EU on 11.1-RELEASE. > > > > > > Someone had already told him to try urtwn driver, which in > > > -current is the right driver and supports this device. > > > > > > It did not work for him. This is about when I came in to the > > > discussion, and helped to confirm that -current did infact > > > have support for this device, and that this supported had > > > existed in -current for 16 months, and that this support > > > would not be a simple grab a couple driver files and build > > > it on 11.1. > > > > > > The commit to add this support involves 46 files, which 18 > > > of are new files. > > > > > > My feelings are if this driver has been in -current for > > > 16 months why is it NOT in -stable yet? I know part of > > > the answer "its not a simple merge". But as a project > > > this is egg on our face. We can merge a new very complicated > > > change to a our boot code, within a few months (thank you > > > kevans for that work), but we can not merge back a > > > device driver in 16? > > > > > > > I had the same questions- this exact same person had hopped over to > > #freebsd-wifi and I had walked through this same process, identifying > > it as "not MFC-able" at this point because so many commits having been > > left un-merged prior to it. I've already recently gone through the fun > > of catching up on one and a half years worth of unmerged work in > > stand, I'm not really prepared to do it again quite yet. > > But but but.. you did it so well the first time!!! :-) > I can fully appreciate that you do not desire to do another > massive merge. > > > It felt pretty bad having to tell him that his only option here was to > > either hop on -CURRENT + rtwn(4) or grab a stable/11 supported NIC- > > especially since stable/11 is still supposed to be supported for > > another three (3!) years, and I had to leave before I could help him > > walk through getting it setup on -CURRENT properly. > > When I left the #freebsd channel he was downloading, and others > there are capable of helping him get up and running. > > One thing that did come up while discussing some of the issues > with merging head to stable was it might be usefull if we add > yet another marker line: > Changes ABI/KABI: yes > to the commit messages, at least if marked you can be pretty > sure that merging is going to involve additional work, lack > of this mark would not guarantee you didnt have an ABI issue > as they are easy to overlook and you would still need to > look for those types of problems. > Given our past experience, it is often the case that people make changes and aren't aware it's an ABI change, or forget that it is an ABI change once testing is done. Or not realize a change in place X affects Y that affects Z that makes it an ABI change. We've had several changes to CAM that we had to redo because people didn't realize they were breaking something. And at least one of them I approved knowing what changed, but not groking the implications of the change. > I have been told by someone there are some tools that can > mechanically look for ABI changes. > This is the only way forward that may work, but it's much harder in the kernel where the interfaces aren't well enumerated. But we have to look at why so much is desirable to MFC. It's been a long time since a major release and a lot has gone into 12 on the assumption the release would be maybe 30 months from 11.0. The current schedule doesn't have it going out for quite some time. Another way forward is to pull in the 12.0R release. If there were an impending major release, it wouldn't be so bad. However, the agreed to release schedule a few years ago is slipping, which is putting pressure to MFC things, which is why we're talking about this. 11.0 was released in October 2016. That means we should be entering a code slush this summer for 12.0 towards the end of the year, but so far the best guess is a vague hand wave of sometime in early 2019, maybe. That's what's creating the pressure to MFC: we have at least one more year of 11 being the latest release. Warner From owner-svn-src-stable@freebsd.org Fri Mar 9 16:25:46 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 575CFF369D9; Fri, 9 Mar 2018 16:25:46 +0000 (UTC) (envelope-from eric@vangyzen.net) Received: from smtp.vangyzen.net (hotblack.vangyzen.net [199.48.133.146]) by mx1.freebsd.org (Postfix) with ESMTP id F26FA7F517; Fri, 9 Mar 2018 16:25:43 +0000 (UTC) (envelope-from eric@vangyzen.net) Received: from sweettea.beer.town (unknown [76.164.8.130]) by smtp.vangyzen.net (Postfix) with ESMTPSA id 6CCF156497; Fri, 9 Mar 2018 10:20:33 -0600 (CST) Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 To: Warner Losh , Kyle Evans Cc: "Rodney W. Grimes" , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org References: <20180309110240.GA77718@FreeBSD.org> <201803091528.w29FSabK065005@pdx.rh.CN85.dnsmgr.net> From: Eric van Gyzen Message-ID: Date: Fri, 9 Mar 2018 10:20:32 -0600 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 16:25:46 -0000 On 03/09/2018 10:00, Warner Losh wrote: > > > On Fri, Mar 9, 2018 at 8:44 AM, Kyle Evans > wrote: > > On Fri, Mar 9, 2018 at 9:28 AM, Rodney W. Grimes > > wrote: > >> On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: > >> > On 7 March 2018 at 09:37, John Baldwin > wrote: > >> > > ... > >> > > I suspect many of these changes for iwm, etc. are all > intertwined > >> > > so I'm not sure if you can leave out individual ones. > >> > > >> > Possibly. I do have iwm working on my laptop though. I also > know of > >> > one open PR assigned to me w.r.t. a model I don't own. I'll be > >> > addressing it some time this week. > >> > >> I often have mixed feelings when I see lots of similar changes > (i.e. > >> that make up for better hardware support, esp. on a laptop) MFCed. > >> I'd rather see laptop users run -CURRENT and leave -STABLE branches > >> for very conservative (server?) users who can't/don't want to > afford > >> the risks of running -CURRENT or require ABI stability in a really > >> long run, rather than binge-merging things. :-) > >> > >> By default it should be -CURRENT all over; it's a very good thing > >> that we as a Project ourselves are doing this as part of our own > >> dogfood eating strategy. > > > > As a data point just last night a person came into #freebsd irc > > channel with a none working wireless nic on a desktop, he was > > attemtping to use a Realteak RTL8192EU on 11.1-RELEASE. > > > > Someone had already told him to try urtwn driver, which in > > -current is the right driver and supports this device. > > > > It did not work for him.  This is about when I came in to the > > discussion, and helped to confirm that -current did infact > > have support for this device, and that this supported had > > existed in -current for 16 months, and that this support > > would not be a simple grab a couple driver files and build > > it on 11.1. > > > > The commit to add this support involves 46 files, which 18 > > of are new files. > > > > My feelings are if this driver has been in -current for > > 16 months why is it NOT in -stable yet?  I know part of > > the answer "its not a simple merge".  But as a project > > this is egg on our face.  We can merge a new very complicated > > change to a our boot code, within a few months (thank you > > kevans for that work), but we can not merge back a > > device driver in 16? > > > > I had the same questions- this exact same person had hopped over to > #freebsd-wifi and I had walked through this same process, identifying > it as "not MFC-able" at this point because so many commits having been > left un-merged prior to it. I've already recently gone through the fun > of catching up on one and a half years worth of unmerged work in > stand, I'm not really prepared to do it again quite yet. > > It felt pretty bad having to tell him that his only option here was to > either hop on -CURRENT + rtwn(4) or grab a stable/11 supported NIC- > especially since stable/11 is still supposed to be supported for > another three (3!) years, and I had to leave before I could help him > walk through getting it setup on -CURRENT properly > > > one has to wonder why 12.0 is so far in the future.... My thoughts precisely.  If there is so much interesting content in head, it's time for a release. Eric From owner-svn-src-stable@freebsd.org Fri Mar 9 16:34:42 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5702DF374F6; Fri, 9 Mar 2018 16:34:42 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D75CF7FD16; Fri, 9 Mar 2018 16:34:41 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id w29GYYCd065286; Fri, 9 Mar 2018 08:34:34 -0800 (PST) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id w29GYYdX065285; Fri, 9 Mar 2018 08:34:34 -0800 (PST) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201803091634.w29GYYdX065285@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 In-Reply-To: To: Eric van Gyzen Date: Fri, 9 Mar 2018 08:34:34 -0800 (PST) CC: Warner Losh , Kyle Evans , "Rodney W. Grimes" , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 16:34:42 -0000 [ Charset UTF-8 unsupported, converting... ] > On 03/09/2018 10:00, Warner Losh wrote: > > > > > > On Fri, Mar 9, 2018 at 8:44 AM, Kyle Evans > > wrote: > > > > On Fri, Mar 9, 2018 at 9:28 AM, Rodney W. Grimes > > > > wrote: > > >> On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: > > >> > On 7 March 2018 at 09:37, John Baldwin > > wrote: > > >> > > ... > > >> > > I suspect many of these changes for iwm, etc. are all > > intertwined > > >> > > so I'm not sure if you can leave out individual ones. > > >> > > > >> > Possibly. I do have iwm working on my laptop though. I also > > know of > > >> > one open PR assigned to me w.r.t. a model I don't own. I'll be > > >> > addressing it some time this week. > > >> > > >> I often have mixed feelings when I see lots of similar changes > > (i.e. > > >> that make up for better hardware support, esp. on a laptop) MFCed. > > >> I'd rather see laptop users run -CURRENT and leave -STABLE branches > > >> for very conservative (server?) users who can't/don't want to > > afford > > >> the risks of running -CURRENT or require ABI stability in a really > > >> long run, rather than binge-merging things. :-) > > >> > > >> By default it should be -CURRENT all over; it's a very good thing > > >> that we as a Project ourselves are doing this as part of our own > > >> dogfood eating strategy. > > > > > > As a data point just last night a person came into #freebsd irc > > > channel with a none working wireless nic on a desktop, he was > > > attemtping to use a Realteak RTL8192EU on 11.1-RELEASE. > > > > > > Someone had already told him to try urtwn driver, which in > > > -current is the right driver and supports this device. > > > > > > It did not work for him.? This is about when I came in to the > > > discussion, and helped to confirm that -current did infact > > > have support for this device, and that this supported had > > > existed in -current for 16 months, and that this support > > > would not be a simple grab a couple driver files and build > > > it on 11.1. > > > > > > The commit to add this support involves 46 files, which 18 > > > of are new files. > > > > > > My feelings are if this driver has been in -current for > > > 16 months why is it NOT in -stable yet?? I know part of > > > the answer "its not a simple merge".? But as a project > > > this is egg on our face.? We can merge a new very complicated > > > change to a our boot code, within a few months (thank you > > > kevans for that work), but we can not merge back a > > > device driver in 16? > > > > > > > I had the same questions- this exact same person had hopped over to > > #freebsd-wifi and I had walked through this same process, identifying > > it as "not MFC-able" at this point because so many commits having been > > left un-merged prior to it. I've already recently gone through the fun > > of catching up on one and a half years worth of unmerged work in > > stand, I'm not really prepared to do it again quite yet. > > > > It felt pretty bad having to tell him that his only option here was to > > either hop on -CURRENT + rtwn(4) or grab a stable/11 supported NIC- > > especially since stable/11 is still supposed to be supported for > > another three (3!) years, and I had to leave before I could help him > > walk through getting it setup on -CURRENT properly > > > > > > one has to wonder why 12.0 is so far in the future.... > > My thoughts precisely.? If there is so much interesting content in head, > it's time for a release. A release of 12.0 would not remove the demands from those running 11.x to have driver support for FOO. It would simply give us the ability to answer with "update to 12", while this would be a valid answer, it is one I see as lack luster which often drives people to other platforms. And as someone else pointed out, 11 has 3 years of life left. -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-stable@freebsd.org Fri Mar 9 17:50:05 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C7CD5F3D715 for ; Fri, 9 Mar 2018 17:50:05 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4D67383748 for ; Fri, 9 Mar 2018 17:50:05 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 2e18d6ce-23c2-11e8-b951-f99fef315fd9 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [67.177.211.60]) by outbound2.ore.mailhop.org (Halon) with ESMTPSA id 2e18d6ce-23c2-11e8-b951-f99fef315fd9; Fri, 09 Mar 2018 17:49:14 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id w29Ho29F008236; Fri, 9 Mar 2018 10:50:02 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1520617802.84937.26.camel@freebsd.org> Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 From: Ian Lepore To: Alexey Dokuchaev , Eitan Adler Cc: John Baldwin , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Date: Fri, 09 Mar 2018 10:50:02 -0700 In-Reply-To: <20180309110240.GA77718@FreeBSD.org> References: <201803050754.w257swAE001435@repo.freebsd.org> <6465173.s2nWvWCLOs@ralph.baldwin.cx> <8377086.JrIgVVMXMv@ralph.baldwin.cx> <20180309110240.GA77718@FreeBSD.org> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 17:50:06 -0000 On Fri, 2018-03-09 at 11:02 +0000, Alexey Dokuchaev wrote: > On Wed, Mar 07, 2018 at 02:53:49PM -0800, Eitan Adler wrote: > > > > On 7 March 2018 at 09:37, John Baldwin wrote: > > > > > > ... > > > I suspect many of these changes for iwm, etc. are all intertwined > > > so I'm not sure if you can leave out individual ones. > > Possibly. I do have iwm working on my laptop though. I also know of > > one open PR assigned to me w.r.t. a model I don't own. I'll be > > addressing it some time this week. > I often have mixed feelings when I see lots of similar changes (i.e. > that make up for better hardware support, esp. on a laptop) MFCed. > I'd rather see laptop users run -CURRENT and leave -STABLE branches > for very conservative (server?) users who can't/don't want to afford > the risks of running -CURRENT or require ABI stability in a really > long run, rather than binge-merging things. :-) > > By default it should be -CURRENT all over; it's a very good thing > that we as a Project ourselves are doing this as part of our own > dogfood eating strategy. > > ./danfe > Some of us have to use our freebsd machines to earn a living, and we can't afford the time and resources to set our jobs aside and debug our working machines on a daily basis.  We have the same right to use an up to date and stable OS as "very conservative server users". Discouraging MFCs because your opinion is that everyone should run current is, not to put too fine a point on it, 'totally f'ing crazy'. -- Ian From owner-svn-src-stable@freebsd.org Fri Mar 9 17:59:23 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 01AF6F3E55C; Fri, 9 Mar 2018 17:59:23 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 977E684228; Fri, 9 Mar 2018 17:59:22 +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 92604225EA; Fri, 9 Mar 2018 17:59:22 +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 w29HxM15018214; Fri, 9 Mar 2018 17:59:22 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w29HxM9K018213; Fri, 9 Mar 2018 17:59:22 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201803091759.w29HxM9K018213@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 9 Mar 2018 17:59:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330700 - stable/10/sys/fs/tmpfs X-SVN-Group: stable-10 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/10/sys/fs/tmpfs X-SVN-Commit-Revision: 330700 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 17:59:23 -0000 Author: emaste Date: Fri Mar 9 17:59:22 2018 New Revision: 330700 URL: https://svnweb.freebsd.org/changeset/base/330700 Log: MFC r285885 by brueffer: In tmpfs_chtimes(), remove checks on the nanosecond level when determining whether a node changed. Other filesystems, e.g., UFS, only check on seconds, when determining whether something changed. This also corrects the birthtime case, where we checked tv_nsec twice, instead of tv_sec and tv_nsec (PR). PR: 201284 Modified: stable/10/sys/fs/tmpfs/tmpfs_subr.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- stable/10/sys/fs/tmpfs/tmpfs_subr.c Fri Mar 9 17:54:14 2018 (r330699) +++ stable/10/sys/fs/tmpfs/tmpfs_subr.c Fri Mar 9 17:59:22 2018 (r330700) @@ -1740,20 +1740,18 @@ tmpfs_chtimes(struct vnode *vp, struct vattr *vap, if (error != 0) return (error); - if (vap->va_atime.tv_sec != VNOVAL && vap->va_atime.tv_nsec != VNOVAL) + if (vap->va_atime.tv_sec != VNOVAL) node->tn_status |= TMPFS_NODE_ACCESSED; - if (vap->va_mtime.tv_sec != VNOVAL && vap->va_mtime.tv_nsec != VNOVAL) + if (vap->va_mtime.tv_sec != VNOVAL) node->tn_status |= TMPFS_NODE_MODIFIED; - if (vap->va_birthtime.tv_nsec != VNOVAL && - vap->va_birthtime.tv_nsec != VNOVAL) + if (vap->va_birthtime.tv_sec != VNOVAL) node->tn_status |= TMPFS_NODE_MODIFIED; tmpfs_itimes(vp, &vap->va_atime, &vap->va_mtime); - if (vap->va_birthtime.tv_nsec != VNOVAL && - vap->va_birthtime.tv_nsec != VNOVAL) + if (vap->va_birthtime.tv_sec != VNOVAL) node->tn_birthtime = vap->va_birthtime; ASSERT_VOP_ELOCKED(vp, "chtimes2"); From owner-svn-src-stable@freebsd.org Fri Mar 9 19:39:09 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2764EF45BFE; Fri, 9 Mar 2018 19:39:09 +0000 (UTC) (envelope-from tychon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CC11368AD8; Fri, 9 Mar 2018 19:39:08 +0000 (UTC) (envelope-from tychon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C2AE7235B4; Fri, 9 Mar 2018 19:39:08 +0000 (UTC) (envelope-from tychon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w29Jd8aB069304; Fri, 9 Mar 2018 19:39:08 GMT (envelope-from tychon@FreeBSD.org) Received: (from tychon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w29Jd8lV069300; Fri, 9 Mar 2018 19:39:08 GMT (envelope-from tychon@FreeBSD.org) Message-Id: <201803091939.w29Jd8lV069300@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tychon set sender to tychon@FreeBSD.org using -f From: Tycho Nightingale Date: Fri, 9 Mar 2018 19:39:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330704 - in stable/11/sys/amd64/vmm: amd intel X-SVN-Group: stable-11 X-SVN-Commit-Author: tychon X-SVN-Commit-Paths: in stable/11/sys/amd64/vmm: amd intel X-SVN-Commit-Revision: 330704 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 19:39:09 -0000 Author: tychon Date: Fri Mar 9 19:39:08 2018 New Revision: 330704 URL: https://svnweb.freebsd.org/changeset/base/330704 Log: MFC r328011,329162 r328011: Provide some mitigation against CVE-2017-5715 by clearing registers upon returning from the guest which aren't immediately clobbered by the host. This eradicates any remaining guest contents limiting their usefulness in an exploit gadget. r329162: Provide further mitigation against CVE-2017-5715 by flushing the return stack buffer (RSB) upon returning from the guest. Modified: stable/11/sys/amd64/vmm/amd/svm_support.S stable/11/sys/amd64/vmm/intel/vmcs.c stable/11/sys/amd64/vmm/intel/vmx.h stable/11/sys/amd64/vmm/intel/vmx_support.S Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/vmm/amd/svm_support.S ============================================================================== --- stable/11/sys/amd64/vmm/amd/svm_support.S Fri Mar 9 19:04:06 2018 (r330703) +++ stable/11/sys/amd64/vmm/amd/svm_support.S Fri Mar 9 19:39:08 2018 (r330704) @@ -113,6 +113,23 @@ ENTRY(svm_launch) movq %rdi, SCTX_RDI(%rax) movq %rsi, SCTX_RSI(%rax) + /* + * To prevent malicious branch target predictions from + * affecting the host, overwrite all entries in the RSB upon + * exiting a guest. + */ + mov $16, %ecx /* 16 iterations, two calls per loop */ + mov %rsp, %rax +0: call 2f /* create an RSB entry. */ +1: pause + call 1b /* capture rogue speculation. */ +2: call 2f /* create an RSB entry. */ +1: pause + call 1b /* capture rogue speculation. */ +2: sub $1, %ecx + jnz 0b + mov %rax, %rsp + /* Restore host state */ pop %r15 pop %r14 @@ -124,8 +141,20 @@ ENTRY(svm_launch) pop %rdx mov %edx, %eax shr $32, %rdx - mov $MSR_GSBASE, %ecx + mov $MSR_GSBASE, %rcx wrmsr + + /* + * Clobber the remaining registers with guest contents so they + * can't be misused. + */ + xor %rbp, %rbp + xor %rdi, %rdi + xor %rsi, %rsi + xor %r8, %r8 + xor %r9, %r9 + xor %r10, %r10 + xor %r11, %r11 VLEAVE ret Modified: stable/11/sys/amd64/vmm/intel/vmcs.c ============================================================================== --- stable/11/sys/amd64/vmm/intel/vmcs.c Fri Mar 9 19:04:06 2018 (r330703) +++ stable/11/sys/amd64/vmm/intel/vmcs.c Fri Mar 9 19:39:08 2018 (r330704) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include @@ -50,6 +51,12 @@ __FBSDID("$FreeBSD$"); #include #endif +SYSCTL_DECL(_hw_vmm_vmx); + +static int no_flush_rsb; +SYSCTL_INT(_hw_vmm_vmx, OID_AUTO, no_flush_rsb, CTLFLAG_RW, + &no_flush_rsb, 0, "Do not flush RSB upon vmexit"); + static uint64_t vmcs_fix_regval(uint32_t encoding, uint64_t val) { @@ -401,8 +408,15 @@ vmcs_init(struct vmcs *vmcs) goto done; /* instruction pointer */ - if ((error = vmwrite(VMCS_HOST_RIP, (u_long)vmx_exit_guest)) != 0) - goto done; + if (no_flush_rsb) { + if ((error = vmwrite(VMCS_HOST_RIP, + (u_long)vmx_exit_guest)) != 0) + goto done; + } else { + if ((error = vmwrite(VMCS_HOST_RIP, + (u_long)vmx_exit_guest_flush_rsb)) != 0) + goto done; + } /* link pointer */ if ((error = vmwrite(VMCS_LINK_POINTER, ~0)) != 0) Modified: stable/11/sys/amd64/vmm/intel/vmx.h ============================================================================== --- stable/11/sys/amd64/vmm/intel/vmx.h Fri Mar 9 19:04:06 2018 (r330703) +++ stable/11/sys/amd64/vmm/intel/vmx.h Fri Mar 9 19:39:08 2018 (r330704) @@ -148,5 +148,6 @@ u_long vmx_fix_cr4(u_long cr4); int vmx_set_tsc_offset(struct vmx *vmx, int vcpu, uint64_t offset); extern char vmx_exit_guest[]; +extern char vmx_exit_guest_flush_rsb[]; #endif Modified: stable/11/sys/amd64/vmm/intel/vmx_support.S ============================================================================== --- stable/11/sys/amd64/vmm/intel/vmx_support.S Fri Mar 9 19:04:06 2018 (r330703) +++ stable/11/sys/amd64/vmm/intel/vmx_support.S Fri Mar 9 19:39:08 2018 (r330704) @@ -42,6 +42,29 @@ #define VLEAVE pop %rbp /* + * Save the guest context. + */ +#define VMX_GUEST_SAVE \ + movq %rdi,VMXCTX_GUEST_RDI(%rsp); \ + movq %rsi,VMXCTX_GUEST_RSI(%rsp); \ + movq %rdx,VMXCTX_GUEST_RDX(%rsp); \ + movq %rcx,VMXCTX_GUEST_RCX(%rsp); \ + movq %r8,VMXCTX_GUEST_R8(%rsp); \ + movq %r9,VMXCTX_GUEST_R9(%rsp); \ + movq %rax,VMXCTX_GUEST_RAX(%rsp); \ + movq %rbx,VMXCTX_GUEST_RBX(%rsp); \ + movq %rbp,VMXCTX_GUEST_RBP(%rsp); \ + movq %r10,VMXCTX_GUEST_R10(%rsp); \ + movq %r11,VMXCTX_GUEST_R11(%rsp); \ + movq %r12,VMXCTX_GUEST_R12(%rsp); \ + movq %r13,VMXCTX_GUEST_R13(%rsp); \ + movq %r14,VMXCTX_GUEST_R14(%rsp); \ + movq %r15,VMXCTX_GUEST_R15(%rsp); \ + movq %cr2,%rdi; \ + movq %rdi,VMXCTX_GUEST_CR2(%rsp); \ + movq %rsp,%rdi; + +/* * Assumes that %rdi holds a pointer to the 'vmxctx'. * * On "return" all registers are updated to reflect guest state. The two @@ -72,6 +95,20 @@ movq VMXCTX_GUEST_RDI(%rdi),%rdi; /* restore rdi the last */ /* + * Clobber the remaining registers with guest contents so they can't + * be misused. + */ +#define VMX_GUEST_CLOBBER \ + xor %rax, %rax; \ + xor %rcx, %rcx; \ + xor %rdx, %rdx; \ + xor %rsi, %rsi; \ + xor %r8, %r8; \ + xor %r9, %r9; \ + xor %r10, %r10; \ + xor %r11, %r11; + +/* * Save and restore the host context. * * Assumes that %rdi holds a pointer to the 'vmxctx'. @@ -197,33 +234,57 @@ inst_error: * The VMCS-restored %rsp points to the struct vmxctx */ ALIGN_TEXT - .globl vmx_exit_guest -vmx_exit_guest: + .globl vmx_exit_guest_flush_rsb +vmx_exit_guest_flush_rsb: /* * Save guest state that is not automatically saved in the vmcs. */ - movq %rdi,VMXCTX_GUEST_RDI(%rsp) - movq %rsi,VMXCTX_GUEST_RSI(%rsp) - movq %rdx,VMXCTX_GUEST_RDX(%rsp) - movq %rcx,VMXCTX_GUEST_RCX(%rsp) - movq %r8,VMXCTX_GUEST_R8(%rsp) - movq %r9,VMXCTX_GUEST_R9(%rsp) - movq %rax,VMXCTX_GUEST_RAX(%rsp) - movq %rbx,VMXCTX_GUEST_RBX(%rsp) - movq %rbp,VMXCTX_GUEST_RBP(%rsp) - movq %r10,VMXCTX_GUEST_R10(%rsp) - movq %r11,VMXCTX_GUEST_R11(%rsp) - movq %r12,VMXCTX_GUEST_R12(%rsp) - movq %r13,VMXCTX_GUEST_R13(%rsp) - movq %r14,VMXCTX_GUEST_R14(%rsp) - movq %r15,VMXCTX_GUEST_R15(%rsp) + VMX_GUEST_SAVE - movq %cr2,%rdi - movq %rdi,VMXCTX_GUEST_CR2(%rsp) + /* + * Deactivate guest pmap from this cpu. + */ + movq VMXCTX_PMAP(%rdi), %r11 + movl PCPU(CPUID), %r10d + LK btrl %r10d, PM_ACTIVE(%r11) - movq %rsp,%rdi + VMX_HOST_RESTORE + VMX_GUEST_CLOBBER + /* + * To prevent malicious branch target predictions from + * affecting the host, overwrite all entries in the RSB upon + * exiting a guest. + */ + mov $16, %ecx /* 16 iterations, two calls per loop */ + mov %rsp, %rax +0: call 2f /* create an RSB entry. */ +1: pause + call 1b /* capture rogue speculation. */ +2: call 2f /* create an RSB entry. */ +1: pause + call 1b /* capture rogue speculation. */ +2: sub $1, %ecx + jnz 0b + mov %rax, %rsp + + /* + * This will return to the caller of 'vmx_enter_guest()' with a return + * value of VMX_GUEST_VMEXIT. + */ + movl $VMX_GUEST_VMEXIT, %eax + VLEAVE + ret + + .globl vmx_exit_guest +vmx_exit_guest: + /* + * Save guest state that is not automatically saved in the vmcs. + */ + VMX_GUEST_SAVE + + /* * Deactivate guest pmap from this cpu. */ movq VMXCTX_PMAP(%rdi), %r11 @@ -231,6 +292,8 @@ vmx_exit_guest: LK btrl %r10d, PM_ACTIVE(%r11) VMX_HOST_RESTORE + + VMX_GUEST_CLOBBER /* * This will return to the caller of 'vmx_enter_guest()' with a return From owner-svn-src-stable@freebsd.org Sat Mar 10 00:44:34 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85BE9F35D2D; Sat, 10 Mar 2018 00:44:34 +0000 (UTC) (envelope-from tychon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 39A40764BF; Sat, 10 Mar 2018 00:44:34 +0000 (UTC) (envelope-from tychon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2FE9426657; Sat, 10 Mar 2018 00:44:34 +0000 (UTC) (envelope-from tychon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2A0iYR8028385; Sat, 10 Mar 2018 00:44:34 GMT (envelope-from tychon@FreeBSD.org) Received: (from tychon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A0iX9F028381; Sat, 10 Mar 2018 00:44:33 GMT (envelope-from tychon@FreeBSD.org) Message-Id: <201803100044.w2A0iX9F028381@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tychon set sender to tychon@FreeBSD.org using -f From: Tycho Nightingale Date: Sat, 10 Mar 2018 00:44:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330713 - in stable/10/sys/amd64/vmm: amd intel X-SVN-Group: stable-10 X-SVN-Commit-Author: tychon X-SVN-Commit-Paths: in stable/10/sys/amd64/vmm: amd intel X-SVN-Commit-Revision: 330713 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 00:44:34 -0000 Author: tychon Date: Sat Mar 10 00:44:33 2018 New Revision: 330713 URL: https://svnweb.freebsd.org/changeset/base/330713 Log: MFC r328011,329162 r328011: Provide some mitigation against CVE-2017-5715 by clearing registers upon returning from the guest which aren't immediately clobbered by the host. This eradicates any remaining guest contents limiting their usefulness in an exploit gadget. r329162: Provide further mitigation against CVE-2017-5715 by flushing the return stack buffer (RSB) upon returning from the guest. Modified: stable/10/sys/amd64/vmm/amd/svm_support.S stable/10/sys/amd64/vmm/intel/vmcs.c stable/10/sys/amd64/vmm/intel/vmx.h stable/10/sys/amd64/vmm/intel/vmx_support.S Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/amd64/vmm/amd/svm_support.S ============================================================================== --- stable/10/sys/amd64/vmm/amd/svm_support.S Sat Mar 10 00:10:47 2018 (r330712) +++ stable/10/sys/amd64/vmm/amd/svm_support.S Sat Mar 10 00:44:33 2018 (r330713) @@ -113,6 +113,23 @@ ENTRY(svm_launch) movq %rdi, SCTX_RDI(%rax) movq %rsi, SCTX_RSI(%rax) + /* + * To prevent malicious branch target predictions from + * affecting the host, overwrite all entries in the RSB upon + * exiting a guest. + */ + mov $16, %ecx /* 16 iterations, two calls per loop */ + mov %rsp, %rax +0: call 2f /* create an RSB entry. */ +1: pause + call 1b /* capture rogue speculation. */ +2: call 2f /* create an RSB entry. */ +1: pause + call 1b /* capture rogue speculation. */ +2: sub $1, %ecx + jnz 0b + mov %rax, %rsp + /* Restore host state */ pop %r15 pop %r14 @@ -124,8 +141,20 @@ ENTRY(svm_launch) pop %rdx mov %edx, %eax shr $32, %rdx - mov $MSR_GSBASE, %ecx + mov $MSR_GSBASE, %rcx wrmsr + + /* + * Clobber the remaining registers with guest contents so they + * can't be misused. + */ + xor %rbp, %rbp + xor %rdi, %rdi + xor %rsi, %rsi + xor %r8, %r8 + xor %r9, %r9 + xor %r10, %r10 + xor %r11, %r11 VLEAVE ret Modified: stable/10/sys/amd64/vmm/intel/vmcs.c ============================================================================== --- stable/10/sys/amd64/vmm/intel/vmcs.c Sat Mar 10 00:10:47 2018 (r330712) +++ stable/10/sys/amd64/vmm/intel/vmcs.c Sat Mar 10 00:44:33 2018 (r330713) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include @@ -50,6 +51,12 @@ __FBSDID("$FreeBSD$"); #include #endif +SYSCTL_DECL(_hw_vmm_vmx); + +static int no_flush_rsb; +SYSCTL_INT(_hw_vmm_vmx, OID_AUTO, no_flush_rsb, CTLFLAG_RW, + &no_flush_rsb, 0, "Do not flush RSB upon vmexit"); + static uint64_t vmcs_fix_regval(uint32_t encoding, uint64_t val) { @@ -401,8 +408,15 @@ vmcs_init(struct vmcs *vmcs) goto done; /* instruction pointer */ - if ((error = vmwrite(VMCS_HOST_RIP, (u_long)vmx_exit_guest)) != 0) - goto done; + if (no_flush_rsb) { + if ((error = vmwrite(VMCS_HOST_RIP, + (u_long)vmx_exit_guest)) != 0) + goto done; + } else { + if ((error = vmwrite(VMCS_HOST_RIP, + (u_long)vmx_exit_guest_flush_rsb)) != 0) + goto done; + } /* link pointer */ if ((error = vmwrite(VMCS_LINK_POINTER, ~0)) != 0) Modified: stable/10/sys/amd64/vmm/intel/vmx.h ============================================================================== --- stable/10/sys/amd64/vmm/intel/vmx.h Sat Mar 10 00:10:47 2018 (r330712) +++ stable/10/sys/amd64/vmm/intel/vmx.h Sat Mar 10 00:44:33 2018 (r330713) @@ -138,5 +138,6 @@ u_long vmx_fix_cr4(u_long cr4); int vmx_set_tsc_offset(struct vmx *vmx, int vcpu, uint64_t offset); extern char vmx_exit_guest[]; +extern char vmx_exit_guest_flush_rsb[]; #endif Modified: stable/10/sys/amd64/vmm/intel/vmx_support.S ============================================================================== --- stable/10/sys/amd64/vmm/intel/vmx_support.S Sat Mar 10 00:10:47 2018 (r330712) +++ stable/10/sys/amd64/vmm/intel/vmx_support.S Sat Mar 10 00:44:33 2018 (r330713) @@ -42,6 +42,29 @@ #define VLEAVE pop %rbp /* + * Save the guest context. + */ +#define VMX_GUEST_SAVE \ + movq %rdi,VMXCTX_GUEST_RDI(%rsp); \ + movq %rsi,VMXCTX_GUEST_RSI(%rsp); \ + movq %rdx,VMXCTX_GUEST_RDX(%rsp); \ + movq %rcx,VMXCTX_GUEST_RCX(%rsp); \ + movq %r8,VMXCTX_GUEST_R8(%rsp); \ + movq %r9,VMXCTX_GUEST_R9(%rsp); \ + movq %rax,VMXCTX_GUEST_RAX(%rsp); \ + movq %rbx,VMXCTX_GUEST_RBX(%rsp); \ + movq %rbp,VMXCTX_GUEST_RBP(%rsp); \ + movq %r10,VMXCTX_GUEST_R10(%rsp); \ + movq %r11,VMXCTX_GUEST_R11(%rsp); \ + movq %r12,VMXCTX_GUEST_R12(%rsp); \ + movq %r13,VMXCTX_GUEST_R13(%rsp); \ + movq %r14,VMXCTX_GUEST_R14(%rsp); \ + movq %r15,VMXCTX_GUEST_R15(%rsp); \ + movq %cr2,%rdi; \ + movq %rdi,VMXCTX_GUEST_CR2(%rsp); \ + movq %rsp,%rdi; + +/* * Assumes that %rdi holds a pointer to the 'vmxctx'. * * On "return" all registers are updated to reflect guest state. The two @@ -72,6 +95,20 @@ movq VMXCTX_GUEST_RDI(%rdi),%rdi; /* restore rdi the last */ /* + * Clobber the remaining registers with guest contents so they can't + * be misused. + */ +#define VMX_GUEST_CLOBBER \ + xor %rax, %rax; \ + xor %rcx, %rcx; \ + xor %rdx, %rdx; \ + xor %rsi, %rsi; \ + xor %r8, %r8; \ + xor %r9, %r9; \ + xor %r10, %r10; \ + xor %r11, %r11; + +/* * Save and restore the host context. * * Assumes that %rdi holds a pointer to the 'vmxctx'. @@ -197,33 +234,57 @@ inst_error: * The VMCS-restored %rsp points to the struct vmxctx */ ALIGN_TEXT - .globl vmx_exit_guest -vmx_exit_guest: + .globl vmx_exit_guest_flush_rsb +vmx_exit_guest_flush_rsb: /* * Save guest state that is not automatically saved in the vmcs. */ - movq %rdi,VMXCTX_GUEST_RDI(%rsp) - movq %rsi,VMXCTX_GUEST_RSI(%rsp) - movq %rdx,VMXCTX_GUEST_RDX(%rsp) - movq %rcx,VMXCTX_GUEST_RCX(%rsp) - movq %r8,VMXCTX_GUEST_R8(%rsp) - movq %r9,VMXCTX_GUEST_R9(%rsp) - movq %rax,VMXCTX_GUEST_RAX(%rsp) - movq %rbx,VMXCTX_GUEST_RBX(%rsp) - movq %rbp,VMXCTX_GUEST_RBP(%rsp) - movq %r10,VMXCTX_GUEST_R10(%rsp) - movq %r11,VMXCTX_GUEST_R11(%rsp) - movq %r12,VMXCTX_GUEST_R12(%rsp) - movq %r13,VMXCTX_GUEST_R13(%rsp) - movq %r14,VMXCTX_GUEST_R14(%rsp) - movq %r15,VMXCTX_GUEST_R15(%rsp) + VMX_GUEST_SAVE - movq %cr2,%rdi - movq %rdi,VMXCTX_GUEST_CR2(%rsp) + /* + * Deactivate guest pmap from this cpu. + */ + movq VMXCTX_PMAP(%rdi), %r11 + movl PCPU(CPUID), %r10d + LK btrl %r10d, PM_ACTIVE(%r11) - movq %rsp,%rdi + VMX_HOST_RESTORE + VMX_GUEST_CLOBBER + /* + * To prevent malicious branch target predictions from + * affecting the host, overwrite all entries in the RSB upon + * exiting a guest. + */ + mov $16, %ecx /* 16 iterations, two calls per loop */ + mov %rsp, %rax +0: call 2f /* create an RSB entry. */ +1: pause + call 1b /* capture rogue speculation. */ +2: call 2f /* create an RSB entry. */ +1: pause + call 1b /* capture rogue speculation. */ +2: sub $1, %ecx + jnz 0b + mov %rax, %rsp + + /* + * This will return to the caller of 'vmx_enter_guest()' with a return + * value of VMX_GUEST_VMEXIT. + */ + movl $VMX_GUEST_VMEXIT, %eax + VLEAVE + ret + + .globl vmx_exit_guest +vmx_exit_guest: + /* + * Save guest state that is not automatically saved in the vmcs. + */ + VMX_GUEST_SAVE + + /* * Deactivate guest pmap from this cpu. */ movq VMXCTX_PMAP(%rdi), %r11 @@ -231,6 +292,8 @@ vmx_exit_guest: LK btrl %r10d, PM_ACTIVE(%r11) VMX_HOST_RESTORE + + VMX_GUEST_CLOBBER /* * This will return to the caller of 'vmx_enter_guest()' with a return From owner-svn-src-stable@freebsd.org Sat Mar 10 02:15:47 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C74F9F3E2CE; Sat, 10 Mar 2018 02:15:47 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6EAE37B812; Sat, 10 Mar 2018 02:15:47 +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 689D5275B4; Sat, 10 Mar 2018 02:15:47 +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 w2A2Fl0e074065; Sat, 10 Mar 2018 02:15:47 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A2FkqY074051; Sat, 10 Mar 2018 02:15:46 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100215.w2A2FkqY074051@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 02:15:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330726 - in stable/11: sbin/geom/class/cache sbin/geom/class/concat sbin/geom/class/journal sbin/geom/class/label sbin/geom/class/mirror sbin/geom/class/raid3 sbin/geom/class/shsec sbi... X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in stable/11: sbin/geom/class/cache sbin/geom/class/concat sbin/geom/class/journal sbin/geom/class/label sbin/geom/class/mirror sbin/geom/class/raid3 sbin/geom/class/shsec sbin/geom/class/stripe sbin/... X-SVN-Commit-Revision: 330726 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 02:15:48 -0000 Author: asomers Date: Sat Mar 10 02:15:45 2018 New Revision: 330726 URL: https://svnweb.freebsd.org/changeset/base/330726 Log: MFC r323314, r323338, r328849 r323314: Audit userspace geom code for leaking memory to disk Any geom class using g_metadata_store, as well as geom_virstor which duplicated g_metadata_store internally, would dump sectorsize - mdsize bytes of userspace memory following the metadata block stored. This is most or all geom classes (gcache, gconcat, geli, gjournal, glabel, gmirror, gmultipath, graid3, gshsec, gstripe, and geom_virstor). PR: 222077 (comment #3) Reported by: Maxim Khitrov Reviewed by: des Security: yes Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12269 r323338: Fix information leak in geli(8) integrity mode In integrity mode, a larger logical sector (e.g., 4096 bytes) spans several physical sectors (e.g., 512 bytes) on the backing device. Due to hash overhead, a 4096 byte logical sector takes 8.5625 512-byte physical sectors. This means that only 288 bytes (256 data + 32 hash) of the last 512 byte sector are used. The memory allocation used to store the encrypted data to be written to the physical sectors comes from malloc(9) and does not use M_ZERO. Previously, nothing initialized the final physical sector backing each logical sector, aside from the hash + encrypted data portion. So 224 bytes of kernel heap memory was leaked to every block :-(. This patch addresses the issue by initializing the trailing portion of the physical sector in every logical sector to zeros before use. A much simpler but higher overhead fix would be to tag the entire allocation M_ZERO. PR: 222077 Reported by: Maxim Khitrov Reviewed by: emaste Security: yes Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12272 r328849: geom: don't write stack garbage in disk labels Most consumers of g_metadata_store were passing in partially unallocated memory, resulting in stack garbage being written to disk labels. Fix them by zeroing the memory first. gvirstor repeated the same mistake, but in the kernel. Also, glabel's label contained a fixed-size string that wasn't initialized to zero. PR: 222077 Reported by: Maxim Khitrov Reviewed by: cem X-MFC-With: 323314 X-MFC-With: 323338 Differential Revision: https://reviews.freebsd.org/D14164 Modified: stable/11/sbin/geom/class/cache/geom_cache.c stable/11/sbin/geom/class/concat/geom_concat.c stable/11/sbin/geom/class/journal/geom_journal.c stable/11/sbin/geom/class/label/geom_label.c stable/11/sbin/geom/class/mirror/geom_mirror.c stable/11/sbin/geom/class/raid3/geom_raid3.c stable/11/sbin/geom/class/shsec/geom_shsec.c stable/11/sbin/geom/class/stripe/geom_stripe.c stable/11/sbin/geom/class/virstor/geom_virstor.c stable/11/sbin/geom/misc/subr.c stable/11/sys/geom/eli/g_eli_integrity.c stable/11/sys/geom/virstor/g_virstor.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/geom/class/cache/geom_cache.c ============================================================================== --- stable/11/sbin/geom/class/cache/geom_cache.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/cache/geom_cache.c Sat Mar 10 02:15:45 2018 (r330726) @@ -137,6 +137,7 @@ cache_label(struct gctl_req *req) int error, nargs; intmax_t val; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs != 2) { gctl_error(req, "Invalid number of arguments."); Modified: stable/11/sbin/geom/class/concat/geom_concat.c ============================================================================== --- stable/11/sbin/geom/class/concat/geom_concat.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/concat/geom_concat.c Sat Mar 10 02:15:45 2018 (r330726) @@ -119,6 +119,7 @@ concat_label(struct gctl_req *req) const char *name; int error, i, hardcode, nargs; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs < 2) { gctl_error(req, "Too few arguments."); Modified: stable/11/sbin/geom/class/journal/geom_journal.c ============================================================================== --- stable/11/sbin/geom/class/journal/geom_journal.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/journal/geom_journal.c Sat Mar 10 02:15:45 2018 (r330726) @@ -144,6 +144,7 @@ journal_label(struct gctl_req *req) intmax_t jsize, msize, ssize; int error, force, i, nargs, checksum, hardcode; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); str = NULL; /* gcc */ Modified: stable/11/sbin/geom/class/label/geom_label.c ============================================================================== --- stable/11/sbin/geom/class/label/geom_label.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/label/geom_label.c Sat Mar 10 02:15:45 2018 (r330726) @@ -125,6 +125,7 @@ label_label(struct gctl_req *req) u_char sector[512]; int error, nargs; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs != 2) { gctl_error(req, "Invalid number of arguments."); @@ -145,6 +146,7 @@ label_label(struct gctl_req *req) strlcpy(md.md_magic, G_LABEL_MAGIC, sizeof(md.md_magic)); md.md_version = G_LABEL_VERSION; label = gctl_get_ascii(req, "arg0"); + bzero(md.md_label, sizeof(md.md_label)); strlcpy(md.md_label, label, sizeof(md.md_label)); md.md_provsize = g_get_mediasize(name); if (md.md_provsize == 0) { Modified: stable/11/sbin/geom/class/mirror/geom_mirror.c ============================================================================== --- stable/11/sbin/geom/class/mirror/geom_mirror.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/mirror/geom_mirror.c Sat Mar 10 02:15:45 2018 (r330726) @@ -188,6 +188,7 @@ mirror_label(struct gctl_req *req) intmax_t val; int error, i, nargs, bal, hardcode; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs < 2) { gctl_error(req, "Too few arguments."); Modified: stable/11/sbin/geom/class/raid3/geom_raid3.c ============================================================================== --- stable/11/sbin/geom/class/raid3/geom_raid3.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/raid3/geom_raid3.c Sat Mar 10 02:15:45 2018 (r330726) @@ -151,6 +151,7 @@ raid3_label(struct gctl_req *req) int hardcode, round_robin, verify; int error, i, nargs; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs < 4) { gctl_error(req, "Too few arguments."); Modified: stable/11/sbin/geom/class/shsec/geom_shsec.c ============================================================================== --- stable/11/sbin/geom/class/shsec/geom_shsec.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/shsec/geom_shsec.c Sat Mar 10 02:15:45 2018 (r330726) @@ -112,6 +112,7 @@ shsec_label(struct gctl_req *req) const char *name; int error, i, nargs, hardcode; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs <= 2) { gctl_error(req, "Too few arguments."); Modified: stable/11/sbin/geom/class/stripe/geom_stripe.c ============================================================================== --- stable/11/sbin/geom/class/stripe/geom_stripe.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/stripe/geom_stripe.c Sat Mar 10 02:15:45 2018 (r330726) @@ -130,6 +130,7 @@ stripe_label(struct gctl_req *req) const char *name; int error, i, nargs, hardcode; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs < 3) { gctl_error(req, "Too few arguments."); Modified: stable/11/sbin/geom/class/virstor/geom_virstor.c ============================================================================== --- stable/11/sbin/geom/class/virstor/geom_virstor.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/class/virstor/geom_virstor.c Sat Mar 10 02:15:45 2018 (r330726) @@ -185,6 +185,7 @@ my_g_metadata_store(const char *name, u_char *md, size goto out; } bcopy(md, sector, size); + bzero(sector + size, sectorsize - size); if (pwrite(fd, sector, sectorsize, mediasize - sectorsize) != (ssize_t)sectorsize) { error = errno; Modified: stable/11/sbin/geom/misc/subr.c ============================================================================== --- stable/11/sbin/geom/misc/subr.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sbin/geom/misc/subr.c Sat Mar 10 02:15:45 2018 (r330726) @@ -273,6 +273,13 @@ out: return (error); } +/* + * Actually write the GEOM label to the provider + * + * @param name GEOM provider's name (ie "ada0") + * @param md Pointer to the label data to write + * @param size Size of the data pointed to by md + */ int g_metadata_store(const char *name, const unsigned char *md, size_t size) { @@ -304,6 +311,7 @@ g_metadata_store(const char *name, const unsigned char goto out; } bcopy(md, sector, size); + bzero(sector + size, sectorsize - size); if (pwrite(fd, sector, sectorsize, mediasize - sectorsize) != sectorsize) { error = errno; Modified: stable/11/sys/geom/eli/g_eli_integrity.c ============================================================================== --- stable/11/sys/geom/eli/g_eli_integrity.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sys/geom/eli/g_eli_integrity.c Sat Mar 10 02:15:45 2018 (r330726) @@ -458,8 +458,16 @@ g_eli_auth_run(struct g_eli_worker *wr, struct bio *bp authkey = (u_char *)p; p += G_ELI_AUTH_SECKEYLEN; data_secsize = sc->sc_data_per_sector; - if ((i % lsec) == 0) + if ((i % lsec) == 0) { data_secsize = decr_secsize % data_secsize; + /* + * Last encrypted sector of each decrypted sector is + * only partially filled. + */ + if (bp->bio_cmd == BIO_WRITE) + memset(data + sc->sc_alen + data_secsize, 0, + encr_secsize - sc->sc_alen - data_secsize); + } if (bp->bio_cmd == BIO_READ) { /* Remember read HMAC. */ Modified: stable/11/sys/geom/virstor/g_virstor.c ============================================================================== --- stable/11/sys/geom/virstor/g_virstor.c Sat Mar 10 02:13:48 2018 (r330725) +++ stable/11/sys/geom/virstor/g_virstor.c Sat Mar 10 02:15:45 2018 (r330726) @@ -1040,6 +1040,7 @@ write_metadata(struct g_consumer *cp, struct g_virstor pp = cp->provider; buf = malloc(pp->sectorsize, M_GVIRSTOR, M_WAITOK); + bzero(buf, pp->sectorsize); virstor_metadata_encode(md, buf); g_topology_unlock(); error = g_write_data(cp, pp->mediasize - pp->sectorsize, buf, From owner-svn-src-stable@freebsd.org Sat Mar 10 03:04:49 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8223DF42AAD; Sat, 10 Mar 2018 03:04:49 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2CA087DE8E; Sat, 10 Mar 2018 03:04:49 +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 2783627EA5; Sat, 10 Mar 2018 03:04:49 +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 w2A34nd9099953; Sat, 10 Mar 2018 03:04:49 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A34nm0099952; Sat, 10 Mar 2018 03:04:49 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100304.w2A34nm0099952@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 03:04:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330728 - stable/11/cddl/contrib/opensolaris/cmd/zpool X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/11/cddl/contrib/opensolaris/cmd/zpool X-SVN-Commit-Revision: 330728 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 03:04:49 -0000 Author: asomers Date: Sat Mar 10 03:04:48 2018 New Revision: 330728 URL: https://svnweb.freebsd.org/changeset/base/330728 Log: MFC r329067: Fix "zpool add" crash when a replacing vdev has a spare child Fix an assertion in zpool that causes a crash when running any "zpool add" command on a spare that contains a replacing vdev with a spare child. This likely affects Illumos, too. PR: 225546 Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D14138 Modified: stable/11/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Directory Properties: stable/11/ (props changed) Modified: stable/11/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c ============================================================================== --- stable/11/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Sat Mar 10 02:49:58 2018 (r330727) +++ stable/11/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Sat Mar 10 03:04:48 2018 (r330728) @@ -688,6 +688,21 @@ get_replication(nvlist_t *nvroot, boolean_t fatal) verify(nvlist_lookup_string(cnv, ZPOOL_CONFIG_TYPE, &childtype) == 0); + if (strcmp(childtype, + VDEV_TYPE_SPARE) == 0) { + /* We have a replacing vdev with + * a spare child. Get the first + * real child of the spare + */ + verify( + nvlist_lookup_nvlist_array( + cnv, + ZPOOL_CONFIG_CHILDREN, + &rchild, + &rchildren) == 0); + assert(rchildren >= 2); + cnv = rchild[0]; + } } verify(nvlist_lookup_string(cnv, From owner-svn-src-stable@freebsd.org Sat Mar 10 03:06:56 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 167BCF42DDE; Sat, 10 Mar 2018 03:06:56 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id ACCC17E087; Sat, 10 Mar 2018 03:06:55 +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 A3F0327EAB; Sat, 10 Mar 2018 03:06:55 +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 w2A36tZM000193; Sat, 10 Mar 2018 03:06:55 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A36tdY000192; Sat, 10 Mar 2018 03:06:55 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100306.w2A36tdY000192@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 03:06:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330729 - in stable/11: contrib/netbsd-tests/lib/libc/sys tools/regression/sockets/socketpair X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in stable/11: contrib/netbsd-tests/lib/libc/sys tools/regression/sockets/socketpair X-SVN-Commit-Revision: 330729 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 03:06:56 -0000 Author: asomers Date: Sat Mar 10 03:06:55 2018 New Revision: 330729 URL: https://svnweb.freebsd.org/changeset/base/330729 Log: MFC r329108: Convert tools/regression/sockets/socketpair to ATF Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D14305 Deleted: stable/11/tools/regression/sockets/socketpair/ Modified: stable/11/contrib/netbsd-tests/lib/libc/sys/t_socketpair.c Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/netbsd-tests/lib/libc/sys/t_socketpair.c ============================================================================== --- stable/11/contrib/netbsd-tests/lib/libc/sys/t_socketpair.c Sat Mar 10 03:04:48 2018 (r330728) +++ stable/11/contrib/netbsd-tests/lib/libc/sys/t_socketpair.c Sat Mar 10 03:06:55 2018 (r330729) @@ -56,7 +56,7 @@ connected(int fd) } static void -run(int flags) +run(int domain, int type, int flags) { int fd[2], i; @@ -69,7 +69,7 @@ run(int flags) ATF_REQUIRE(closefrom(3) != -1); #endif - ATF_REQUIRE(socketpair(AF_UNIX, SOCK_DGRAM | flags, 0, fd) == 0); + ATF_REQUIRE(socketpair(domain, type | flags, 0, fd) == 0); ATF_REQUIRE(fd[0] == 3); ATF_REQUIRE(fd[1] == 4); @@ -97,6 +97,42 @@ run(int flags) ATF_REQUIRE(close(fd[1]) != -1); } +ATF_TC(inet); +ATF_TC_HEAD(inet, tc) +{ + atf_tc_set_md_var(tc, "descr", + "socketpair(2) does not work in the PF_INET domain"); +} + +ATF_TC_BODY(inet, tc) +{ + int fd[2]; + + ATF_REQUIRE_EQ(socketpair(PF_INET, SOCK_DGRAM, 0, fd), -1); + ATF_REQUIRE_EQ(EOPNOTSUPP, errno); + ATF_REQUIRE_EQ(socketpair(PF_INET, SOCK_STREAM, 0, fd), -1); + ATF_REQUIRE_EQ(EOPNOTSUPP, errno); +} + +ATF_TC(null_sv); +ATF_TC_HEAD(null_sv, tc) +{ + atf_tc_set_md_var(tc, "descr", + "socketpair(2) should fail without return storage"); +} + +ATF_TC_BODY(null_sv, tc) +{ + int fd; + + closefrom(3); + ATF_REQUIRE_EQ(socketpair(AF_UNIX, SOCK_DGRAM, 0, NULL), -1); + ATF_REQUIRE_EQ(EFAULT, errno); + fd = open("/", O_RDONLY); + ATF_REQUIRE_EQ_MSG(fd, 3, + "socketpair(..., NULL) allocated descriptors"); +} + ATF_TC(socketpair_basic); ATF_TC_HEAD(socketpair_basic, tc) { @@ -105,7 +141,7 @@ ATF_TC_HEAD(socketpair_basic, tc) ATF_TC_BODY(socketpair_basic, tc) { - run(0); + run(AF_UNIX, SOCK_DGRAM, 0); } ATF_TC(socketpair_nonblock); @@ -116,7 +152,7 @@ ATF_TC_HEAD(socketpair_nonblock, tc) ATF_TC_BODY(socketpair_nonblock, tc) { - run(SOCK_NONBLOCK); + run(AF_UNIX, SOCK_DGRAM, SOCK_NONBLOCK); } ATF_TC(socketpair_cloexec); @@ -127,15 +163,29 @@ ATF_TC_HEAD(socketpair_cloexec, tc) ATF_TC_BODY(socketpair_cloexec, tc) { - run(SOCK_CLOEXEC); + run(AF_UNIX, SOCK_DGRAM, SOCK_CLOEXEC); } +ATF_TC(socketpair_stream); +ATF_TC_HEAD(socketpair_stream, tc) +{ + atf_tc_set_md_var(tc, "descr", "A stream-oriented socketpair(2)"); +} + +ATF_TC_BODY(socketpair_stream, tc) +{ + run(AF_UNIX, SOCK_STREAM, 0); +} + ATF_TP_ADD_TCS(tp) { + ATF_TP_ADD_TC(tp, inet); + ATF_TP_ADD_TC(tp, null_sv); ATF_TP_ADD_TC(tp, socketpair_basic); ATF_TP_ADD_TC(tp, socketpair_nonblock); ATF_TP_ADD_TC(tp, socketpair_cloexec); + ATF_TP_ADD_TC(tp, socketpair_stream); return atf_no_error(); } From owner-svn-src-stable@freebsd.org Sat Mar 10 03:08:21 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4C1EF4303F; Sat, 10 Mar 2018 03:08:21 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDF77E274; Sat, 10 Mar 2018 03:08:21 +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 4702627EB2; Sat, 10 Mar 2018 03:08:21 +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 w2A38LR2000293; Sat, 10 Mar 2018 03:08:21 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A38LdK000292; Sat, 10 Mar 2018 03:08:21 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100308.w2A38LdK000292@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 03:08:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330730 - stable/11/sys/sys X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/11/sys/sys X-SVN-Commit-Revision: 330730 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 03:08:22 -0000 Author: asomers Date: Sat Mar 10 03:08:20 2018 New Revision: 330730 URL: https://svnweb.freebsd.org/changeset/base/330730 Log: MFC r329174: Fix a comment. No functional change. Sponsored by: Spectra Logic Corp Modified: stable/11/sys/sys/aio.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/sys/aio.h ============================================================================== --- stable/11/sys/sys/aio.h Sat Mar 10 03:06:55 2018 (r330729) +++ stable/11/sys/sys/aio.h Sat Mar 10 03:08:20 2018 (r330730) @@ -52,7 +52,7 @@ #define LIO_WAIT 0x1 /* - * Maximum number of allowed LIO operations + * Maximum number of operations in a single lio_listio call */ #define AIO_LISTIO_MAX 16 From owner-svn-src-stable@freebsd.org Sat Mar 10 03:15:45 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C6B37F43B5C; Sat, 10 Mar 2018 03:15:45 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7BBBB7E9A3; Sat, 10 Mar 2018 03:15:45 +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 769BB69; Sat, 10 Mar 2018 03:15:45 +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 w2A3Fj5X004985; Sat, 10 Mar 2018 03:15:45 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A3Fjl4004983; Sat, 10 Mar 2018 03:15:45 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100315.w2A3Fjl4004983@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 03:15:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330731 - in stable/11: contrib/netbsd-tests/kernel tests/sys/kern X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in stable/11: contrib/netbsd-tests/kernel tests/sys/kern X-SVN-Commit-Revision: 330731 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 03:15:46 -0000 Author: asomers Date: Sat Mar 10 03:15:44 2018 New Revision: 330731 URL: https://svnweb.freebsd.org/changeset/base/330731 Log: MFC r328896, r329236 r328896: Fix and enable SysV IPC tests. Don't declare some types that FreeBSD incorrectly declares. Fix an incorrect call to open() (missing mode). ANSIfy prototypes. Enable SysV message queue, semaphore, and shared memory tests. With exception of the workaround for union semun, these fixes have been committed to NetBSD. Reviewed by: asomers Approved by: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D13471 r329236: Fix Coverity CIDs in the sys/kern/sysv_test tests CID 979810: strcpy => strlcpy CID 1193367: don't leak a file descriptor CID 1299856: Check the return value of read(2) Reported by: Coverity Coverity CID: 978910 1193367 1299856 X-MFC-With: 328896 Sponsored by: Spectra Logic Corp Modified: stable/11/contrib/netbsd-tests/kernel/t_sysv.c stable/11/tests/sys/kern/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/netbsd-tests/kernel/t_sysv.c ============================================================================== --- stable/11/contrib/netbsd-tests/kernel/t_sysv.c Sat Mar 10 03:08:20 2018 (r330730) +++ stable/11/contrib/netbsd-tests/kernel/t_sysv.c Sat Mar 10 03:15:44 2018 (r330731) @@ -72,7 +72,7 @@ void sharer(void); #define MESSAGE_TEXT_LEN 256 -struct mymsg { +struct testmsg { long mtype; char mtext[MESSAGE_TEXT_LEN]; }; @@ -94,11 +94,13 @@ key_t msgkey, semkey, shmkey; int maxloop = 1; +#ifndef __FreeBSD__ union semun { int val; /* value for SETVAL */ struct semid_ds *buf; /* buffer for IPC_{STAT,SET} */ u_short *array; /* array for GETALL & SETALL */ }; +#endif /* Writes an integer to a file. To be used from the body of the test @@ -127,7 +129,8 @@ read_int(const char *path) return -1; else { int value; - read(input, &value, sizeof(value)); + ATF_REQUIRE_EQ(read(input, &value, sizeof(value)), sizeof(value)); + close(input); return value; } } @@ -174,7 +177,7 @@ key_t get_ftok(int id) /* Create the file, since ftok() requires it to exist! */ - fd = open(token_key, O_RDWR | O_CREAT | O_EXCL); + fd = open(token_key, O_RDWR | O_CREAT | O_EXCL, 0600); if (fd == -1) { rmdir(tmpdir); atf_tc_fail("open() of temp file failed: %d", errno); @@ -202,7 +205,7 @@ ATF_TC_BODY(msg, tc) { struct sigaction sa; struct msqid_ds m_ds; - struct mymsg m; + struct testmsg m; sigset_t sigmask; int sender_msqid; int loop; @@ -282,7 +285,7 @@ ATF_TC_BODY(msg, tc) * Send the first message to the receiver and wait for the ACK. */ m.mtype = MTYPE_1; - strcpy(m.mtext, m1_str); + strlcpy(m.mtext, m1_str, sizeof(m.mtext)); ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN, 0) != -1, "sender: msgsnd 1: %d", errno); @@ -296,7 +299,7 @@ ATF_TC_BODY(msg, tc) * Send the second message to the receiver and wait for the ACK. */ m.mtype = MTYPE_2; - strcpy(m.mtext, m2_str); + strlcpy(m.mtext, m2_str, sizeof(m.mtext)); ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN, 0) != -1, "sender: msgsnd 2: %d", errno); @@ -347,9 +350,7 @@ ATF_TC_CLEANUP(msg, tc) } void -print_msqid_ds(mp, mode) - struct msqid_ds *mp; - mode_t mode; +print_msqid_ds(struct msqid_ds *mp, mode_t mode) { uid_t uid = geteuid(); gid_t gid = getegid(); @@ -381,9 +382,9 @@ print_msqid_ds(mp, mode) } void -receiver() +receiver(void) { - struct mymsg m; + struct testmsg m; int msqid, loop; if ((msqid = msgget(msgkey, 0)) == -1) @@ -588,9 +589,7 @@ ATF_TC_CLEANUP(sem, tc) } void -print_semid_ds(sp, mode) - struct semid_ds *sp; - mode_t mode; +print_semid_ds(struct semid_ds *sp, mode_t mode) { uid_t uid = geteuid(); gid_t gid = getegid(); @@ -620,7 +619,7 @@ print_semid_ds(sp, mode) } void -waiter() +waiter(void) { struct sembuf s; int semid; @@ -789,9 +788,7 @@ ATF_TC_CLEANUP(shm, tc) } void -print_shmid_ds(sp, mode) - struct shmid_ds *sp; - mode_t mode; +print_shmid_ds(struct shmid_ds *sp, mode_t mode) { uid_t uid = geteuid(); gid_t gid = getegid(); @@ -823,7 +820,7 @@ print_shmid_ds(sp, mode) } void -sharer() +sharer(void) { int shmid; void *shm_buf; Modified: stable/11/tests/sys/kern/Makefile ============================================================================== --- stable/11/tests/sys/kern/Makefile Sat Mar 10 03:08:20 2018 (r330730) +++ stable/11/tests/sys/kern/Makefile Sat Mar 10 03:15:44 2018 (r330731) @@ -21,6 +21,7 @@ LIBADD.unix_seqpacket_test+= pthread NETBSD_ATF_TESTS_C+= lockf_test NETBSD_ATF_TESTS_C+= mqueue_test +NETBSD_ATF_TESTS_C+= sysv_test CFLAGS.mqueue_test+= -I${SRCTOP}/tests LIBADD.mqueue_test+= rt From owner-svn-src-stable@freebsd.org Sat Mar 10 03:25:00 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 427E4F44793; Sat, 10 Mar 2018 03:25:00 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E46567F050; Sat, 10 Mar 2018 03:24:59 +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 DF55723D; Sat, 10 Mar 2018 03:24:59 +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 w2A3OxXL010016; Sat, 10 Mar 2018 03:24:59 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A3Ox3I010015; Sat, 10 Mar 2018 03:24:59 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100324.w2A3Ox3I010015@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 03:24:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330732 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330732 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 03:25:00 -0000 Author: asomers Date: Sat Mar 10 03:24:59 2018 New Revision: 330732 URL: https://svnweb.freebsd.org/changeset/base/330732 Log: MFC r329265, r329384 r329265: Implement .vop_pathconf and .vop_getacl for the .zfs ctldir zfsctl_common_pathconf will report all the same variables that regular ZFS volumes report. zfsctl_common_getacl will report an ACL equivalent to 555, except that you can't read xattrs or edit attributes. Fixes a bug where "ls .zfs" will occasionally print something like: ls: .zfs/.: Operation not supported PR: 225793 Reviewed by: avg Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D14365 r329384: Handle generic pathconf attributes in the .zfs ctldir MFC instructions: change the value of _PC_LINK_MAX to INT_MAX Reported by: jhb X-MFC-With: 329265 Sponsored by: Spectra Logic Corp Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Sat Mar 10 03:15:44 2018 (r330731) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Sat Mar 10 03:24:59 2018 (r330732) @@ -80,6 +80,10 @@ #include "zfs_namecheck.h" +/* Common access mode for all virtual directories under the ctldir */ +const u_short zfsctl_ctldir_mode = S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | + S_IROTH | S_IXOTH; + /* * "Synthetic" filesystem implementation. */ @@ -496,8 +500,7 @@ zfsctl_common_getattr(vnode_t *vp, vattr_t *vap) vap->va_nblocks = 0; vap->va_seq = 0; vap->va_fsid = vp->v_mount->mnt_stat.f_fsid.val[0]; - vap->va_mode = S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | - S_IROTH | S_IXOTH; + vap->va_mode = zfsctl_ctldir_mode; vap->va_type = VDIR; /* * We live in the now (for atime). @@ -724,6 +727,91 @@ zfsctl_root_vptocnp(struct vop_vptocnp_args *ap) return (0); } +static int +zfsctl_common_pathconf(ap) + struct vop_pathconf_args /* { + struct vnode *a_vp; + int a_name; + int *a_retval; + } */ *ap; +{ + /* + * We care about ACL variables so that user land utilities like ls + * can display them correctly. Since the ctldir's st_dev is set to be + * the same as the parent dataset, we must support all variables that + * it supports. + */ + switch (ap->a_name) { + case _PC_LINK_MAX: + *ap->a_retval = INT_MAX; + return (0); + + case _PC_FILESIZEBITS: + *ap->a_retval = 64; + return (0); + + case _PC_MIN_HOLE_SIZE: + *ap->a_retval = (int)SPA_MINBLOCKSIZE; + return (0); + + case _PC_ACL_EXTENDED: + *ap->a_retval = 0; + return (0); + + case _PC_ACL_NFS4: + *ap->a_retval = 1; + return (0); + + case _PC_ACL_PATH_MAX: + *ap->a_retval = ACL_MAX_ENTRIES; + return (0); + + case _PC_NAME_MAX: + *ap->a_retval = NAME_MAX; + return (0); + + default: + return (vop_stdpathconf(ap)); + } +} + +/** + * Returns a trivial ACL + */ +int +zfsctl_common_getacl(ap) + struct vop_getacl_args /* { + struct vnode *vp; + acl_type_t a_type; + struct acl *a_aclp; + struct ucred *cred; + struct thread *td; + } */ *ap; +{ + int i; + + if (ap->a_type != ACL_TYPE_NFS4) + return (EINVAL); + + acl_nfs4_sync_acl_from_mode(ap->a_aclp, zfsctl_ctldir_mode, 0); + /* + * acl_nfs4_sync_acl_from_mode assumes that the owner can always modify + * attributes. That is not the case for the ctldir, so we must clear + * those bits. We also must clear ACL_READ_NAMED_ATTRS, because xattrs + * aren't supported by the ctldir. + */ + for (i = 0; i < ap->a_aclp->acl_cnt; i++) { + struct acl_entry *entry; + entry = &(ap->a_aclp->acl_entry[i]); + uint32_t old_perm = entry->ae_perm; + entry->ae_perm &= ~(ACL_WRITE_ACL | ACL_WRITE_OWNER | + ACL_WRITE_ATTRIBUTES | ACL_WRITE_NAMED_ATTRS | + ACL_READ_NAMED_ATTRS ); + } + + return (0); +} + static struct vop_vector zfsctl_ops_root = { .vop_default = &default_vnodeops, .vop_open = zfsctl_common_open, @@ -738,6 +826,8 @@ static struct vop_vector zfsctl_ops_root = { .vop_fid = zfsctl_common_fid, .vop_print = zfsctl_common_print, .vop_vptocnp = zfsctl_root_vptocnp, + .vop_pathconf = zfsctl_common_pathconf, + .vop_getacl = zfsctl_common_getacl, }; static int @@ -1059,6 +1149,8 @@ static struct vop_vector zfsctl_ops_snapdir = { .vop_reclaim = zfsctl_common_reclaim, .vop_fid = zfsctl_common_fid, .vop_print = zfsctl_common_print, + .vop_pathconf = zfsctl_common_pathconf, + .vop_getacl = zfsctl_common_getacl, }; static int From owner-svn-src-stable@freebsd.org Sat Mar 10 03:34:29 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 18733F452F6; Sat, 10 Mar 2018 03:34:29 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B59D47F7F5; Sat, 10 Mar 2018 03:34:28 +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 AFA2E3E3; Sat, 10 Mar 2018 03:34:28 +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 w2A3YSJj015320; Sat, 10 Mar 2018 03:34:28 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A3YRVb015307; Sat, 10 Mar 2018 03:34:27 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100334.w2A3YRVb015307@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 03:34:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330733 - in stable/11: cddl/usr.sbin/zfsd etc/mtree lib/libdevdctl sys/geom/eli sys/geom/part tests/sys/geom/class tests/sys/geom/class/eli tests/sys/geom/class/part X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in stable/11: cddl/usr.sbin/zfsd etc/mtree lib/libdevdctl sys/geom/eli sys/geom/part tests/sys/geom/class tests/sys/geom/class/eli tests/sys/geom/class/part X-SVN-Commit-Revision: 330733 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 03:34:29 -0000 Author: asomers Date: Sat Mar 10 03:34:27 2018 New Revision: 330733 URL: https://svnweb.freebsd.org/changeset/base/330733 Log: MFC r329273, r329275, r329277, r329284, r329344 r329273: geli: append "/eli" to the underlying provider's physical path If the underlying provider's physical path is null, then the geli device's physical path will be, too. Otherwise, it will append "/eli". This will make geli work better with zfsd(8). PR: 224962 Differential Revision: https://reviews.freebsd.org/D13979 r329275: gpart: append partition name to the underlying provider's physical path If the underlying provider's physical path is null, then the gpart device's physical path will be, too. Otherwise, it will append the partition name, such as "/p1" or "/s1/a". This will make gpart work better with zfsd(8). PR: 224965 Differential Revision: https://reviews.freebsd.org/D14010 r329277: Add mtree entry for 329275 X-MFC-With: 329275 Sponsored by: Spectra Logic Corp r329284: zfsd: Allow zfsd to work on any type of GEOM provider cddl/usr.sbin/zfsd/zfsd_event.cc Remove the check for da and ada devices. This way zfsd can work on md, geli, glabel, gstripe, etc devices. geli in particular is useful combined with ZFS. gnop is also useful for simulating drive pulls in the ZFSD test suite. Also, eliminate the DevfsEvent class entirely. Move its responsibilities into GeomEvent. We can get everything we need to know just from listening to GEOM events. lib/libdevdctl/event.cc Fix GeomEvent::DevName for CREATE events. Oddly, the relevant field is named "cdev" for CREATE events but "devname" for disk events. Relnotes: Yes (probably worth mentioning the geli part) Sponsored by: Spectra Logic Corp r329344: Optimize zfsd for the happy case If there are no damaged pools, then ignore all GEOM events. We only use them to fix damaged pools. However, still pay attention to ZFS events. X-MFC-With: 329284 Sponsored by: Spectra Logic Corp Added: stable/11/tests/sys/geom/class/eli/misc_test.sh - copied unchanged from r329273, head/tests/sys/geom/class/eli/misc_test.sh stable/11/tests/sys/geom/class/part/ - copied from r329275, head/tests/sys/geom/class/part/ Modified: stable/11/cddl/usr.sbin/zfsd/case_file.cc stable/11/cddl/usr.sbin/zfsd/case_file.h stable/11/cddl/usr.sbin/zfsd/zfsd.cc stable/11/cddl/usr.sbin/zfsd/zfsd_event.cc stable/11/cddl/usr.sbin/zfsd/zfsd_event.h stable/11/etc/mtree/BSD.tests.dist stable/11/lib/libdevdctl/event.cc stable/11/sys/geom/eli/g_eli.c stable/11/sys/geom/part/g_part.c stable/11/tests/sys/geom/class/Makefile stable/11/tests/sys/geom/class/eli/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/cddl/usr.sbin/zfsd/case_file.cc ============================================================================== --- stable/11/cddl/usr.sbin/zfsd/case_file.cc Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/cddl/usr.sbin/zfsd/case_file.cc Sat Mar 10 03:34:27 2018 (r330733) @@ -186,6 +186,12 @@ CaseFile::DeSerialize() free(caseFiles); } +bool +CaseFile::Empty() +{ + return (s_activeCases.empty()); +} + void CaseFile::LogAll() { Modified: stable/11/cddl/usr.sbin/zfsd/case_file.h ============================================================================== --- stable/11/cddl/usr.sbin/zfsd/case_file.h Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/cddl/usr.sbin/zfsd/case_file.h Sat Mar 10 03:34:27 2018 (r330733) @@ -135,6 +135,11 @@ class CaseFile (public) static void DeSerialize(); /** + * \brief returns true if there are no CaseFiles + */ + static bool Empty(); + + /** * \brief Emit syslog data on all active CaseFile%%s in the system. */ static void LogAll(); Modified: stable/11/cddl/usr.sbin/zfsd/zfsd.cc ============================================================================== --- stable/11/cddl/usr.sbin/zfsd/zfsd.cc Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/cddl/usr.sbin/zfsd/zfsd.cc Sat Mar 10 03:34:27 2018 (r330733) @@ -98,7 +98,6 @@ int ZfsDaemon::s_signalPipeFD[2]; bool ZfsDaemon::s_systemRescanRequested(false); EventFactory::Record ZfsDaemon::s_registryEntries[] = { - { Event::NOTIFY, "DEVFS", &DevfsEvent::Builder }, { Event::NOTIFY, "GEOM", &GeomEvent::Builder }, { Event::NOTIFY, "ZFS", &ZfsEvent::Builder } }; Modified: stable/11/cddl/usr.sbin/zfsd/zfsd_event.cc ============================================================================== --- stable/11/cddl/usr.sbin/zfsd/zfsd_event.cc Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/cddl/usr.sbin/zfsd/zfsd_event.cc Sat Mar 10 03:34:27 2018 (r330733) @@ -76,113 +76,42 @@ using std::stringstream; /*=========================== Class Implementations ==========================*/ -/*-------------------------------- DevfsEvent --------------------------------*/ +/*-------------------------------- GeomEvent --------------------------------*/ -//- DevfsEvent Static Public Methods ------------------------------------------- +//- GeomEvent Static Public Methods ------------------------------------------- Event * -DevfsEvent::Builder(Event::Type type, - NVPairMap &nvPairs, - const string &eventString) +GeomEvent::Builder(Event::Type type, + NVPairMap &nvPairs, + const string &eventString) { - return (new DevfsEvent(type, nvPairs, eventString)); + return (new GeomEvent(type, nvPairs, eventString)); } -//- DevfsEvent Static Protected Methods ---------------------------------------- -nvlist_t * -DevfsEvent::ReadLabel(int devFd, bool &inUse, bool °raded) -{ - pool_state_t poolState; - char *poolName; - boolean_t b_inuse; - int nlabels; - - inUse = false; - degraded = false; - poolName = NULL; - if (zpool_in_use(g_zfsHandle, devFd, &poolState, - &poolName, &b_inuse) == 0) { - nvlist_t *devLabel = NULL; - - inUse = b_inuse == B_TRUE; - if (poolName != NULL) - free(poolName); - - nlabels = zpool_read_all_labels(devFd, &devLabel); - /* - * If we find a disk with fewer than the maximum number of - * labels, it might be the whole disk of a partitioned disk - * where ZFS resides on a partition. In that case, we should do - * nothing and wait for the partition to appear. Or, the disk - * might be damaged. In that case, zfsd should do nothing and - * wait for the sysadmin to decide. - */ - if (nlabels != VDEV_LABELS || devLabel == NULL) { - nvlist_free(devLabel); - return (NULL); - } - - try { - Vdev vdev(devLabel); - degraded = vdev.State() != VDEV_STATE_HEALTHY; - return (devLabel); - } catch (ZfsdException &exp) { - string devName = fdevname(devFd); - string devPath = _PATH_DEV + devName; - string context("DevfsEvent::ReadLabel: " - + devPath + ": "); - - exp.GetString().insert(0, context); - exp.Log(); - nvlist_free(devLabel); - } - } - return (NULL); -} - -bool -DevfsEvent::OnlineByLabel(const string &devPath, const string& physPath, - nvlist_t *devConfig) -{ - try { - /* - * A device with ZFS label information has been - * inserted. If it matches a device for which we - * have a case, see if we can solve that case. - */ - syslog(LOG_INFO, "Interrogating VDEV label for %s\n", - devPath.c_str()); - Vdev vdev(devConfig); - CaseFile *caseFile(CaseFile::Find(vdev.PoolGUID(), - vdev.GUID())); - if (caseFile != NULL) - return (caseFile->ReEvaluate(devPath, physPath, &vdev)); - - } catch (ZfsdException &exp) { - string context("DevfsEvent::OnlineByLabel: " + devPath + ": "); - - exp.GetString().insert(0, context); - exp.Log(); - } - return (false); -} - -//- DevfsEvent Virtual Public Methods ------------------------------------------ +//- GeomEvent Virtual Public Methods ------------------------------------------ Event * -DevfsEvent::DeepCopy() const +GeomEvent::DeepCopy() const { - return (new DevfsEvent(*this)); + return (new GeomEvent(*this)); } - + bool -DevfsEvent::Process() const +GeomEvent::Process() const { /* - * We are only concerned with newly discovered - * devices that can be ZFS vdevs. + * We only use GEOM events to repair damaged pools. So return early if + * there are no damaged pools */ - if (Value("type") != "CREATE" || !IsDiskDev()) + if (CaseFile::Empty()) return (false); + /* + * We are only concerned with arrivals and physical path changes, + * because those can be used to satisfy online and autoreplace + * operations + */ + if (Value("type") != "GEOM::physpath" && Value("type") != "CREATE") + return (false); + /* Log the event since it is of interest. */ Log(LOG_INFO); @@ -199,7 +128,7 @@ DevfsEvent::Process() const nvlist_t *devLabel(ReadLabel(devFd, inUse, degraded)); string physPath; - bool havePhysPath(PhysicalPath(physPath)); + bool havePhysPath(PhysicalPath(physPath)); string devName; DevName(devName); @@ -211,8 +140,8 @@ DevfsEvent::Process() const syslog(LOG_INFO, "%s is marked degraded. Ignoring " "as a replace by physical path candidate.\n", devName.c_str()); - } else if (havePhysPath && IsWholeDev()) { - /* + } else if (havePhysPath) { + /* * TODO: attempt to resolve events using every casefile * that matches this physpath */ @@ -227,93 +156,97 @@ DevfsEvent::Process() const caseFile->ReEvaluate(devPath, physPath, /*vdev*/NULL); } } - if (devLabel != NULL) - nvlist_free(devLabel); return (false); } -//- DevfsEvent Protected Methods ----------------------------------------------- -DevfsEvent::DevfsEvent(Event::Type type, NVPairMap &nvpairs, +//- GeomEvent Protected Methods ----------------------------------------------- +GeomEvent::GeomEvent(Event::Type type, NVPairMap &nvpairs, const string &eventString) - : DevdCtl::DevfsEvent(type, nvpairs, eventString) + : DevdCtl::GeomEvent(type, nvpairs, eventString) { } -DevfsEvent::DevfsEvent(const DevfsEvent &src) - : DevdCtl::DevfsEvent::DevfsEvent(src) +GeomEvent::GeomEvent(const GeomEvent &src) + : DevdCtl::GeomEvent::GeomEvent(src) { } -/*-------------------------------- GeomEvent --------------------------------*/ - -//- GeomEvent Static Public Methods ------------------------------------------- -Event * -GeomEvent::Builder(Event::Type type, - NVPairMap &nvPairs, - const string &eventString) +nvlist_t * +GeomEvent::ReadLabel(int devFd, bool &inUse, bool °raded) { - return (new GeomEvent(type, nvPairs, eventString)); -} + pool_state_t poolState; + char *poolName; + boolean_t b_inuse; + int nlabels; -//- GeomEvent Virtual Public Methods ------------------------------------------ -Event * -GeomEvent::DeepCopy() const -{ - return (new GeomEvent(*this)); -} - -bool -GeomEvent::Process() const -{ - /* - * We are only concerned with physical path changes, because those can - * be used to satisfy autoreplace operations - */ - if (Value("type") != "GEOM::physpath" || !IsDiskDev()) - return (false); + inUse = false; + degraded = false; + poolName = NULL; + if (zpool_in_use(g_zfsHandle, devFd, &poolState, + &poolName, &b_inuse) == 0) { + nvlist_t *devLabel = NULL; - /* Log the event since it is of interest. */ - Log(LOG_INFO); + inUse = b_inuse == B_TRUE; + if (poolName != NULL) + free(poolName); - string devPath; - if (!DevPath(devPath)) - return (false); + nlabels = zpool_read_all_labels(devFd, &devLabel); + /* + * If we find a disk with fewer than the maximum number of + * labels, it might be the whole disk of a partitioned disk + * where ZFS resides on a partition. In that case, we should do + * nothing and wait for the partition to appear. Or, the disk + * might be damaged. In that case, zfsd should do nothing and + * wait for the sysadmin to decide. + */ + if (nlabels != VDEV_LABELS || devLabel == NULL) { + nvlist_free(devLabel); + return (NULL); + } - string physPath; - bool havePhysPath(PhysicalPath(physPath)); + try { + Vdev vdev(devLabel); + degraded = vdev.State() != VDEV_STATE_HEALTHY; + return (devLabel); + } catch (ZfsdException &exp) { + string devName = fdevname(devFd); + string devPath = _PATH_DEV + devName; + string context("GeomEvent::ReadLabel: " + + devPath + ": "); - string devName; - DevName(devName); - - if (havePhysPath) { - /* - * TODO: attempt to resolve events using every casefile - * that matches this physpath - */ - CaseFile *caseFile(CaseFile::Find(physPath)); - if (caseFile != NULL) { - syslog(LOG_INFO, - "Found CaseFile(%s:%s:%s) - ReEvaluating\n", - caseFile->PoolGUIDString().c_str(), - caseFile->VdevGUIDString().c_str(), - zpool_state_to_name(caseFile->VdevState(), - VDEV_AUX_NONE)); - caseFile->ReEvaluate(devPath, physPath, /*vdev*/NULL); + exp.GetString().insert(0, context); + exp.Log(); + nvlist_free(devLabel); } } - return (false); + return (NULL); } -//- GeomEvent Protected Methods ----------------------------------------------- -GeomEvent::GeomEvent(Event::Type type, NVPairMap &nvpairs, - const string &eventString) - : DevdCtl::GeomEvent(type, nvpairs, eventString) +bool +GeomEvent::OnlineByLabel(const string &devPath, const string& physPath, + nvlist_t *devConfig) { -} + try { + /* + * A device with ZFS label information has been + * inserted. If it matches a device for which we + * have a case, see if we can solve that case. + */ + syslog(LOG_INFO, "Interrogating VDEV label for %s\n", + devPath.c_str()); + Vdev vdev(devConfig); + CaseFile *caseFile(CaseFile::Find(vdev.PoolGUID(), + vdev.GUID())); + if (caseFile != NULL) + return (caseFile->ReEvaluate(devPath, physPath, &vdev)); -GeomEvent::GeomEvent(const GeomEvent &src) - : DevdCtl::GeomEvent::GeomEvent(src) -{ + } catch (ZfsdException &exp) { + string context("GeomEvent::OnlineByLabel: " + devPath + ": "); + + exp.GetString().insert(0, context); + exp.Log(); + } + return (false); } Modified: stable/11/cddl/usr.sbin/zfsd/zfsd_event.h ============================================================================== --- stable/11/cddl/usr.sbin/zfsd/zfsd_event.h Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/cddl/usr.sbin/zfsd/zfsd_event.h Sat Mar 10 03:34:27 2018 (r330733) @@ -60,63 +60,6 @@ typedef struct zpool_handle zpool_handle_t; struct nvlist; typedef struct nvlist nvlist_t; -/*============================= Class Definitions ============================*/ -/*-------------------------------- DevfsEvent --------------------------------*/ -class DevfsEvent : public DevdCtl::DevfsEvent -{ -public: - /** Specialized DevdCtlEvent object factory for Devfs events. */ - static BuildMethod Builder; - - virtual DevdCtl::Event *DeepCopy() const; - - /** - * Interpret and perform any actions necessary to - * consume the event. - * \return True if this event should be queued for later reevaluation - */ - virtual bool Process() const; - -protected: - /** - * \brief Read and return label information for a device. - * - * \param devFd The device from which to read ZFS label information. - * \param inUse The device is part of an active or potentially - * active configuration. - * \param degraded The device label indicates the vdev is not healthy. - * - * \return If label information is available, an nvlist describing - * the vdev configuraiton found on the device specified by - * devFd. Otherwise NULL. - */ - static nvlist_t *ReadLabel(int devFd, bool &inUse, bool °raded); - - /** - * Attempt to match the ZFS labeled device at devPath with an active - * CaseFile for a missing vdev. If a CaseFile is found, attempt - * to re-integrate the device with its pool. - * - * \param devPath The devfs path to the potential leaf vdev. - * \param physPath The physical path string reported by the device - * at devPath. - * \param devConfig The ZFS label information found on the device - * at devPath. - * - * \return true if the event that caused the online action can - * be considered consumed. - */ - static bool OnlineByLabel(const string &devPath, - const string& physPath, - nvlist_t *devConfig); - - /** DeepCopy Constructor. */ - DevfsEvent(const DevfsEvent &src); - - /** Constructor */ - DevfsEvent(Type, DevdCtl::NVPairMap &, const string &); -}; - /*--------------------------------- ZfsEvent ---------------------------------*/ class ZfsEvent : public DevdCtl::ZfsEvent { @@ -164,5 +107,38 @@ class GeomEvent : public DevdCtl::GeomEvent (protected /** Constructor */ GeomEvent(Type, DevdCtl::NVPairMap &, const string &); + + /** + * Attempt to match the ZFS labeled device at devPath with an active + * CaseFile for a missing vdev. If a CaseFile is found, attempt + * to re-integrate the device with its pool. + * + * \param devPath The devfs path to the potential leaf vdev. + * \param physPath The physical path string reported by the device + * at devPath. + * \param devConfig The ZFS label information found on the device + * at devPath. + * + * \return true if the event that caused the online action can + * be considered consumed. + */ + static bool OnlineByLabel(const string &devPath, + const string& physPath, + nvlist_t *devConfig); + + /** + * \brief Read and return label information for a device. + * + * \param devFd The device from which to read ZFS label information. + * \param inUse The device is part of an active or potentially + * active configuration. + * \param degraded The device label indicates the vdev is not healthy. + * + * \return If label information is available, an nvlist describing + * the vdev configuraiton found on the device specified by + * devFd. Otherwise NULL. + */ + static nvlist_t *ReadLabel(int devFd, bool &inUse, bool °raded); + }; #endif /*_ZFSD_EVENT_H_ */ Modified: stable/11/etc/mtree/BSD.tests.dist ============================================================================== --- stable/11/etc/mtree/BSD.tests.dist Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/etc/mtree/BSD.tests.dist Sat Mar 10 03:34:27 2018 (r330733) @@ -440,6 +440,8 @@ .. nop .. + part + .. raid3 .. shsec Modified: stable/11/lib/libdevdctl/event.cc ============================================================================== --- stable/11/lib/libdevdctl/event.cc Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/lib/libdevdctl/event.cc Sat Mar 10 03:34:27 2018 (r330733) @@ -542,7 +542,10 @@ GeomEvent::DeepCopy() const bool GeomEvent::DevName(std::string &name) const { - name = Value("devname"); + if (Value("subsystem") == "disk") + name = Value("devname"); + else + name = Value("cdev"); return (!name.empty()); } Modified: stable/11/sys/geom/eli/g_eli.c ============================================================================== --- stable/11/sys/geom/eli/g_eli.c Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/sys/geom/eli/g_eli.c Sat Mar 10 03:34:27 2018 (r330733) @@ -210,6 +210,16 @@ g_eli_crypto_rerun(struct cryptop *crp) return (error); } +static void +g_eli_getattr_done(struct bio *bp) +{ + if (bp->bio_error == 0 && + !strcmp(bp->bio_attribute, "GEOM::physpath")) { + strlcat(bp->bio_data, "/eli", bp->bio_length); + } + g_std_done(bp); +} + /* * The function is called afer reading encrypted data from the provider. * @@ -378,7 +388,10 @@ g_eli_start(struct bio *bp) case BIO_FLUSH: case BIO_DELETE: case BIO_ZONE: - cbp->bio_done = g_std_done; + if (bp->bio_cmd == BIO_GETATTR) + cbp->bio_done = g_eli_getattr_done; + else + cbp->bio_done = g_std_done; cp = LIST_FIRST(&sc->sc_geom->consumer); cbp->bio_to = cp->provider; G_ELI_LOGREQ(2, cbp, "Sending request."); Modified: stable/11/sys/geom/part/g_part.c ============================================================================== --- stable/11/sys/geom/part/g_part.c Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/sys/geom/part/g_part.c Sat Mar 10 03:34:27 2018 (r330733) @@ -268,6 +268,35 @@ g_part_geometry(struct g_part_table *table, struct g_c } } +static void +g_part_get_physpath_done(struct bio *bp) +{ + struct g_geom *gp; + struct g_part_entry *entry; + struct g_part_table *table; + struct g_provider *pp; + struct bio *pbp; + + pbp = bp->bio_parent; + pp = pbp->bio_to; + gp = pp->geom; + table = gp->softc; + entry = pp->private; + + if (bp->bio_error == 0) { + char *end; + size_t len, remainder; + len = strlcat(bp->bio_data, "/", bp->bio_length); + if (len < bp->bio_length) { + end = bp->bio_data + len; + remainder = bp->bio_length - len; + G_PART_NAME(table, entry, end, remainder); + } + } + g_std_done(bp); +} + + #define DPRINTF(...) if (bootverbose) { \ printf("GEOM_PART: " __VA_ARGS__); \ } @@ -2157,6 +2186,7 @@ g_part_start(struct bio *bp) struct g_part_table *table; struct g_kerneldump *gkd; struct g_provider *pp; + void (*done_func)(struct bio *) = g_std_done; char buf[64]; pp = bp->bio_to; @@ -2209,6 +2239,10 @@ g_part_start(struct bio *bp) if (g_handleattr_str(bp, "PART::type", G_PART_TYPE(table, entry, buf, sizeof(buf)))) return; + if (!strcmp("GEOM::physpath", bp->bio_attribute)) { + done_func = g_part_get_physpath_done; + break; + } if (!strcmp("GEOM::kerneldump", bp->bio_attribute)) { /* * Check that the partition is suitable for kernel @@ -2245,7 +2279,7 @@ g_part_start(struct bio *bp) g_io_deliver(bp, ENOMEM); return; } - bp2->bio_done = g_std_done; + bp2->bio_done = done_func; g_io_request(bp2, cp); } Modified: stable/11/tests/sys/geom/class/Makefile ============================================================================== --- stable/11/tests/sys/geom/class/Makefile Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/tests/sys/geom/class/Makefile Sat Mar 10 03:34:27 2018 (r330733) @@ -7,10 +7,9 @@ TESTSDIR= ${TESTSBASE}/sys/geom/class TESTS_SUBDIRS+= concat TESTS_SUBDIRS+= eli TESTS_SUBDIRS+= gate -# XXX: might not work due to geom(4) changes; more investigation's needed -#TESTS_SUBDIRS+= gpt TESTS_SUBDIRS+= mirror TESTS_SUBDIRS+= nop +TESTS_SUBDIRS+= part TESTS_SUBDIRS+= raid3 TESTS_SUBDIRS+= shsec TESTS_SUBDIRS+= stripe Modified: stable/11/tests/sys/geom/class/eli/Makefile ============================================================================== --- stable/11/tests/sys/geom/class/eli/Makefile Sat Mar 10 03:24:59 2018 (r330732) +++ stable/11/tests/sys/geom/class/eli/Makefile Sat Mar 10 03:34:27 2018 (r330733) @@ -14,6 +14,7 @@ ATF_TESTS_SH+= detach_test ATF_TESTS_SH+= init_test ATF_TESTS_SH+= integrity_test ATF_TESTS_SH+= kill_test +ATF_TESTS_SH+= misc_test ATF_TESTS_SH+= onetime_test ATF_TESTS_SH+= resize_test ATF_TESTS_SH+= setkey_test Copied: stable/11/tests/sys/geom/class/eli/misc_test.sh (from r329273, head/tests/sys/geom/class/eli/misc_test.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/tests/sys/geom/class/eli/misc_test.sh Sat Mar 10 03:34:27 2018 (r330733, copy of r329273, head/tests/sys/geom/class/eli/misc_test.sh) @@ -0,0 +1,177 @@ +# Copyright (c) 2018 Alan Somers +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +atf_test_case preserve_props cleanup +preserve_props_head() +{ + atf_set "descr" "geli should preserve basic GEOM properties" + atf_set "require.user" "root" + atf_set "timeout" 15 +} +preserve_props_body() +{ + . $(atf_get_srcdir)/conf.sh + md=$(attach_md -s1m) + atf_check geli onetime /dev/${md} + md_secsize=$(diskinfo ${md} | cut -wf 2) + md_stripesize=$(diskinfo ${md} | cut -wf 5) + eli_secsize=$(diskinfo ${md}.eli | cut -wf 2) + eli_stripesize=$(diskinfo ${md}.eli | cut -wf 5) + atf_check_equal "$md_secsize" "$eli_secsize" + atf_check_equal "$md_stripesize" "$eli_stripesize" +} +preserve_props_cleanup() +{ + . $(atf_get_srcdir)/conf.sh + geli_test_cleanup +} + +atf_test_case preserve_disk_props cleanup +preserve_disk_props_head() +{ + atf_set "descr" "geli should preserve properties for disks" + atf_set "require.user" "root" + atf_set "require.config" "disks" + atf_set "timeout" 15 +} +preserve_disk_props_body() +{ + . $(atf_get_srcdir)/conf.sh + disks=`atf_config_get disks` + disk=${disks%% *} + if [ -z "$disk" ]; then + atf_skip "Must define disks (see tests(7))" + fi + atf_check geli onetime ${disk} + + disk_ident=$(diskinfo -s ${disk}) + disk_descr=$(diskinfo -v ${disk} | awk '/Disk descr/ {print $1}') + disk_rotrate=$(diskinfo -v ${disk} | awk '/Rotation rate/ {print $1}') + disk_zonemode=$(diskinfo -v ${disk} | awk '/Zone Mode/ {print $1}') + eli_ident=$(diskinfo -s ${disk}.eli) + eli_descr=$(diskinfo -v ${disk}.eli | awk '/Disk descr/ {print $1}') + eli_rotrate=$(diskinfo -v ${disk}.eli | awk '/Rotation/ {print $1}') + eli_zonemode=$(diskinfo -v ${disk}.eli | awk '/Zone Mode/ {print $1}') + atf_check_equal "$disk_ident" "$eli_ident" + atf_check_equal "$disk_descr" "$eli_descr" + atf_check_equal "$disk_rotrate" "$eli_rotrate" + atf_check_equal "$disk_zonemode" "$eli_zonemode" +} +preserve_disk_props_cleanup() +{ + . $(atf_get_srcdir)/conf.sh + disk_cleanup + geli_test_cleanup +} + +atf_test_case physpath cleanup +physpath_head() +{ + atf_set "descr" "geli should append /eli to the underlying device's physical path" + atf_set "require.user" "root" + atf_set "timeout" 15 +} +physpath_body() +{ + . $(atf_get_srcdir)/conf.sh + load_gnop + + md=$(attach_md -s1m) + # If the underlying device has no physical path, then geli should not + # create one. + atf_check -o empty -e ignore diskinfo -p $md + atf_check -s exit:0 geli onetime $md + atf_check -o empty -e ignore diskinfo -p $md.eli + atf_check -s exit:0 geli kill $md + + # If the underlying device does have a physical path, then geli should + # append "/eli" + physpath="some/physical/path" + atf_check gnop create -z $physpath ${md} + atf_check -s exit:0 geli onetime $md.nop + atf_check -o match:"^${physpath}/eli$" diskinfo -p $md.nop.eli +} +physpath_cleanup() +{ + . $(atf_get_srcdir)/conf.sh + + if [ -f "$TEST_MDS_FILE" ]; then + while read md; do + [ -c /dev/${md}.nop.eli ] && \ + geli detach $md.nop.eli 2>/dev/null + [ -c /dev/${md}.nop ] && \ + gnop destroy -f $md.nop 2>/dev/null + [ -c /dev/${md}.eli ] && \ + geli detach $md.eli 2>/dev/null + mdconfig -d -u $md 2>/dev/null + done < $TEST_MDS_FILE + fi + true +} + +atf_init_test_cases() +{ + atf_add_test_case physpath + atf_add_test_case preserve_props + atf_add_test_case preserve_disk_props +} + + +common_cleanup() +{ + + if [ -f "$MD_DEVS" ]; then + while read test_md; do + gnop destroy -f ${test_md}.nop 2>/dev/null + mdconfig -d -u $test_md 2>/dev/null + done < $MD_DEVS + rm $MD_DEVS + fi + + if [ -f "$PLAINFILES" ]; then + while read f; do + rm -f ${f} + done < ${PLAINFILES} + rm ${PLAINFILES} + fi + true +} + +disk_cleanup() +{ + disks=`atf_config_get disks` + disk=${disks%% *} + if [ -n "$disk" ]; then + geli kill ${disk} 2>/dev/null + fi +} + +load_gnop() +{ + if ! kldstat -q -m g_nop; then + geom nop load || atf_skip "could not load module for geom nop" + fi +} From owner-svn-src-stable@freebsd.org Sat Mar 10 03:39:50 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9D3FBF459F2; Sat, 10 Mar 2018 03:39:50 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 371837FC6F; Sat, 10 Mar 2018 03:39:50 +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 31F3B40B; Sat, 10 Mar 2018 03:39:50 +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 w2A3doFw015573; Sat, 10 Mar 2018 03:39:50 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A3dos4015572; Sat, 10 Mar 2018 03:39:50 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100339.w2A3dos4015572@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 03:39:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330734 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-11 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330734 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 03:39:50 -0000 Author: asomers Date: Sat Mar 10 03:39:49 2018 New Revision: 330734 URL: https://svnweb.freebsd.org/changeset/base/330734 Log: MFC r329412: zfs: fix formatting in a log statement Submitted by: Dave Baukus Sponsored by: Spectra Logic Corp Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Sat Mar 10 03:34:27 2018 (r330733) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Sat Mar 10 03:39:49 2018 (r330734) @@ -239,7 +239,7 @@ vdev_geom_attach(struct g_provider *pp, vdev_t *vd, bo } error = g_access(cp, 1, 0, 1); if (error != 0) { - ZFS_LOG(1, "%s(%d): g_access failed: %d", __func__, + ZFS_LOG(1, "%s(%d): g_access failed: %d\n", __func__, __LINE__, error); vdev_geom_detach(cp, B_FALSE); return (NULL); From owner-svn-src-stable@freebsd.org Sat Mar 10 04:02:52 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7E47F47889; Sat, 10 Mar 2018 04:02:51 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 97BC080E79; Sat, 10 Mar 2018 04:02:51 +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 929EA8FF; Sat, 10 Mar 2018 04:02:51 +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 w2A42p88029893; Sat, 10 Mar 2018 04:02:51 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A42pVA029892; Sat, 10 Mar 2018 04:02:51 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100402.w2A42pVA029892@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 04:02:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330735 - stable/10/cddl/contrib/opensolaris/cmd/zpool X-SVN-Group: stable-10 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/10/cddl/contrib/opensolaris/cmd/zpool X-SVN-Commit-Revision: 330735 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 04:02:52 -0000 Author: asomers Date: Sat Mar 10 04:02:51 2018 New Revision: 330735 URL: https://svnweb.freebsd.org/changeset/base/330735 Log: MFC r329067: Fix "zpool add" crash when a replacing vdev has a spare child Fix an assertion in zpool that causes a crash when running any "zpool add" command on a spare that contains a replacing vdev with a spare child. This likely affects Illumos, too. PR: 225546 Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D14138 Modified: stable/10/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Directory Properties: stable/10/ (props changed) Modified: stable/10/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c ============================================================================== --- stable/10/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Sat Mar 10 03:39:49 2018 (r330734) +++ stable/10/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Sat Mar 10 04:02:51 2018 (r330735) @@ -684,6 +684,21 @@ get_replication(nvlist_t *nvroot, boolean_t fatal) verify(nvlist_lookup_string(cnv, ZPOOL_CONFIG_TYPE, &childtype) == 0); + if (strcmp(childtype, + VDEV_TYPE_SPARE) == 0) { + /* We have a replacing vdev with + * a spare child. Get the first + * real child of the spare + */ + verify( + nvlist_lookup_nvlist_array( + cnv, + ZPOOL_CONFIG_CHILDREN, + &rchild, + &rchildren) == 0); + assert(rchildren >= 2); + cnv = rchild[0]; + } } verify(nvlist_lookup_string(cnv, From owner-svn-src-stable@freebsd.org Sat Mar 10 04:10:58 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8AFEF483E0; Sat, 10 Mar 2018 04:10:57 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8D7A48128E; Sat, 10 Mar 2018 04:10:57 +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 885BD93E; Sat, 10 Mar 2018 04:10:57 +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 w2A4AvZG032409; Sat, 10 Mar 2018 04:10:57 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A4AvTc032408; Sat, 10 Mar 2018 04:10:57 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100410.w2A4AvTc032408@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 04:10:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330736 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-10 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 330736 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 04:10:58 -0000 Author: asomers Date: Sat Mar 10 04:10:57 2018 New Revision: 330736 URL: https://svnweb.freebsd.org/changeset/base/330736 Log: MFC r329265, r329384 r329265: Implement .vop_pathconf and .vop_getacl for the .zfs ctldir zfsctl_common_pathconf will report all the same variables that regular ZFS volumes report. zfsctl_common_getacl will report an ACL equivalent to 555, except that you can't read xattrs or edit attributes. Fixes a bug where "ls .zfs" will occasionally print something like: ls: .zfs/.: Operation not supported PR: 225793 Reviewed by: avg Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D14365 r329384: Handle generic pathconf attributes in the .zfs ctldir MFC instructions: change the value of _PC_LINK_MAX to INT_MAX Reported by: jhb X-MFC-With: 329265 Sponsored by: Spectra Logic Corp Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Sat Mar 10 04:02:51 2018 (r330735) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Sat Mar 10 04:10:57 2018 (r330736) @@ -80,6 +80,10 @@ #include "zfs_namecheck.h" +/* Common access mode for all virtual directories under the ctldir */ +const u_short zfsctl_ctldir_mode = S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | + S_IROTH | S_IXOTH; + /* * "Synthetic" filesystem implementation. */ @@ -496,8 +500,7 @@ zfsctl_common_getattr(vnode_t *vp, vattr_t *vap) vap->va_nblocks = 0; vap->va_seq = 0; vap->va_fsid = vp->v_mount->mnt_stat.f_fsid.val[0]; - vap->va_mode = S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | - S_IROTH | S_IXOTH; + vap->va_mode = zfsctl_ctldir_mode; vap->va_type = VDIR; /* * We live in the now (for atime). @@ -724,6 +727,91 @@ zfsctl_root_vptocnp(struct vop_vptocnp_args *ap) return (0); } +static int +zfsctl_common_pathconf(ap) + struct vop_pathconf_args /* { + struct vnode *a_vp; + int a_name; + int *a_retval; + } */ *ap; +{ + /* + * We care about ACL variables so that user land utilities like ls + * can display them correctly. Since the ctldir's st_dev is set to be + * the same as the parent dataset, we must support all variables that + * it supports. + */ + switch (ap->a_name) { + case _PC_LINK_MAX: + *ap->a_retval = INT_MAX; + return (0); + + case _PC_FILESIZEBITS: + *ap->a_retval = 64; + return (0); + + case _PC_MIN_HOLE_SIZE: + *ap->a_retval = (int)SPA_MINBLOCKSIZE; + return (0); + + case _PC_ACL_EXTENDED: + *ap->a_retval = 0; + return (0); + + case _PC_ACL_NFS4: + *ap->a_retval = 1; + return (0); + + case _PC_ACL_PATH_MAX: + *ap->a_retval = ACL_MAX_ENTRIES; + return (0); + + case _PC_NAME_MAX: + *ap->a_retval = NAME_MAX; + return (0); + + default: + return (vop_stdpathconf(ap)); + } +} + +/** + * Returns a trivial ACL + */ +int +zfsctl_common_getacl(ap) + struct vop_getacl_args /* { + struct vnode *vp; + acl_type_t a_type; + struct acl *a_aclp; + struct ucred *cred; + struct thread *td; + } */ *ap; +{ + int i; + + if (ap->a_type != ACL_TYPE_NFS4) + return (EINVAL); + + acl_nfs4_sync_acl_from_mode(ap->a_aclp, zfsctl_ctldir_mode, 0); + /* + * acl_nfs4_sync_acl_from_mode assumes that the owner can always modify + * attributes. That is not the case for the ctldir, so we must clear + * those bits. We also must clear ACL_READ_NAMED_ATTRS, because xattrs + * aren't supported by the ctldir. + */ + for (i = 0; i < ap->a_aclp->acl_cnt; i++) { + struct acl_entry *entry; + entry = &(ap->a_aclp->acl_entry[i]); + uint32_t old_perm = entry->ae_perm; + entry->ae_perm &= ~(ACL_WRITE_ACL | ACL_WRITE_OWNER | + ACL_WRITE_ATTRIBUTES | ACL_WRITE_NAMED_ATTRS | + ACL_READ_NAMED_ATTRS ); + } + + return (0); +} + static struct vop_vector zfsctl_ops_root = { .vop_default = &default_vnodeops, .vop_open = zfsctl_common_open, @@ -738,6 +826,8 @@ static struct vop_vector zfsctl_ops_root = { .vop_fid = zfsctl_common_fid, .vop_print = zfsctl_common_print, .vop_vptocnp = zfsctl_root_vptocnp, + .vop_pathconf = zfsctl_common_pathconf, + .vop_getacl = zfsctl_common_getacl, }; static int @@ -1059,6 +1149,8 @@ static struct vop_vector zfsctl_ops_snapdir = { .vop_reclaim = zfsctl_common_reclaim, .vop_fid = zfsctl_common_fid, .vop_print = zfsctl_common_print, + .vop_pathconf = zfsctl_common_pathconf, + .vop_getacl = zfsctl_common_getacl, }; static int From owner-svn-src-stable@freebsd.org Sat Mar 10 04:17:03 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF238F48AF5; Sat, 10 Mar 2018 04:17:02 +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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8EF2081B05; Sat, 10 Mar 2018 04:17:02 +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 89687B43; Sat, 10 Mar 2018 04:17:02 +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 w2A4H2Du035819; Sat, 10 Mar 2018 04:17:02 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A4H1np035807; Sat, 10 Mar 2018 04:17:01 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201803100417.w2A4H1np035807@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 10 Mar 2018 04:17:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r330737 - in stable/10: sbin/geom/class/cache sbin/geom/class/concat sbin/geom/class/journal sbin/geom/class/label sbin/geom/class/mirror sbin/geom/class/raid3 sbin/geom/class/shsec sbi... X-SVN-Group: stable-10 X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in stable/10: sbin/geom/class/cache sbin/geom/class/concat sbin/geom/class/journal sbin/geom/class/label sbin/geom/class/mirror sbin/geom/class/raid3 sbin/geom/class/shsec sbin/geom/class/stripe sbin/... X-SVN-Commit-Revision: 330737 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 04:17:03 -0000 Author: asomers Date: Sat Mar 10 04:17:01 2018 New Revision: 330737 URL: https://svnweb.freebsd.org/changeset/base/330737 Log: MFC r323314, r323338, r328849 r323314: Audit userspace geom code for leaking memory to disk Any geom class using g_metadata_store, as well as geom_virstor which duplicated g_metadata_store internally, would dump sectorsize - mdsize bytes of userspace memory following the metadata block stored. This is most or all geom classes (gcache, gconcat, geli, gjournal, glabel, gmirror, gmultipath, graid3, gshsec, gstripe, and geom_virstor). PR: 222077 (comment #3) Reported by: Maxim Khitrov Reviewed by: des Security: yes Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12269 r323338: Fix information leak in geli(8) integrity mode In integrity mode, a larger logical sector (e.g., 4096 bytes) spans several physical sectors (e.g., 512 bytes) on the backing device. Due to hash overhead, a 4096 byte logical sector takes 8.5625 512-byte physical sectors. This means that only 288 bytes (256 data + 32 hash) of the last 512 byte sector are used. The memory allocation used to store the encrypted data to be written to the physical sectors comes from malloc(9) and does not use M_ZERO. Previously, nothing initialized the final physical sector backing each logical sector, aside from the hash + encrypted data portion. So 224 bytes of kernel heap memory was leaked to every block :-(. This patch addresses the issue by initializing the trailing portion of the physical sector in every logical sector to zeros before use. A much simpler but higher overhead fix would be to tag the entire allocation M_ZERO. PR: 222077 Reported by: Maxim Khitrov Reviewed by: emaste Security: yes Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12272 r328849: geom: don't write stack garbage in disk labels Most consumers of g_metadata_store were passing in partially unallocated memory, resulting in stack garbage being written to disk labels. Fix them by zeroing the memory first. gvirstor repeated the same mistake, but in the kernel. Also, glabel's label contained a fixed-size string that wasn't initialized to zero. PR: 222077 Reported by: Maxim Khitrov Reviewed by: cem X-MFC-With: 323314 X-MFC-With: 323338 Differential Revision: https://reviews.freebsd.org/D14164 Modified: stable/10/sbin/geom/class/cache/geom_cache.c stable/10/sbin/geom/class/concat/geom_concat.c stable/10/sbin/geom/class/journal/geom_journal.c stable/10/sbin/geom/class/label/geom_label.c stable/10/sbin/geom/class/mirror/geom_mirror.c stable/10/sbin/geom/class/raid3/geom_raid3.c stable/10/sbin/geom/class/shsec/geom_shsec.c stable/10/sbin/geom/class/stripe/geom_stripe.c stable/10/sbin/geom/class/virstor/geom_virstor.c stable/10/sbin/geom/misc/subr.c stable/10/sys/geom/eli/g_eli_integrity.c stable/10/sys/geom/virstor/g_virstor.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/geom/class/cache/geom_cache.c ============================================================================== --- stable/10/sbin/geom/class/cache/geom_cache.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/cache/geom_cache.c Sat Mar 10 04:17:01 2018 (r330737) @@ -135,6 +135,7 @@ cache_label(struct gctl_req *req) int error, nargs; intmax_t val; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs != 2) { gctl_error(req, "Invalid number of arguments."); Modified: stable/10/sbin/geom/class/concat/geom_concat.c ============================================================================== --- stable/10/sbin/geom/class/concat/geom_concat.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/concat/geom_concat.c Sat Mar 10 04:17:01 2018 (r330737) @@ -117,6 +117,7 @@ concat_label(struct gctl_req *req) const char *name; int error, i, hardcode, nargs; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs < 2) { gctl_error(req, "Too few arguments."); Modified: stable/10/sbin/geom/class/journal/geom_journal.c ============================================================================== --- stable/10/sbin/geom/class/journal/geom_journal.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/journal/geom_journal.c Sat Mar 10 04:17:01 2018 (r330737) @@ -142,6 +142,7 @@ journal_label(struct gctl_req *req) intmax_t jsize, msize, ssize; int error, force, i, nargs, checksum, hardcode; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); str = NULL; /* gcc */ Modified: stable/10/sbin/geom/class/label/geom_label.c ============================================================================== --- stable/10/sbin/geom/class/label/geom_label.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/label/geom_label.c Sat Mar 10 04:17:01 2018 (r330737) @@ -117,6 +117,7 @@ label_label(struct gctl_req *req) u_char sector[512]; int error, nargs; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs != 2) { gctl_error(req, "Invalid number of arguments."); @@ -137,6 +138,7 @@ label_label(struct gctl_req *req) strlcpy(md.md_magic, G_LABEL_MAGIC, sizeof(md.md_magic)); md.md_version = G_LABEL_VERSION; label = gctl_get_ascii(req, "arg0"); + bzero(md.md_label, sizeof(md.md_label)); strlcpy(md.md_label, label, sizeof(md.md_label)); md.md_provsize = g_get_mediasize(name); if (md.md_provsize == 0) { Modified: stable/10/sbin/geom/class/mirror/geom_mirror.c ============================================================================== --- stable/10/sbin/geom/class/mirror/geom_mirror.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/mirror/geom_mirror.c Sat Mar 10 04:17:01 2018 (r330737) @@ -176,6 +176,7 @@ mirror_label(struct gctl_req *req) intmax_t val; int error, i, nargs, bal, hardcode; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs < 2) { gctl_error(req, "Too few arguments."); Modified: stable/10/sbin/geom/class/raid3/geom_raid3.c ============================================================================== --- stable/10/sbin/geom/class/raid3/geom_raid3.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/raid3/geom_raid3.c Sat Mar 10 04:17:01 2018 (r330737) @@ -149,6 +149,7 @@ raid3_label(struct gctl_req *req) int hardcode, round_robin, verify; int error, i, nargs; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs < 4) { gctl_error(req, "Too few arguments."); Modified: stable/10/sbin/geom/class/shsec/geom_shsec.c ============================================================================== --- stable/10/sbin/geom/class/shsec/geom_shsec.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/shsec/geom_shsec.c Sat Mar 10 04:17:01 2018 (r330737) @@ -110,6 +110,7 @@ shsec_label(struct gctl_req *req) const char *name; int error, i, nargs, hardcode; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs <= 2) { gctl_error(req, "Too few arguments."); Modified: stable/10/sbin/geom/class/stripe/geom_stripe.c ============================================================================== --- stable/10/sbin/geom/class/stripe/geom_stripe.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/stripe/geom_stripe.c Sat Mar 10 04:17:01 2018 (r330737) @@ -128,6 +128,7 @@ stripe_label(struct gctl_req *req) const char *name; int error, i, nargs, hardcode; + bzero(sector, sizeof(sector)); nargs = gctl_get_int(req, "nargs"); if (nargs < 3) { gctl_error(req, "Too few arguments."); Modified: stable/10/sbin/geom/class/virstor/geom_virstor.c ============================================================================== --- stable/10/sbin/geom/class/virstor/geom_virstor.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/class/virstor/geom_virstor.c Sat Mar 10 04:17:01 2018 (r330737) @@ -183,6 +183,7 @@ my_g_metadata_store(const char *name, u_char *md, size goto out; } bcopy(md, sector, size); + bzero(sector + size, sectorsize - size); if (pwrite(fd, sector, sectorsize, mediasize - sectorsize) != (ssize_t)sectorsize) { error = errno; Modified: stable/10/sbin/geom/misc/subr.c ============================================================================== --- stable/10/sbin/geom/misc/subr.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sbin/geom/misc/subr.c Sat Mar 10 04:17:01 2018 (r330737) @@ -271,6 +271,13 @@ out: return (error); } +/* + * Actually write the GEOM label to the provider + * + * @param name GEOM provider's name (ie "ada0") + * @param md Pointer to the label data to write + * @param size Size of the data pointed to by md + */ int g_metadata_store(const char *name, const unsigned char *md, size_t size) { @@ -302,6 +309,7 @@ g_metadata_store(const char *name, const unsigned char goto out; } bcopy(md, sector, size); + bzero(sector + size, sectorsize - size); if (pwrite(fd, sector, sectorsize, mediasize - sectorsize) != sectorsize) { error = errno; Modified: stable/10/sys/geom/eli/g_eli_integrity.c ============================================================================== --- stable/10/sys/geom/eli/g_eli_integrity.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sys/geom/eli/g_eli_integrity.c Sat Mar 10 04:17:01 2018 (r330737) @@ -468,8 +468,16 @@ g_eli_auth_run(struct g_eli_worker *wr, struct bio *bp iov = (struct iovec *)p; p += sizeof(*iov); data_secsize = sc->sc_data_per_sector; - if ((i % lsec) == 0) + if ((i % lsec) == 0) { data_secsize = decr_secsize % data_secsize; + /* + * Last encrypted sector of each decrypted sector is + * only partially filled. + */ + if (bp->bio_cmd == BIO_WRITE) + memset(data + sc->sc_alen + data_secsize, 0, + encr_secsize - sc->sc_alen - data_secsize); + } if (bp->bio_cmd == BIO_READ) { /* Remember read HMAC. */ Modified: stable/10/sys/geom/virstor/g_virstor.c ============================================================================== --- stable/10/sys/geom/virstor/g_virstor.c Sat Mar 10 04:10:57 2018 (r330736) +++ stable/10/sys/geom/virstor/g_virstor.c Sat Mar 10 04:17:01 2018 (r330737) @@ -1044,6 +1044,7 @@ write_metadata(struct g_consumer *cp, struct g_virstor pp = cp->provider; buf = malloc(pp->sectorsize, M_GVIRSTOR, M_WAITOK); + bzero(buf, pp->sectorsize); virstor_metadata_encode(md, buf); g_topology_unlock(); error = g_write_data(cp, pp->mediasize - pp->sectorsize, buf, From owner-svn-src-stable@freebsd.org Sat Mar 10 08:27:44 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49214F2CF24; Sat, 10 Mar 2018 08:27:44 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id ED8EA69A52; Sat, 10 Mar 2018 08:27:43 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id E118D1C780; Sat, 10 Mar 2018 08:27:43 +0000 (UTC) Date: Sat, 10 Mar 2018 08:27:43 +0000 From: Alexey Dokuchaev To: Ian Lepore Cc: Eitan Adler , John Baldwin , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-11@freebsd.org Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 Message-ID: <20180310082743.GB18340@FreeBSD.org> References: <201803050754.w257swAE001435@repo.freebsd.org> <6465173.s2nWvWCLOs@ralph.baldwin.cx> <8377086.JrIgVVMXMv@ralph.baldwin.cx> <20180309110240.GA77718@FreeBSD.org> <1520617802.84937.26.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1520617802.84937.26.camel@freebsd.org> User-Agent: Mutt/1.9.2 (2017-12-15) X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 08:27:44 -0000 On Fri, Mar 09, 2018 at 10:50:02AM -0700, Ian Lepore wrote: > On Fri, 2018-03-09 at 11:02 +0000, Alexey Dokuchaev wrote: > > I often have mixed feelings when I see lots of similar changes (i.e. > > that make up for better hardware support, esp. on a laptop) MFCed. > > I'd rather see laptop users run -CURRENT and leave -STABLE branches > > for very conservative (server?) users who can't/don't want to afford > > the risks of running -CURRENT or require ABI stability in a really > > long run, rather than binge-merging things. :-) > > > > By default it should be -CURRENT all over; it's a very good thing > > that we as a Project ourselves are doing this as part of our own > > dogfood eating strategy. > > Some of us have to use our freebsd machines to earn a living, and we > can't afford the time and resources to set our jobs aside and debug > our working machines on a daily basis. It's 2018 Ian, -CURRENT is not as much of a flux as it used to be (but it takes a lot more time to build now). Disks got larger, filesystems learned snapshots; one can update their machines and go back easily if things went south. Development, collaboration, testing/CI, etc. tools also got better, people no longer commit their WIP to -CURRENT in hope that it'll work (at least not as often as 15-20 years ago. :-) ./danfe From owner-svn-src-stable@freebsd.org Sat Mar 10 08:51:02 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BCB76F2DAA0; Sat, 10 Mar 2018 08:51:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6F6B16A805; Sat, 10 Mar 2018 08:51:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6A3963B11; Sat, 10 Mar 2018 08:51:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2A8p2tL070841; Sat, 10 Mar 2018 08:51:02 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A8p284070839; Sat, 10 Mar 2018 08:51:02 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803100851.w2A8p284070839@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Sat, 10 Mar 2018 08:51:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330738 - in stable/11/bin/cat: . tests X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: in stable/11/bin/cat: . tests X-SVN-Commit-Revision: 330738 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 08:51:02 -0000 Author: eadler Date: Sat Mar 10 08:51:02 2018 New Revision: 330738 URL: https://svnweb.freebsd.org/changeset/base/330738 Log: Revert MFC of r323865 While this behavior can be viewed as a bug fix, due to the fundamental nature of cat(1), leave this change only for a major version. PR: 210607 Requested by: sevan Modified: stable/11/bin/cat/cat.c stable/11/bin/cat/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/bin/cat/cat.c ============================================================================== --- stable/11/bin/cat/cat.c Sat Mar 10 04:17:01 2018 (r330737) +++ stable/11/bin/cat/cat.c Sat Mar 10 08:51:02 2018 (r330738) @@ -225,16 +225,10 @@ cook_cat(FILE *fp) } else gobble = 0; } - if (nflag) { - if (!bflag || ch != '\n') { - (void)fprintf(stdout, "%6d\t", ++line); - if (ferror(stdout)) - break; - } else if (eflag) { - (void)fprintf(stdout, "%6s\t", ""); - if (ferror(stdout)) - break; - } + if (nflag && (!bflag || ch != '\n')) { + (void)fprintf(stdout, "%6d\t", ++line); + if (ferror(stdout)) + break; } } if (ch == '\n') { Modified: stable/11/bin/cat/tests/Makefile ============================================================================== --- stable/11/bin/cat/tests/Makefile Sat Mar 10 04:17:01 2018 (r330737) +++ stable/11/bin/cat/tests/Makefile Sat Mar 10 08:51:02 2018 (r330738) @@ -17,4 +17,10 @@ ${PACKAGE}FILES+= d_vt_output.out .include +d_align.out: ${TESTSRC}/d_align.out + sed -E -e 's,^[[:space:]]{7}\$$$$,\$$,' < ${.ALLSRC} > ${.TARGET}.tmp + mv ${.TARGET}.tmp ${.TARGET} + +CLEANFILES+= d_align.out d_align.out.tmp + .include From owner-svn-src-stable@freebsd.org Sat Mar 10 09:17:53 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3178FF2EB53; Sat, 10 Mar 2018 09:17:53 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DBBFF6B8A1; Sat, 10 Mar 2018 09:17:52 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D69C94035; Sat, 10 Mar 2018 09:17:52 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2A9HqG8085810; Sat, 10 Mar 2018 09:17:52 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2A9Hq87085809; Sat, 10 Mar 2018 09:17:52 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201803100917.w2A9Hq87085809@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Sat, 10 Mar 2018 09:17:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r330739 - stable/11/lib/libc/rpc X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/lib/libc/rpc X-SVN-Commit-Revision: 330739 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@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 09:17:53 -0000 Author: eadler Date: Sat Mar 10 09:17:52 2018 New Revision: 330739 URL: https://svnweb.freebsd.org/changeset/base/330739 Log: MFC r330572: des_crypt.3: Fix typo. Modified: stable/11/lib/libc/rpc/des_crypt.3 Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/rpc/des_crypt.3 ============================================================================== --- stable/11/lib/libc/rpc/des_crypt.3 Sat Mar 10 08:51:02 2018 (r330738) +++ stable/11/lib/libc/rpc/des_crypt.3 Sat Mar 10 09:17:52 2018 (r330739) @@ -108,7 +108,7 @@ vector upon return. No error. .It Bq Er DESERR_NOHWDEVICE Encryption succeeded, but done in software instead of the requested hardware. -.It Bq Er DESERR_HWERR +.It Bq Er DESERR_HWERROR An error occurred in the hardware or driver. .It Bq Er DESERR_BADPARAM Bad argument to routine. From owner-svn-src-stable@freebsd.org Sat Mar 10 13:27:04 2018 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E2695F374E9; Sat, 10 Mar 2018 13:27:03 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from mail.soaustin.net (mail.soaustin.net [192.108.105.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.soaustin.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 774557359E; Sat, 10 Mar 2018 13:27:02 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from lonesome.com (bones.soaustin.net [192.108.105.22]) by mail.soaustin.net (Postfix) with ESMTPSA id 8492FE1A; Sat, 10 Mar 2018 07:27:00 -0600 (CST) Date: Sat, 10 Mar 2018 07:26:59 -0600 From: Mark Linimon To: Alexey Dokuchaev Cc: Ian Lepore , src-committers , Eitan Adler , John Baldwin , svn-src-stable@freebsd.org, svn-src-all@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211 Message-ID: <20180310132659.GA27490@lonesome.com> References: <201803050754.w257swAE001435@repo.freebsd.org> <6465173.s2nWvWCLOs@ralph.baldwin.cx> <8377086.JrIgVVMXMv@ralph.baldwin.cx> <20180309110240.GA77718@FreeBSD.org> <1520617802.84937.26.camel@freebsd.org> <20180310082743.GB18340@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180310082743.GB18340@FreeBSD.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Mar 2018 13:27:04 -0000 On Sat, Mar 10, 2018 at 08:27:43AM +0000, Alexey Dokuchaev wrote: > one can update their machines and go back easily if things went south. After wasting time, like I did most of Thursday. mcl