From owner-svn-src-stable-11@freebsd.org Sun Sep 25 09:36:53 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EA3BDBE614B; Sun, 25 Sep 2016 09:36:53 +0000 (UTC) (envelope-from roberto@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 A235A1562; Sun, 25 Sep 2016 09:36:53 +0000 (UTC) (envelope-from roberto@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8P9aqQF048132; Sun, 25 Sep 2016 09:36:52 GMT (envelope-from roberto@FreeBSD.org) Received: (from roberto@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8P9aqtl048130; Sun, 25 Sep 2016 09:36:52 GMT (envelope-from roberto@FreeBSD.org) Message-Id: <201609250936.u8P9aqtl048130@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: roberto set sender to roberto@FreeBSD.org using -f From: Ollivier Robert Date: Sun, 25 Sep 2016 09:36: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: r306308 - stable/11/lib/libpam/modules/pam_ssh X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Sep 2016 09:36:54 -0000 Author: roberto Date: Sun Sep 25 09:36:52 2016 New Revision: 306308 URL: https://svnweb.freebsd.org/changeset/base/306308 Log: MFC: 304626,304635: r304626: Add support for Ed25519 keys. r304635: Remove support for SSH1, already disabled in our OpenSSH. Submitted by: mwlucas (r304626), vangyzen (r304635) Modified: stable/11/lib/libpam/modules/pam_ssh/pam_ssh.8 stable/11/lib/libpam/modules/pam_ssh/pam_ssh.c Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libpam/modules/pam_ssh/pam_ssh.8 ============================================================================== --- stable/11/lib/libpam/modules/pam_ssh/pam_ssh.8 Sun Sep 25 07:48:08 2016 (r306307) +++ stable/11/lib/libpam/modules/pam_ssh/pam_ssh.8 Sun Sep 25 09:36:52 2016 (r306308) @@ -128,15 +128,15 @@ Start an agent even if no keys were decr authentication phase. .El .Sh FILES -.Bl -tag -width ".Pa $HOME/.ssh/identity" -compact -.It Pa $HOME/.ssh/identity -SSH1 RSA key +.Bl -tag -width ".Pa $HOME/.ssh/id_ed25519" -compact .It Pa $HOME/.ssh/id_rsa SSH2 RSA key .It Pa $HOME/.ssh/id_dsa SSH2 DSA key .It Pa $HOME/.ssh/id_ecdsa SSH2 ECDSA key +.It Pa $HOME/.ssh/id_ed25519 +SSH2 Ed25519 key .El .Sh SEE ALSO .Xr ssh-agent 1 , Modified: stable/11/lib/libpam/modules/pam_ssh/pam_ssh.c ============================================================================== --- stable/11/lib/libpam/modules/pam_ssh/pam_ssh.c Sun Sep 25 07:48:08 2016 (r306307) +++ stable/11/lib/libpam/modules/pam_ssh/pam_ssh.c Sun Sep 25 09:36:52 2016 (r306308) @@ -77,10 +77,10 @@ static const char *pam_ssh_prompt = "SSH static const char *pam_ssh_have_keys = "pam_ssh_have_keys"; static const char *pam_ssh_keyfiles[] = { - ".ssh/identity", /* SSH1 RSA key */ ".ssh/id_rsa", /* SSH2 RSA key */ ".ssh/id_dsa", /* SSH2 DSA key */ ".ssh/id_ecdsa", /* SSH2 ECDSA key */ + ".ssh/id_ed25519", /* SSH2 Ed25519 key */ NULL }; From owner-svn-src-stable-11@freebsd.org Sun Sep 25 13:52:57 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 55364BE8603; Sun, 25 Sep 2016 13:52:57 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 0171DEE0; Sun, 25 Sep 2016 13:52:56 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8PDqukT044739; Sun, 25 Sep 2016 13:52:56 GMT (envelope-from kevlo@FreeBSD.org) Received: (from kevlo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8PDquEf044736; Sun, 25 Sep 2016 13:52:56 GMT (envelope-from kevlo@FreeBSD.org) Message-Id: <201609251352.u8PDquEf044736@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevlo set sender to kevlo@FreeBSD.org using -f From: Kevin Lo Date: Sun, 25 Sep 2016 13:52: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: r306309 - in stable/11: share/man/man4 sys/dev/re sys/dev/rl X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Sep 2016 13:52:57 -0000 Author: kevlo Date: Sun Sep 25 13:52:55 2016 New Revision: 306309 URL: https://svnweb.freebsd.org/changeset/base/306309 Log: MFC r306102: Add support for the TP-Link TG-3468 v2. This is an RTL8168 chip, which we already support so all we have to do is add the vendor ID. PR: 212876 Submitted by: Tobias Kortkamp Modified: stable/11/share/man/man4/re.4 stable/11/sys/dev/re/if_re.c stable/11/sys/dev/rl/if_rlreg.h Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/re.4 ============================================================================== --- stable/11/share/man/man4/re.4 Sun Sep 25 09:36:52 2016 (r306308) +++ stable/11/share/man/man4/re.4 Sun Sep 25 13:52:55 2016 (r306309) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 26, 2011 +.Dd September 21, 2016 .Dt RE 4 .Os .Sh NAME @@ -165,6 +165,8 @@ LinkSys EG1032 (32-bit PCI) .It PLANEX COMMUNICATIONS Inc.\& GN-1200TC (8169S) .It +TP-Link TG-3468 v2 Gigabit Ethernet (8168) +.It USRobotics USR997902 Gigabit Ethernet (8169S) .It Xterasys XN-152 10/100/1000 NIC (8169) Modified: stable/11/sys/dev/re/if_re.c ============================================================================== --- stable/11/sys/dev/re/if_re.c Sun Sep 25 09:36:52 2016 (r306308) +++ stable/11/sys/dev/re/if_re.c Sun Sep 25 13:52:55 2016 (r306309) @@ -183,6 +183,8 @@ static const struct rl_type re_devs[] = "RealTek 810xE PCIe 10/100baseTX" }, { RT_VENDORID, RT_DEVICEID_8168, 0, "RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet" }, + { NCUBE_VENDORID, RT_DEVICEID_8168, 0, + "TP-Link TG-3468 v2 (RTL8168) Gigabit Ethernet" }, { RT_VENDORID, RT_DEVICEID_8169, 0, "RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet" }, { RT_VENDORID, RT_DEVICEID_8169SC, 0, Modified: stable/11/sys/dev/rl/if_rlreg.h ============================================================================== --- stable/11/sys/dev/rl/if_rlreg.h Sun Sep 25 09:36:52 2016 (r306308) +++ stable/11/sys/dev/rl/if_rlreg.h Sun Sep 25 13:52:55 2016 (r306309) @@ -1158,3 +1158,8 @@ struct rl_softc { /* US Robotics 997902 device ID */ #define USR_DEVICEID_997902 0x0116 + +/* + * NCube vendor ID + */ +#define NCUBE_VENDORID 0x10FF From owner-svn-src-stable-11@freebsd.org Sun Sep 25 17:24:11 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C066DBE9C1A; Sun, 25 Sep 2016 17:24:11 +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 mx1.freebsd.org (Postfix) with ESMTPS id 80C94F76; Sun, 25 Sep 2016 17:24:11 +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 u8PHOAjR023994; Sun, 25 Sep 2016 17:24:10 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8PHOA1e023990; Sun, 25 Sep 2016 17:24:10 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609251724.u8PHOA1e023990@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 25 Sep 2016 17:24: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: r306314 - in stable/11: share/man/man9 sys/amd64/amd64 sys/amd64/include X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Sep 2016 17:24:11 -0000 Author: kib Date: Sun Sep 25 17:24:10 2016 New Revision: 306314 URL: https://svnweb.freebsd.org/changeset/base/306314 Log: MFC r305692: Add FPU_KERN_NOCTX flag to the fpu_kern_enter() function on amd64. Modified: stable/11/share/man/man9/fpu_kern.9 stable/11/sys/amd64/amd64/fpu.c stable/11/sys/amd64/include/fpu.h stable/11/sys/amd64/include/pcb.h Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man9/fpu_kern.9 ============================================================================== --- stable/11/share/man/man9/fpu_kern.9 Sun Sep 25 16:50:31 2016 (r306313) +++ stable/11/share/man/man9/fpu_kern.9 Sun Sep 25 17:24:10 2016 (r306314) @@ -120,6 +120,16 @@ could be used from both kernel thread an The .Fn fpu_kern_leave function correctly handles such contexts. +.It Dv FPU_KERN_NOCTX +Avoid nesting save area. +If the flag is specified, the +.Fa ctx +must be passed as +.Va NULL . +The flag should only be used for really short code blocks +which can be executed in a critical section. +It avoids the need to allocate the FPU context by the cost +of increased system latency. .El .El .Pp Modified: stable/11/sys/amd64/amd64/fpu.c ============================================================================== --- stable/11/sys/amd64/amd64/fpu.c Sun Sep 25 16:50:31 2016 (r306313) +++ stable/11/sys/amd64/amd64/fpu.c Sun Sep 25 17:24:10 2016 (r306314) @@ -633,6 +633,8 @@ fpudna(void) */ critical_enter(); + KASSERT((curpcb->pcb_flags & PCB_FPUNOSAVE) == 0, + ("fpudna while in fpu_kern_enter(FPU_KERN_NOCTX)")); if (PCPU_GET(fpcurthread) == curthread) { printf("fpudna: fpcurthread == curthread\n"); stop_emulating(); @@ -964,13 +966,39 @@ fpu_kern_enter(struct thread *td, struct { struct pcb *pcb; - KASSERT((ctx->flags & FPU_KERN_CTX_INUSE) == 0, ("using inuse ctx")); + pcb = td->td_pcb; + KASSERT((flags & FPU_KERN_NOCTX) != 0 || ctx != NULL, + ("ctx is required when !FPU_KERN_NOCTX")); + KASSERT(ctx == NULL || (ctx->flags & FPU_KERN_CTX_INUSE) == 0, + ("using inuse ctx")); + KASSERT((pcb->pcb_flags & PCB_FPUNOSAVE) == 0, + ("recursive fpu_kern_enter while in PCB_FPUNOSAVE state")); + if ((flags & FPU_KERN_NOCTX) != 0) { + critical_enter(); + stop_emulating(); + if (curthread == PCPU_GET(fpcurthread)) { + fpusave(curpcb->pcb_save); + PCPU_SET(fpcurthread, NULL); + } else { + KASSERT(PCPU_GET(fpcurthread) == NULL, + ("invalid fpcurthread")); + } + + /* + * This breaks XSAVEOPT tracker, but + * PCB_FPUNOSAVE state is supposed to never need to + * save FPU context at all. + */ + fpurestore(fpu_initialstate); + set_pcb_flags(pcb, PCB_KERNFPU | PCB_FPUNOSAVE | + PCB_FPUINITDONE); + return (0); + } if ((flags & FPU_KERN_KTHR) != 0 && is_fpu_kern_thread(0)) { ctx->flags = FPU_KERN_CTX_DUMMY | FPU_KERN_CTX_INUSE; return (0); } - pcb = td->td_pcb; KASSERT(!PCB_USER_FPU(pcb) || pcb->pcb_save == get_pcb_user_save_pcb(pcb), ("mangled pcb_save")); ctx->flags = FPU_KERN_CTX_INUSE; @@ -989,19 +1017,34 @@ fpu_kern_leave(struct thread *td, struct { struct pcb *pcb; - KASSERT((ctx->flags & FPU_KERN_CTX_INUSE) != 0, - ("leaving not inuse ctx")); - ctx->flags &= ~FPU_KERN_CTX_INUSE; - - if (is_fpu_kern_thread(0) && (ctx->flags & FPU_KERN_CTX_DUMMY) != 0) - return (0); - KASSERT((ctx->flags & FPU_KERN_CTX_DUMMY) == 0, ("dummy ctx")); pcb = td->td_pcb; - critical_enter(); - if (curthread == PCPU_GET(fpcurthread)) - fpudrop(); - critical_exit(); - pcb->pcb_save = ctx->prev; + + if ((pcb->pcb_flags & PCB_FPUNOSAVE) != 0) { + KASSERT(ctx == NULL, ("non-null ctx after FPU_KERN_NOCTX")); + KASSERT(PCPU_GET(fpcurthread) == NULL, + ("non-NULL fpcurthread for PCB_FPUNOSAVE")); + CRITICAL_ASSERT(td); + + clear_pcb_flags(pcb, PCB_FPUNOSAVE | PCB_FPUINITDONE); + start_emulating(); + critical_exit(); + } else { + KASSERT((ctx->flags & FPU_KERN_CTX_INUSE) != 0, + ("leaving not inuse ctx")); + ctx->flags &= ~FPU_KERN_CTX_INUSE; + + if (is_fpu_kern_thread(0) && + (ctx->flags & FPU_KERN_CTX_DUMMY) != 0) + return (0); + KASSERT((ctx->flags & FPU_KERN_CTX_DUMMY) == 0, + ("dummy ctx")); + critical_enter(); + if (curthread == PCPU_GET(fpcurthread)) + fpudrop(); + critical_exit(); + pcb->pcb_save = ctx->prev; + } + if (pcb->pcb_save == get_pcb_user_save_pcb(pcb)) { if ((pcb->pcb_flags & PCB_USERFPUINITDONE) != 0) { set_pcb_flags(pcb, PCB_FPUINITDONE); Modified: stable/11/sys/amd64/include/fpu.h ============================================================================== --- stable/11/sys/amd64/include/fpu.h Sun Sep 25 16:50:31 2016 (r306313) +++ stable/11/sys/amd64/include/fpu.h Sun Sep 25 17:24:10 2016 (r306314) @@ -86,6 +86,7 @@ void fpu_save_area_reset(struct savefpu #define FPU_KERN_NORMAL 0x0000 #define FPU_KERN_NOWAIT 0x0001 #define FPU_KERN_KTHR 0x0002 +#define FPU_KERN_NOCTX 0x0004 #endif Modified: stable/11/sys/amd64/include/pcb.h ============================================================================== --- stable/11/sys/amd64/include/pcb.h Sun Sep 25 16:50:31 2016 (r306313) +++ stable/11/sys/amd64/include/pcb.h Sun Sep 25 17:24:10 2016 (r306314) @@ -83,6 +83,7 @@ struct pcb { #define PCB_FPUINITDONE 0x08 /* fpu state is initialized */ #define PCB_USERFPUINITDONE 0x10 /* fpu user state is initialized */ #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ +#define PCB_FPUNOSAVE 0x80 /* no save area for current FPU ctx */ uint16_t pcb_initial_fpucw; From owner-svn-src-stable-11@freebsd.org Sun Sep 25 17:55:54 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 68F7ABDE25F; Sun, 25 Sep 2016 17:55:54 +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 mx1.freebsd.org (Postfix) with ESMTPS id 3B3371B0F; Sun, 25 Sep 2016 17:55:54 +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 u8PHtr7q034989; Sun, 25 Sep 2016 17:55:53 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8PHtrmd034988; Sun, 25 Sep 2016 17:55:53 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609251755.u8PHtrmd034988@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 25 Sep 2016 17:55: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: r306315 - stable/11/sys/boot/efi/include X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Sep 2016 17:55:54 -0000 Author: kib Date: Sun Sep 25 17:55:53 2016 New Revision: 306315 URL: https://svnweb.freebsd.org/changeset/base/306315 Log: MFC r305941: Add double-inclusion protection. MFC r305947: Add comment for the closing guard. Modified: stable/11/sys/boot/efi/include/efilib.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/boot/efi/include/efilib.h ============================================================================== --- stable/11/sys/boot/efi/include/efilib.h Sun Sep 25 17:24:10 2016 (r306314) +++ stable/11/sys/boot/efi/include/efilib.h Sun Sep 25 17:55:53 2016 (r306315) @@ -27,6 +27,9 @@ * $FreeBSD$ */ +#ifndef _LOADER_EFILIB_H +#define _LOADER_EFILIB_H + #include extern EFI_HANDLE IH; @@ -61,3 +64,5 @@ void efi_time_fini(void); EFI_STATUS main(int argc, CHAR16 *argv[]); void exit(EFI_STATUS status); void delay(int usecs); + +#endif /* _LOADER_EFILIB_H */ From owner-svn-src-stable-11@freebsd.org Sun Sep 25 17:57:54 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AD9B8BDE3F2; Sun, 25 Sep 2016 17:57:54 +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 mx1.freebsd.org (Postfix) with ESMTPS id 46D561DDF; Sun, 25 Sep 2016 17:57:54 +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 u8PHvrMa035110; Sun, 25 Sep 2016 17:57:53 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8PHvrBC035105; Sun, 25 Sep 2016 17:57:53 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609251757.u8PHvrBC035105@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 25 Sep 2016 17:57: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: r306316 - in stable/11: sbin/sysctl sys/amd64/amd64 sys/arm/arm sys/arm64/arm64 sys/sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Sep 2016 17:57:54 -0000 Author: kib Date: Sun Sep 25 17:57:52 2016 New Revision: 306316 URL: https://svnweb.freebsd.org/changeset/base/306316 Log: MFC r305942: Consolidate four efi_next_descriptor() definitions. Modified: stable/11/sbin/sysctl/sysctl.c stable/11/sys/amd64/amd64/machdep.c stable/11/sys/arm/arm/machdep.c stable/11/sys/arm64/arm64/machdep.c stable/11/sys/sys/efi.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/sysctl/sysctl.c ============================================================================== --- stable/11/sbin/sysctl/sysctl.c Sun Sep 25 17:55:53 2016 (r306315) +++ stable/11/sbin/sysctl/sysctl.c Sun Sep 25 17:57:52 2016 (r306316) @@ -637,9 +637,6 @@ S_vmtotal(size_t l2, void *p) } #ifdef __amd64__ -#define efi_next_descriptor(ptr, size) \ - ((struct efi_md *)(((uint8_t *) ptr) + size)) - static int S_efi_map(size_t l2, void *p) { Modified: stable/11/sys/amd64/amd64/machdep.c ============================================================================== --- stable/11/sys/amd64/amd64/machdep.c Sun Sep 25 17:55:53 2016 (r306315) +++ stable/11/sys/amd64/amd64/machdep.c Sun Sep 25 17:57:52 2016 (r306316) @@ -1064,9 +1064,6 @@ bios_add_smap_entries(struct bios_smap * } } -#define efi_next_descriptor(ptr, size) \ - ((struct efi_md *)(((uint8_t *) ptr) + size)) - static void add_efi_map_entries(struct efi_map_header *efihdr, vm_paddr_t *physmap, int *physmap_idx) Modified: stable/11/sys/arm/arm/machdep.c ============================================================================== --- stable/11/sys/arm/arm/machdep.c Sun Sep 25 17:55:53 2016 (r306315) +++ stable/11/sys/arm/arm/machdep.c Sun Sep 25 17:57:52 2016 (r306316) @@ -1398,9 +1398,6 @@ set_stackptrs(int cpu) #endif #ifdef EFI -#define efi_next_descriptor(ptr, size) \ - ((struct efi_md *)(((uint8_t *) ptr) + size)) - static void add_efi_map_entries(struct efi_map_header *efihdr, struct mem_region *mr, int *mrcnt) Modified: stable/11/sys/arm64/arm64/machdep.c ============================================================================== --- stable/11/sys/arm64/arm64/machdep.c Sun Sep 25 17:55:53 2016 (r306315) +++ stable/11/sys/arm64/arm64/machdep.c Sun Sep 25 17:57:52 2016 (r306316) @@ -690,9 +690,6 @@ add_fdt_mem_regions(struct mem_region *m } #endif -#define efi_next_descriptor(ptr, size) \ - ((struct efi_md *)(((uint8_t *) ptr) + size)) - static void add_efi_map_entries(struct efi_map_header *efihdr, vm_paddr_t *physmap, u_int *physmap_idxp) Modified: stable/11/sys/sys/efi.h ============================================================================== --- stable/11/sys/sys/efi.h Sun Sep 25 17:55:53 2016 (r306315) +++ stable/11/sys/sys/efi.h Sun Sep 25 17:57:52 2016 (r306316) @@ -85,6 +85,9 @@ struct efi_md { #define EFI_MD_ATTR_RT 0x8000000000000000UL }; +#define efi_next_descriptor(ptr, size) \ + ((struct efi_md *)(((uint8_t *)(ptr)) + (size))) + struct efi_tm { uint16_t tm_year; /* 1998 - 20XX */ uint8_t tm_mon; /* 1 - 12 */ From owner-svn-src-stable-11@freebsd.org Sun Sep 25 17:58:56 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CF4FCBDE494; Sun, 25 Sep 2016 17:58:56 +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 mx1.freebsd.org (Postfix) with ESMTPS id 8F0461F36; Sun, 25 Sep 2016 17:58:56 +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 u8PHwtou035197; Sun, 25 Sep 2016 17:58:55 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8PHwtMo035196; Sun, 25 Sep 2016 17:58:55 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609251758.u8PHwtMo035196@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 25 Sep 2016 17:58: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: r306317 - stable/11/sys/boot/efi/loader/arch/amd64 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Sep 2016 17:58:56 -0000 Author: kib Date: Sun Sep 25 17:58:55 2016 New Revision: 306317 URL: https://svnweb.freebsd.org/changeset/base/306317 Log: MFC r305943: Utilize pmap.h names. Modified: stable/11/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c ============================================================================== --- stable/11/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c Sun Sep 25 17:57:52 2016 (r306316) +++ stable/11/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c Sun Sep 25 17:58:55 2016 (r306317) @@ -35,6 +35,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include @@ -57,8 +59,14 @@ extern int bi_load(char *args, vm_offset static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); -static struct file_format amd64_elf = { elf64_loadfile, elf64_exec }; -static struct file_format amd64_elf_obj = { elf64_obj_loadfile, elf64_obj_exec }; +static struct file_format amd64_elf = { + .l_load = elf64_loadfile, + .l_exec = elf64_exec, +}; +static struct file_format amd64_elf_obj = { + .l_load = elf64_obj_loadfile, + .l_exec = elf64_obj_exec, +}; struct file_format *file_formats[] = { &amd64_elf, @@ -66,21 +74,12 @@ struct file_format *file_formats[] = { NULL }; -#define PG_V 0x001 -#define PG_RW 0x002 -#define PG_U 0x004 -#define PG_PS 0x080 - -typedef u_int64_t p4_entry_t; -typedef u_int64_t p3_entry_t; -typedef u_int64_t p2_entry_t; -static p4_entry_t *PT4; -static p3_entry_t *PT3; -static p2_entry_t *PT2; +static pml4_entry_t *PT4; +static pdp_entry_t *PT3; +static pd_entry_t *PT2; static void (*trampoline)(uint64_t stack, void *copy_finish, uint64_t kernend, - uint64_t modulep, p4_entry_t *pagetable, - uint64_t entry); + uint64_t modulep, pml4_entry_t *pagetable, uint64_t entry); extern uintptr_t amd64_tramp; extern uint32_t amd64_tramp_size; @@ -157,7 +156,7 @@ elf64_exec(struct preloaded_file *fp) bcopy((void *)&amd64_tramp, (void *)trampcode, amd64_tramp_size); trampoline = (void *)trampcode; - PT4 = (p4_entry_t *)0x0000000040000000; + PT4 = (pml4_entry_t *)0x0000000040000000; err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 3, (EFI_PHYSICAL_ADDRESS *)&PT4); bzero(PT4, 3 * EFI_PAGE_SIZE); @@ -172,11 +171,11 @@ elf64_exec(struct preloaded_file *fp) */ for (i = 0; i < 512; i++) { /* Each slot of the L4 pages points to the same L3 page. */ - PT4[i] = (p4_entry_t)PT3; + PT4[i] = (pml4_entry_t)PT3; PT4[i] |= PG_V | PG_RW | PG_U; /* Each slot of the L3 pages points to the same L2 page. */ - PT3[i] = (p3_entry_t)PT2; + PT3[i] = (pdp_entry_t)PT2; PT3[i] |= PG_V | PG_RW | PG_U; /* The L2 page slots are mapped with 2MB pages for 1GB. */ @@ -204,5 +203,6 @@ elf64_exec(struct preloaded_file *fp) static int elf64_obj_exec(struct preloaded_file *fp) { + return (EFTYPE); } From owner-svn-src-stable-11@freebsd.org Sun Sep 25 22:02:29 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85087BEA411; Sun, 25 Sep 2016 22:02:29 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 221A2283; Sun, 25 Sep 2016 22:02:29 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8PM2SEL028774; Sun, 25 Sep 2016 22:02:28 GMT (envelope-from mm@FreeBSD.org) Received: (from mm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8PM2RDA028766; Sun, 25 Sep 2016 22:02:27 GMT (envelope-from mm@FreeBSD.org) Message-Id: <201609252202.u8PM2RDA028766@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mm set sender to mm@FreeBSD.org using -f From: Martin Matuska Date: Sun, 25 Sep 2016 22:02: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: r306321 - in stable/11: contrib/libarchive/libarchive contrib/libarchive/libarchive/test lib/libarchive/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Sep 2016 22:02:29 -0000 Author: mm Date: Sun Sep 25 22:02:27 2016 New Revision: 306321 URL: https://svnweb.freebsd.org/changeset/base/306321 Log: MFC r305819: Sync libarchive with vendor including important security fixes. Issues fixed (FreeBSD): PR #778: ACL error handling Issue #745: Symlink check prefix optimization is too aggressive Issue #746: Hard links with data can evade sandboxing restrictions This update fixes the vulnerability #3 and vulnerability #4 as reported in "non-cryptanalytic attacks against FreeBSD update components". https://gist.github.com/anonymous/e48209b03f1dd9625a992717e7b89c4f Fix for vulnerability #2 has already been merged in r305188. Security: http://gist.github.com/anonymous/e48209b03f1dd9625a992717e7b89c4f Modified: stable/11/contrib/libarchive/libarchive/archive_platform.h stable/11/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c stable/11/contrib/libarchive/libarchive/archive_read_disk_posix.c stable/11/contrib/libarchive/libarchive/archive_read_support_format_tar.c stable/11/contrib/libarchive/libarchive/archive_write_disk_acl.c stable/11/contrib/libarchive/libarchive/archive_write_disk_posix.c stable/11/contrib/libarchive/libarchive/test/test_write_disk_secure745.c stable/11/contrib/libarchive/libarchive/test/test_write_disk_secure746.c stable/11/contrib/libarchive/libarchive/test/test_write_format_gnutar_filenames.c stable/11/lib/libarchive/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/libarchive/libarchive/archive_platform.h ============================================================================== --- stable/11/contrib/libarchive/libarchive/archive_platform.h Sun Sep 25 19:13:07 2016 (r306320) +++ stable/11/contrib/libarchive/libarchive/archive_platform.h Sun Sep 25 22:02:27 2016 (r306321) @@ -159,6 +159,15 @@ #define CAN_RESTORE_METADATA_FD #endif +/* + * glibc 2.24 deprecates readdir_r + */ +#if defined(HAVE_READDIR_R) && (!defined(__GLIBC__) || !defined(__GLIBC_MINOR__) || __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 24)) +#define USE_READDIR_R 1 +#else +#undef USE_READDIR_R +#endif + /* Set up defaults for internal error codes. */ #ifndef ARCHIVE_ERRNO_FILE_FORMAT #if HAVE_EFTYPE Modified: stable/11/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c ============================================================================== --- stable/11/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c Sun Sep 25 19:13:07 2016 (r306320) +++ stable/11/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c Sun Sep 25 22:02:27 2016 (r306321) @@ -411,9 +411,7 @@ setup_acls(struct archive_read_disk *a, { const char *accpath; acl_t acl; -#if HAVE_ACL_IS_TRIVIAL_NP int r; -#endif accpath = archive_entry_sourcepath(entry); if (accpath == NULL) @@ -473,9 +471,13 @@ setup_acls(struct archive_read_disk *a, } #endif if (acl != NULL) { - translate_acl(a, entry, acl, ARCHIVE_ENTRY_ACL_TYPE_NFS4); + r = translate_acl(a, entry, acl, ARCHIVE_ENTRY_ACL_TYPE_NFS4); acl_free(acl); - return (ARCHIVE_OK); + if (r != ARCHIVE_OK) { + archive_set_error(&a->archive, errno, + "Couldn't translate NFSv4 ACLs: %s", accpath); + } + return (r); } #endif /* ACL_TYPE_NFS4 */ @@ -506,19 +508,30 @@ setup_acls(struct archive_read_disk *a, #endif if (acl != NULL) { - translate_acl(a, entry, acl, + r = translate_acl(a, entry, acl, ARCHIVE_ENTRY_ACL_TYPE_ACCESS); acl_free(acl); acl = NULL; + if (r != ARCHIVE_OK) { + archive_set_error(&a->archive, errno, + "Couldn't translate access ACLs: %s", accpath); + return (r); + } } /* Only directories can have default ACLs. */ if (S_ISDIR(archive_entry_mode(entry))) { acl = acl_get_file(accpath, ACL_TYPE_DEFAULT); if (acl != NULL) { - translate_acl(a, entry, acl, + r = translate_acl(a, entry, acl, ARCHIVE_ENTRY_ACL_TYPE_DEFAULT); acl_free(acl); + if (r != ARCHIVE_OK) { + archive_set_error(&a->archive, errno, + "Couldn't translate default ACLs: %s", + accpath); + return (r); + } } } return (ARCHIVE_OK); @@ -574,19 +587,23 @@ translate_acl(struct archive_read_disk * #ifdef ACL_TYPE_NFS4 acl_entry_type_t acl_type; acl_flagset_t acl_flagset; - int brand, r; + int brand; #endif acl_entry_t acl_entry; acl_permset_t acl_permset; int i, entry_acl_type; - int s, ae_id, ae_tag, ae_perm; + int r, s, ae_id, ae_tag, ae_perm; const char *ae_name; #ifdef ACL_TYPE_NFS4 // FreeBSD "brands" ACLs as POSIX.1e or NFSv4 // Make sure the "brand" on this ACL is consistent // with the default_entry_acl_type bits provided. - acl_get_brand_np(acl, &brand); + if (acl_get_brand_np(acl, &brand) != 0) { + archive_set_error(&a->archive, errno, + "Failed to read ACL brand"); + return (ARCHIVE_WARN); + } switch (brand) { case ACL_BRAND_POSIX: switch (default_entry_acl_type) { @@ -594,31 +611,43 @@ translate_acl(struct archive_read_disk * case ARCHIVE_ENTRY_ACL_TYPE_DEFAULT: break; default: - // XXX set warning message? - return ARCHIVE_FAILED; + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Invalid ACL entry type for POSIX.1e ACL"); + return (ARCHIVE_WARN); } break; case ACL_BRAND_NFS4: if (default_entry_acl_type & ~ARCHIVE_ENTRY_ACL_TYPE_NFS4) { - // XXX set warning message? - return ARCHIVE_FAILED; + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Invalid ACL entry type for NFSv4 ACL"); + return (ARCHIVE_WARN); } break; default: - // XXX set warning message? - return ARCHIVE_FAILED; + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Unknown ACL brand"); + return (ARCHIVE_WARN); break; } #endif s = acl_get_entry(acl, ACL_FIRST_ENTRY, &acl_entry); + if (s == -1) { + archive_set_error(&a->archive, errno, + "Failed to get first ACL entry"); + return (ARCHIVE_WARN); + } while (s == 1) { ae_id = -1; ae_name = NULL; ae_perm = 0; - acl_get_tag_type(acl_entry, &acl_tag); + if (acl_get_tag_type(acl_entry, &acl_tag) != 0) { + archive_set_error(&a->archive, errno, + "Failed to get ACL tag type"); + return (ARCHIVE_WARN); + } switch (acl_tag) { case ACL_USER: ae_id = (int)*(uid_t *)acl_get_qualifier(acl_entry); @@ -653,13 +682,18 @@ translate_acl(struct archive_read_disk * continue; } - // XXX acl type maps to allow/deny/audit/YYYY bits - // XXX acl_get_entry_type_np on FreeBSD returns EINVAL for - // non-NFSv4 ACLs + // XXX acl_type maps to allow/deny/audit/YYYY bits entry_acl_type = default_entry_acl_type; #ifdef ACL_TYPE_NFS4 - r = acl_get_entry_type_np(acl_entry, &acl_type); - if (r == 0) { + if (default_entry_acl_type & ARCHIVE_ENTRY_ACL_TYPE_NFS4) { + /* + * acl_get_entry_type_np() falis with non-NFSv4 ACLs + */ + if (acl_get_entry_type_np(acl_entry, &acl_type) != 0) { + archive_set_error(&a->archive, errno, "Failed " + "to get ACL type from a NFSv4 ACL entry"); + return (ARCHIVE_WARN); + } switch (acl_type) { case ACL_ENTRY_TYPE_ALLOW: entry_acl_type = ARCHIVE_ENTRY_ACL_TYPE_ALLOW; @@ -673,32 +707,53 @@ translate_acl(struct archive_read_disk * case ACL_ENTRY_TYPE_ALARM: entry_acl_type = ARCHIVE_ENTRY_ACL_TYPE_ALARM; break; + default: + archive_set_error(&a->archive, errno, + "Invalid NFSv4 ACL entry type"); + return (ARCHIVE_WARN); } - } - /* - * Libarchive stores "flag" (NFSv4 inheritance bits) - * in the ae_perm bitmap. - */ - // XXX acl_get_flagset_np on FreeBSD returns EINVAL for - // non-NFSv4 ACLs - r = acl_get_flagset_np(acl_entry, &acl_flagset); - if (r == 0) { + /* + * Libarchive stores "flag" (NFSv4 inheritance bits) + * in the ae_perm bitmap. + * + * acl_get_flagset_np() fails with non-NFSv4 ACLs + */ + if (acl_get_flagset_np(acl_entry, &acl_flagset) != 0) { + archive_set_error(&a->archive, errno, + "Failed to get flagset from a NFSv4 ACL entry"); + return (ARCHIVE_WARN); + } for (i = 0; i < (int)(sizeof(acl_inherit_map) / sizeof(acl_inherit_map[0])); ++i) { - if (acl_get_flag_np(acl_flagset, - acl_inherit_map[i].platform_inherit)) + r = acl_get_flag_np(acl_flagset, + acl_inherit_map[i].platform_inherit); + if (r == -1) { + archive_set_error(&a->archive, errno, + "Failed to check flag in a NFSv4 " + "ACL flagset"); + return (ARCHIVE_WARN); + } else if (r) ae_perm |= acl_inherit_map[i].archive_inherit; } } #endif - acl_get_permset(acl_entry, &acl_permset); + if (acl_get_permset(acl_entry, &acl_permset) != 0) { + archive_set_error(&a->archive, errno, + "Failed to get ACL permission set"); + return (ARCHIVE_WARN); + } for (i = 0; i < (int)(sizeof(acl_perm_map) / sizeof(acl_perm_map[0])); ++i) { /* * acl_get_perm() is spelled differently on different * platforms; see above. */ - if (ACL_GET_PERM(acl_permset, acl_perm_map[i].platform_perm)) + r = ACL_GET_PERM(acl_permset, acl_perm_map[i].platform_perm); + if (r == -1) { + archive_set_error(&a->archive, errno, + "Failed to check permission in an ACL permission set"); + return (ARCHIVE_WARN); + } else if (r) ae_perm |= acl_perm_map[i].archive_perm; } @@ -707,6 +762,11 @@ translate_acl(struct archive_read_disk * ae_id, ae_name); s = acl_get_entry(acl, ACL_NEXT_ENTRY, &acl_entry); + if (s == -1) { + archive_set_error(&a->archive, errno, + "Failed to get next ACL entry"); + return (ARCHIVE_WARN); + } } return (ARCHIVE_OK); } Modified: stable/11/contrib/libarchive/libarchive/archive_read_disk_posix.c ============================================================================== --- stable/11/contrib/libarchive/libarchive/archive_read_disk_posix.c Sun Sep 25 19:13:07 2016 (r306320) +++ stable/11/contrib/libarchive/libarchive/archive_read_disk_posix.c Sun Sep 25 22:02:27 2016 (r306321) @@ -165,7 +165,7 @@ struct filesystem { int synthetic; int remote; int noatime; -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) size_t name_max; #endif long incr_xfer_size; @@ -200,7 +200,7 @@ struct tree { DIR *d; #define INVALID_DIR_HANDLE NULL struct dirent *de; -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) struct dirent *dirent; size_t dirent_allocated; #endif @@ -1592,7 +1592,7 @@ setup_current_filesystem(struct archive_ #endif t->current_filesystem->noatime = 0; -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) /* Set maximum filename length. */ #if defined(HAVE_STRUCT_STATFS_F_NAMEMAX) t->current_filesystem->name_max = sfs.f_namemax; @@ -1615,7 +1615,7 @@ setup_current_filesystem(struct archive_ else t->current_filesystem->name_max = nm; #endif -#endif /* HAVE_READDIR_R */ +#endif /* USE_READDIR_R */ return (ARCHIVE_OK); } @@ -1817,7 +1817,7 @@ setup_current_filesystem(struct archive_ #endif t->current_filesystem->noatime = 0; -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) /* Set maximum filename length. */ t->current_filesystem->name_max = sfs.f_namelen; #endif @@ -1901,7 +1901,7 @@ setup_current_filesystem(struct archive_ #endif t->current_filesystem->noatime = 0; -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) /* Set maximum filename length. */ t->current_filesystem->name_max = sfs.f_namemax; #endif @@ -1918,7 +1918,7 @@ static int setup_current_filesystem(struct archive_read_disk *a) { struct tree *t = a->tree; -#if defined(_PC_NAME_MAX) && defined(HAVE_READDIR_R) +#if defined(_PC_NAME_MAX) && defined(USE_READDIR_R) long nm; #endif t->current_filesystem->synthetic = -1;/* Not supported */ @@ -1930,7 +1930,7 @@ setup_current_filesystem(struct archive_ t->current_filesystem->min_xfer_size = -1; t->current_filesystem->incr_xfer_size = -1; -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) /* Set maximum filename length. */ # if defined(_PC_NAME_MAX) if (tree_current_is_symblic_link_target(t)) { @@ -1958,7 +1958,7 @@ setup_current_filesystem(struct archive_ else t->current_filesystem->name_max = nm; # endif /* _PC_NAME_MAX */ -#endif /* HAVE_READDIR_R */ +#endif /* USE_READDIR_R */ return (ARCHIVE_OK); } @@ -2366,7 +2366,7 @@ tree_dir_next_posix(struct tree *t) size_t namelen; if (t->d == NULL) { -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) size_t dirent_size; #endif @@ -2387,7 +2387,7 @@ tree_dir_next_posix(struct tree *t) t->visit_type = r != 0 ? r : TREE_ERROR_DIR; return (t->visit_type); } -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) dirent_size = offsetof(struct dirent, d_name) + t->filesystem_table[t->current->filesystem_id].name_max + 1; if (t->dirent == NULL || t->dirent_allocated < dirent_size) { @@ -2404,11 +2404,11 @@ tree_dir_next_posix(struct tree *t) } t->dirent_allocated = dirent_size; } -#endif /* HAVE_READDIR_R */ +#endif /* USE_READDIR_R */ } for (;;) { errno = 0; -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) r = readdir_r(t->d, t->dirent, &t->de); #ifdef _AIX /* Note: According to the man page, return value 9 indicates @@ -2660,7 +2660,7 @@ tree_free(struct tree *t) if (t == NULL) return; archive_string_free(&t->path); -#if defined(HAVE_READDIR_R) +#if defined(USE_READDIR_R) free(t->dirent); #endif free(t->sparse_list); Modified: stable/11/contrib/libarchive/libarchive/archive_read_support_format_tar.c ============================================================================== --- stable/11/contrib/libarchive/libarchive/archive_read_support_format_tar.c Sun Sep 25 19:13:07 2016 (r306320) +++ stable/11/contrib/libarchive/libarchive/archive_read_support_format_tar.c Sun Sep 25 22:02:27 2016 (r306321) @@ -136,6 +136,7 @@ struct tar { int64_t entry_padding; int64_t entry_bytes_unconsumed; int64_t realsize; + int sparse_allowed; struct sparse_block *sparse_list; struct sparse_block *sparse_last; int64_t sparse_offset; @@ -1271,6 +1272,14 @@ header_common(struct archive_read *a, st * sparse information in the extended area. */ /* FALLTHROUGH */ + case '0': + /* + * Enable sparse file "read" support only for regular + * files and explicit GNU sparse files. However, we + * don't allow non-standard file types to be sparse. + */ + tar->sparse_allowed = 1; + /* FALLTHROUGH */ default: /* Regular file and non-standard types */ /* * Per POSIX: non-recognized types should always be @@ -1730,6 +1739,14 @@ pax_attribute(struct archive_read *a, st #endif switch (key[0]) { case 'G': + /* Reject GNU.sparse.* headers on non-regular files. */ + if (strncmp(key, "GNU.sparse", 10) == 0 && + !tar->sparse_allowed) { + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Non-regular file cannot be sparse"); + return (ARCHIVE_FATAL); + } + /* GNU "0.0" sparse pax format. */ if (strcmp(key, "GNU.sparse.numblocks") == 0) { tar->sparse_offset = -1; Modified: stable/11/contrib/libarchive/libarchive/archive_write_disk_acl.c ============================================================================== --- stable/11/contrib/libarchive/libarchive/archive_write_disk_acl.c Sun Sep 25 19:13:07 2016 (r306320) +++ stable/11/contrib/libarchive/libarchive/archive_write_disk_acl.c Sun Sep 25 22:02:27 2016 (r306321) @@ -153,9 +153,19 @@ set_acl(struct archive *a, int fd, const if (entries == 0) return (ARCHIVE_OK); acl = acl_init(entries); + if (acl == (acl_t)NULL) { + archive_set_error(a, errno, + "Failed to initialize ACL working storage"); + return (ARCHIVE_FAILED); + } while (archive_acl_next(a, abstract_acl, ae_requested_type, &ae_type, &ae_permset, &ae_tag, &ae_id, &ae_name) == ARCHIVE_OK) { - acl_create_entry(&acl, &acl_entry); + if (acl_create_entry(&acl, &acl_entry) != 0) { + archive_set_error(a, errno, + "Failed to create a new ACL entry"); + ret = ARCHIVE_FAILED; + goto exit_free; + } switch (ae_tag) { case ARCHIVE_ENTRY_ACL_USER: @@ -186,53 +196,96 @@ set_acl(struct archive *a, int fd, const break; #endif default: - /* XXX */ - break; + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "Unknown ACL tag"); + ret = ARCHIVE_FAILED; + goto exit_free; } #ifdef ACL_TYPE_NFS4 + r = 0; switch (ae_type) { case ARCHIVE_ENTRY_ACL_TYPE_ALLOW: - acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_ALLOW); + r = acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_ALLOW); break; case ARCHIVE_ENTRY_ACL_TYPE_DENY: - acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_DENY); + r = acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_DENY); break; case ARCHIVE_ENTRY_ACL_TYPE_AUDIT: - acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_AUDIT); + r = acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_AUDIT); break; case ARCHIVE_ENTRY_ACL_TYPE_ALARM: - acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_ALARM); + r = acl_set_entry_type_np(acl_entry, ACL_ENTRY_TYPE_ALARM); break; case ARCHIVE_ENTRY_ACL_TYPE_ACCESS: case ARCHIVE_ENTRY_ACL_TYPE_DEFAULT: // These don't translate directly into the system ACL. break; default: - // XXX error handling here. - break; + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "Unknown ACL entry type"); + ret = ARCHIVE_FAILED; + goto exit_free; + } + if (r != 0) { + archive_set_error(a, errno, + "Failed to set ACL entry type"); + ret = ARCHIVE_FAILED; + goto exit_free; } #endif - acl_get_permset(acl_entry, &acl_permset); - acl_clear_perms(acl_permset); + if (acl_get_permset(acl_entry, &acl_permset) != 0) { + archive_set_error(a, errno, + "Failed to get ACL permission set"); + ret = ARCHIVE_FAILED; + goto exit_free; + } + if (acl_clear_perms(acl_permset) != 0) { + archive_set_error(a, errno, + "Failed to clear ACL permissions"); + ret = ARCHIVE_FAILED; + goto exit_free; + } for (i = 0; i < (int)(sizeof(acl_perm_map) / sizeof(acl_perm_map[0])); ++i) { if (ae_permset & acl_perm_map[i].archive_perm) - acl_add_perm(acl_permset, - acl_perm_map[i].platform_perm); + if (acl_add_perm(acl_permset, + acl_perm_map[i].platform_perm) != 0) { + archive_set_error(a, errno, + "Failed to add ACL permission"); + ret = ARCHIVE_FAILED; + goto exit_free; + } } #ifdef ACL_TYPE_NFS4 - // XXX acl_get_flagset_np on FreeBSD returns EINVAL for - // non-NFSv4 ACLs - r = acl_get_flagset_np(acl_entry, &acl_flagset); - if (r == 0) { - acl_clear_flags_np(acl_flagset); + if (acl_type == ACL_TYPE_NFS4) { + /* + * acl_get_flagset_np() fails with non-NFSv4 ACLs + */ + if (acl_get_flagset_np(acl_entry, &acl_flagset) != 0) { + archive_set_error(a, errno, + "Failed to get flagset from an NFSv4 ACL entry"); + ret = ARCHIVE_FAILED; + goto exit_free; + } + if (acl_clear_flags_np(acl_flagset) != 0) { + archive_set_error(a, errno, + "Failed to clear flags from an NFSv4 ACL flagset"); + ret = ARCHIVE_FAILED; + goto exit_free; + } for (i = 0; i < (int)(sizeof(acl_inherit_map) / sizeof(acl_inherit_map[0])); ++i) { - if (ae_permset & acl_inherit_map[i].archive_inherit) - acl_add_flag_np(acl_flagset, - acl_inherit_map[i].platform_inherit); + if (ae_permset & acl_inherit_map[i].archive_inherit) { + if (acl_add_flag_np(acl_flagset, + acl_inherit_map[i].platform_inherit) != 0) { + archive_set_error(a, errno, + "Failed to add flag to NFSv4 ACL flagset"); + ret = ARCHIVE_FAILED; + goto exit_free; + } + } } } #endif @@ -262,6 +315,7 @@ set_acl(struct archive *a, int fd, const ret = ARCHIVE_WARN; } #endif +exit_free: acl_free(acl); return (ret); } Modified: stable/11/contrib/libarchive/libarchive/archive_write_disk_posix.c ============================================================================== --- stable/11/contrib/libarchive/libarchive/archive_write_disk_posix.c Sun Sep 25 19:13:07 2016 (r306320) +++ stable/11/contrib/libarchive/libarchive/archive_write_disk_posix.c Sun Sep 25 22:02:27 2016 (r306321) @@ -140,7 +140,17 @@ __FBSDID("$FreeBSD$"); #define O_BINARY 0 #endif #ifndef O_CLOEXEC -#define O_CLOEXEC 0 +#define O_CLOEXEC 0 +#endif + +/* Ignore non-int O_NOFOLLOW constant. */ +/* gnulib's fcntl.h does this on AIX, but it seems practical everywhere */ +#if defined O_NOFOLLOW && !(INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX) +#undef O_NOFOLLOW +#endif + +#ifndef O_NOFOLLOW +#define O_NOFOLLOW 0 #endif struct fixup_entry { @@ -326,12 +336,14 @@ struct archive_write_disk { #define HFS_BLOCKS(s) ((s) >> 12) +static int check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error_string, int flags); static int check_symlinks(struct archive_write_disk *); static int create_filesystem_object(struct archive_write_disk *); static struct fixup_entry *current_fixup(struct archive_write_disk *, const char *pathname); #if defined(HAVE_FCHDIR) && defined(PATH_MAX) static void edit_deep_directories(struct archive_write_disk *ad); #endif +static int cleanup_pathname_fsobj(char *path, int *error_number, struct archive_string *error_string, int flags); static int cleanup_pathname(struct archive_write_disk *); static int create_dir(struct archive_write_disk *, char *); static int create_parent_dir(struct archive_write_disk *, char *); @@ -2014,6 +2026,10 @@ create_filesystem_object(struct archive_ const char *linkname; mode_t final_mode, mode; int r; + /* these for check_symlinks_fsobj */ + char *linkname_copy; /* non-const copy of linkname */ + struct archive_string error_string; + int error_number; /* We identify hard/symlinks according to the link names. */ /* Since link(2) and symlink(2) don't handle modes, we're done here. */ @@ -2022,6 +2038,27 @@ create_filesystem_object(struct archive_ #if !HAVE_LINK return (EPERM); #else + archive_string_init(&error_string); + linkname_copy = strdup(linkname); + if (linkname_copy == NULL) { + return (EPERM); + } + /* TODO: consider using the cleaned-up path as the link target? */ + r = cleanup_pathname_fsobj(linkname_copy, &error_number, &error_string, a->flags); + if (r != ARCHIVE_OK) { + archive_set_error(&a->archive, error_number, "%s", error_string.s); + free(linkname_copy); + /* EPERM is more appropriate than error_number for our callers */ + return (EPERM); + } + r = check_symlinks_fsobj(linkname_copy, &error_number, &error_string, a->flags); + if (r != ARCHIVE_OK) { + archive_set_error(&a->archive, error_number, "%s", error_string.s); + free(linkname_copy); + /* EPERM is more appropriate than error_number for our callers */ + return (EPERM); + } + free(linkname_copy); r = link(linkname, a->name) ? errno : 0; /* * New cpio and pax formats allow hardlink entries @@ -2040,7 +2077,7 @@ create_filesystem_object(struct archive_ a->deferred = 0; } else if (r == 0 && a->filesize > 0) { a->fd = open(a->name, - O_WRONLY | O_TRUNC | O_BINARY | O_CLOEXEC); + O_WRONLY | O_TRUNC | O_BINARY | O_CLOEXEC | O_NOFOLLOW); __archive_ensure_cloexec_flag(a->fd); if (a->fd < 0) r = errno; @@ -2351,126 +2388,233 @@ current_fixup(struct archive_write_disk return (a->current_fixup); } -/* TODO: Make this work. */ -/* - * TODO: The deep-directory support bypasses this; disable deep directory - * support if we're doing symlink checks. - */ /* * TODO: Someday, integrate this with the deep dir support; they both * scan the path and both can be optimized by comparing against other * recent paths. */ /* TODO: Extend this to support symlinks on Windows Vista and later. */ + +/* + * Checks the given path to see if any elements along it are symlinks. Returns + * ARCHIVE_OK if there are none, otherwise puts an error in errmsg. + */ static int -check_symlinks(struct archive_write_disk *a) +check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error_string, int flags) { #if !defined(HAVE_LSTAT) /* Platform doesn't have lstat, so we can't look for symlinks. */ - (void)a; /* UNUSED */ + (void)path; /* UNUSED */ + (void)error_number; /* UNUSED */ + (void)error_string; /* UNUSED */ + (void)flags; /* UNUSED */ return (ARCHIVE_OK); #else - char *pn; + int res = ARCHIVE_OK; + char *tail; + char *head; + int last; char c; int r; struct stat st; + int restore_pwd; + + /* Nothing to do here if name is empty */ + if(path[0] == '\0') + return (ARCHIVE_OK); /* * Guard against symlink tricks. Reject any archive entry whose * destination would be altered by a symlink. - */ - /* Whatever we checked last time doesn't need to be re-checked. */ - pn = a->name; - if (archive_strlen(&(a->path_safe)) > 0) { - char *p = a->path_safe.s; - while ((*pn != '\0') && (*p == *pn)) - ++p, ++pn; - } + * + * Walk the filename in chunks separated by '/'. For each segment: + * - if it doesn't exist, continue + * - if it's symlink, abort or remove it + * - if it's a directory and it's not the last chunk, cd into it + * As we go: + * head points to the current (relative) path + * tail points to the temporary \0 terminating the segment we're currently examining + * c holds what used to be in *tail + * last is 1 if this is the last tail + */ + restore_pwd = open(".", O_RDONLY | O_BINARY | O_CLOEXEC); + __archive_ensure_cloexec_flag(restore_pwd); + if (restore_pwd < 0) + return (ARCHIVE_FATAL); + head = path; + tail = path; + last = 0; + /* TODO: reintroduce a safe cache here? */ /* Skip the root directory if the path is absolute. */ - if(pn == a->name && pn[0] == '/') - ++pn; - c = pn[0]; - /* Keep going until we've checked the entire name. */ - while (pn[0] != '\0' && (pn[0] != '/' || pn[1] != '\0')) { + if(tail == path && tail[0] == '/') + ++tail; + /* Keep going until we've checked the entire name. + * head, tail, path all alias the same string, which is + * temporarily zeroed at tail, so be careful restoring the + * stashed (c=tail[0]) for error messages. + * Exiting the loop with break is okay; continue is not. + */ + while (!last) { + /* Skip the separator we just consumed, plus any adjacent ones */ + while (*tail == '/') + ++tail; /* Skip the next path element. */ - while (*pn != '\0' && *pn != '/') - ++pn; - c = pn[0]; - pn[0] = '\0'; + while (*tail != '\0' && *tail != '/') + ++tail; + /* is this the last path component? */ + last = (tail[0] == '\0') || (tail[0] == '/' && tail[1] == '\0'); + /* temporarily truncate the string here */ + c = tail[0]; + tail[0] = '\0'; /* Check that we haven't hit a symlink. */ - r = lstat(a->name, &st); + r = lstat(head, &st); if (r != 0) { + tail[0] = c; /* We've hit a dir that doesn't exist; stop now. */ if (errno == ENOENT) { break; } else { - /* Note: This effectively disables deep directory + /* Treat any other error as fatal - best to be paranoid here + * Note: This effectively disables deep directory * support when security checks are enabled. * Otherwise, very long pathnames that trigger * an error here could evade the sandbox. * TODO: We could do better, but it would probably * require merging the symlink checks with the * deep-directory editing. */ - return (ARCHIVE_FAILED); + if (error_number) *error_number = errno; + if (error_string) + archive_string_sprintf(error_string, + "Could not stat %s", + path); + res = ARCHIVE_FAILED; + break; + } + } else if (S_ISDIR(st.st_mode)) { + if (!last) { + if (chdir(head) != 0) { + tail[0] = c; + if (error_number) *error_number = errno; + if (error_string) + archive_string_sprintf(error_string, + "Could not chdir %s", + path); + res = (ARCHIVE_FATAL); + break; + } + /* Our view is now from inside this dir: */ + head = tail + 1; } } else if (S_ISLNK(st.st_mode)) { - if (c == '\0') { + if (last) { /* * Last element is symlink; remove it * so we can overwrite it with the * item being extracted. */ - if (unlink(a->name)) { - archive_set_error(&a->archive, errno, - "Could not remove symlink %s", - a->name); - pn[0] = c; - return (ARCHIVE_FAILED); + if (unlink(head)) { + tail[0] = c; + if (error_number) *error_number = errno; + if (error_string) + archive_string_sprintf(error_string, + "Could not remove symlink %s", + path); + res = ARCHIVE_FAILED; + break; } - a->pst = NULL; /* * Even if we did remove it, a warning * is in order. The warning is silly, * though, if we're just replacing one * symlink with another symlink. */ - if (!S_ISLNK(a->mode)) { - archive_set_error(&a->archive, 0, - "Removing symlink %s", - a->name); + tail[0] = c; + /* FIXME: not sure how important this is to restore + if (!S_ISLNK(path)) { + if (error_number) *error_number = 0; + if (error_string) + archive_string_sprintf(error_string, + "Removing symlink %s", + path); } + */ /* Symlink gone. No more problem! */ - pn[0] = c; - return (0); - } else if (a->flags & ARCHIVE_EXTRACT_UNLINK) { + res = ARCHIVE_OK; + break; + } else if (flags & ARCHIVE_EXTRACT_UNLINK) { /* User asked us to remove problems. */ - if (unlink(a->name) != 0) { - archive_set_error(&a->archive, 0, - "Cannot remove intervening symlink %s", - a->name); - pn[0] = c; - return (ARCHIVE_FAILED); + if (unlink(head) != 0) { + tail[0] = c; + if (error_number) *error_number = 0; + if (error_string) + archive_string_sprintf(error_string, + "Cannot remove intervening symlink %s", + path); + res = ARCHIVE_FAILED; + break; } - a->pst = NULL; + tail[0] = c; } else { - archive_set_error(&a->archive, 0, - "Cannot extract through symlink %s", - a->name); - pn[0] = c; - return (ARCHIVE_FAILED); + tail[0] = c; + if (error_number) *error_number = 0; + if (error_string) + archive_string_sprintf(error_string, + "Cannot extract through symlink %s", + path); + res = ARCHIVE_FAILED; + break; } } - pn[0] = c; - if (pn[0] != '\0') - pn++; /* Advance to the next segment. */ - } - pn[0] = c; - /* We've checked and/or cleaned the whole path, so remember it. */ - archive_strcpy(&a->path_safe, a->name); - return (ARCHIVE_OK); + /* be sure to always maintain this */ + tail[0] = c; + if (tail[0] != '\0') + tail++; /* Advance to the next segment. */ + } + /* Catches loop exits via break */ + tail[0] = c; +#ifdef HAVE_FCHDIR + /* If we changed directory above, restore it here. */ + if (restore_pwd >= 0) { + r = fchdir(restore_pwd); + if (r != 0) { + if(error_number) *error_number = errno; + if(error_string) + archive_string_sprintf(error_string, + "chdir() failure"); + } + close(restore_pwd); + restore_pwd = -1; + if (r != 0) { + res = (ARCHIVE_FATAL); + } + } +#endif + /* TODO: reintroduce a safe cache here? */ + return res; #endif } +/* + * Check a->name for symlinks, returning ARCHIVE_OK if its clean, otherwise + * calls archive_set_error and returns ARCHIVE_{FATAL,FAILED} + */ +static int +check_symlinks(struct archive_write_disk *a) +{ + struct archive_string error_string; + int error_number; + int rc; + archive_string_init(&error_string); + rc = check_symlinks_fsobj(a->name, &error_number, &error_string, a->flags); + if (rc != ARCHIVE_OK) { + archive_set_error(&a->archive, error_number, "%s", error_string.s); + } + archive_string_free(&error_string); + a->pst = NULL; /* to be safe */ + return rc; +} + + #if defined(__CYGWIN__) /* * 1. Convert a path separator from '\' to '/' . @@ -2544,15 +2688,17 @@ cleanup_pathname_win(struct archive_writ * is set) if the path is absolute. */ static int -cleanup_pathname(struct archive_write_disk *a) +cleanup_pathname_fsobj(char *path, int *error_number, struct archive_string *error_string, int flags) { char *dest, *src; char separator = '\0'; - dest = src = a->name; + dest = src = path; if (*src == '\0') { - archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, - "Invalid empty pathname"); + if (error_number) *error_number = ARCHIVE_ERRNO_MISC; + if (error_string) + archive_string_sprintf(error_string, + "Invalid empty pathname"); return (ARCHIVE_FAILED); } @@ -2561,9 +2707,11 @@ cleanup_pathname(struct archive_write_di #endif /* Skip leading '/'. */ if (*src == '/') { - if (a->flags & ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS) { - archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, - "Path is absolute"); + if (flags & ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS) { + if (error_number) *error_number = ARCHIVE_ERRNO_MISC; + if (error_string) + archive_string_sprintf(error_string, + "Path is absolute"); return (ARCHIVE_FAILED); } @@ -2590,10 +2738,11 @@ cleanup_pathname(struct archive_write_di } else if (src[1] == '.') { if (src[2] == '/' || src[2] == '\0') { /* Conditionally warn about '..' */ - if (a->flags & ARCHIVE_EXTRACT_SECURE_NODOTDOT) { - archive_set_error(&a->archive, - ARCHIVE_ERRNO_MISC, - "Path contains '..'"); + if (flags & ARCHIVE_EXTRACT_SECURE_NODOTDOT) { + if (error_number) *error_number = ARCHIVE_ERRNO_MISC; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-11@freebsd.org Mon Sep 26 14:30:30 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6DF3FBE967A; Mon, 26 Sep 2016 14:30:30 +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 mx1.freebsd.org (Postfix) with ESMTPS id E095FAAC; Mon, 26 Sep 2016 14:30: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 u8QEUTAY097147; Mon, 26 Sep 2016 14:30:29 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8QEUJMS097054; Mon, 26 Sep 2016 14:30:19 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201609261430.u8QEUJMS097054@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Mon, 26 Sep 2016 14:30:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r306343 - in stable/11: crypto/openssl crypto/openssl/crypto crypto/openssl/crypto/engine crypto/openssl/crypto/x509 crypto/openssl/ssl secure/lib/libcrypto secure/lib/libcrypto/man sec... X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Sep 2016 14:30:30 -0000 Author: jkim Date: Mon Sep 26 14:30:19 2016 New Revision: 306343 URL: https://svnweb.freebsd.org/changeset/base/306343 Log: MFC: r306342 Merge OpenSSL 1.0.2j. Modified: stable/11/crypto/openssl/CHANGES stable/11/crypto/openssl/Makefile stable/11/crypto/openssl/NEWS stable/11/crypto/openssl/README stable/11/crypto/openssl/crypto/engine/eng_cryptodev.c stable/11/crypto/openssl/crypto/opensslv.h stable/11/crypto/openssl/crypto/x509/x509_vfy.c stable/11/crypto/openssl/ssl/t1_ext.c stable/11/secure/lib/libcrypto/Makefile.inc stable/11/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 stable/11/secure/lib/libcrypto/man/ASN1_STRING_length.3 stable/11/secure/lib/libcrypto/man/ASN1_STRING_new.3 stable/11/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 stable/11/secure/lib/libcrypto/man/ASN1_TIME_set.3 stable/11/secure/lib/libcrypto/man/ASN1_generate_nconf.3 stable/11/secure/lib/libcrypto/man/BIO_ctrl.3 stable/11/secure/lib/libcrypto/man/BIO_f_base64.3 stable/11/secure/lib/libcrypto/man/BIO_f_buffer.3 stable/11/secure/lib/libcrypto/man/BIO_f_cipher.3 stable/11/secure/lib/libcrypto/man/BIO_f_md.3 stable/11/secure/lib/libcrypto/man/BIO_f_null.3 stable/11/secure/lib/libcrypto/man/BIO_f_ssl.3 stable/11/secure/lib/libcrypto/man/BIO_find_type.3 stable/11/secure/lib/libcrypto/man/BIO_new.3 stable/11/secure/lib/libcrypto/man/BIO_new_CMS.3 stable/11/secure/lib/libcrypto/man/BIO_push.3 stable/11/secure/lib/libcrypto/man/BIO_read.3 stable/11/secure/lib/libcrypto/man/BIO_s_accept.3 stable/11/secure/lib/libcrypto/man/BIO_s_bio.3 stable/11/secure/lib/libcrypto/man/BIO_s_connect.3 stable/11/secure/lib/libcrypto/man/BIO_s_fd.3 stable/11/secure/lib/libcrypto/man/BIO_s_file.3 stable/11/secure/lib/libcrypto/man/BIO_s_mem.3 stable/11/secure/lib/libcrypto/man/BIO_s_null.3 stable/11/secure/lib/libcrypto/man/BIO_s_socket.3 stable/11/secure/lib/libcrypto/man/BIO_set_callback.3 stable/11/secure/lib/libcrypto/man/BIO_should_retry.3 stable/11/secure/lib/libcrypto/man/BN_BLINDING_new.3 stable/11/secure/lib/libcrypto/man/BN_CTX_new.3 stable/11/secure/lib/libcrypto/man/BN_CTX_start.3 stable/11/secure/lib/libcrypto/man/BN_add.3 stable/11/secure/lib/libcrypto/man/BN_add_word.3 stable/11/secure/lib/libcrypto/man/BN_bn2bin.3 stable/11/secure/lib/libcrypto/man/BN_cmp.3 stable/11/secure/lib/libcrypto/man/BN_copy.3 stable/11/secure/lib/libcrypto/man/BN_generate_prime.3 stable/11/secure/lib/libcrypto/man/BN_mod_inverse.3 stable/11/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 stable/11/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 stable/11/secure/lib/libcrypto/man/BN_new.3 stable/11/secure/lib/libcrypto/man/BN_num_bytes.3 stable/11/secure/lib/libcrypto/man/BN_rand.3 stable/11/secure/lib/libcrypto/man/BN_set_bit.3 stable/11/secure/lib/libcrypto/man/BN_swap.3 stable/11/secure/lib/libcrypto/man/BN_zero.3 stable/11/secure/lib/libcrypto/man/CMS_add0_cert.3 stable/11/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 stable/11/secure/lib/libcrypto/man/CMS_add1_signer.3 stable/11/secure/lib/libcrypto/man/CMS_compress.3 stable/11/secure/lib/libcrypto/man/CMS_decrypt.3 stable/11/secure/lib/libcrypto/man/CMS_encrypt.3 stable/11/secure/lib/libcrypto/man/CMS_final.3 stable/11/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 stable/11/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 stable/11/secure/lib/libcrypto/man/CMS_get0_type.3 stable/11/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 stable/11/secure/lib/libcrypto/man/CMS_sign.3 stable/11/secure/lib/libcrypto/man/CMS_sign_receipt.3 stable/11/secure/lib/libcrypto/man/CMS_uncompress.3 stable/11/secure/lib/libcrypto/man/CMS_verify.3 stable/11/secure/lib/libcrypto/man/CMS_verify_receipt.3 stable/11/secure/lib/libcrypto/man/CONF_modules_free.3 stable/11/secure/lib/libcrypto/man/CONF_modules_load_file.3 stable/11/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 stable/11/secure/lib/libcrypto/man/DH_generate_key.3 stable/11/secure/lib/libcrypto/man/DH_generate_parameters.3 stable/11/secure/lib/libcrypto/man/DH_get_ex_new_index.3 stable/11/secure/lib/libcrypto/man/DH_new.3 stable/11/secure/lib/libcrypto/man/DH_set_method.3 stable/11/secure/lib/libcrypto/man/DH_size.3 stable/11/secure/lib/libcrypto/man/DSA_SIG_new.3 stable/11/secure/lib/libcrypto/man/DSA_do_sign.3 stable/11/secure/lib/libcrypto/man/DSA_dup_DH.3 stable/11/secure/lib/libcrypto/man/DSA_generate_key.3 stable/11/secure/lib/libcrypto/man/DSA_generate_parameters.3 stable/11/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 stable/11/secure/lib/libcrypto/man/DSA_new.3 stable/11/secure/lib/libcrypto/man/DSA_set_method.3 stable/11/secure/lib/libcrypto/man/DSA_sign.3 stable/11/secure/lib/libcrypto/man/DSA_size.3 stable/11/secure/lib/libcrypto/man/EC_GFp_simple_method.3 stable/11/secure/lib/libcrypto/man/EC_GROUP_copy.3 stable/11/secure/lib/libcrypto/man/EC_GROUP_new.3 stable/11/secure/lib/libcrypto/man/EC_KEY_new.3 stable/11/secure/lib/libcrypto/man/EC_POINT_add.3 stable/11/secure/lib/libcrypto/man/EC_POINT_new.3 stable/11/secure/lib/libcrypto/man/ERR_GET_LIB.3 stable/11/secure/lib/libcrypto/man/ERR_clear_error.3 stable/11/secure/lib/libcrypto/man/ERR_error_string.3 stable/11/secure/lib/libcrypto/man/ERR_get_error.3 stable/11/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 stable/11/secure/lib/libcrypto/man/ERR_load_strings.3 stable/11/secure/lib/libcrypto/man/ERR_print_errors.3 stable/11/secure/lib/libcrypto/man/ERR_put_error.3 stable/11/secure/lib/libcrypto/man/ERR_remove_state.3 stable/11/secure/lib/libcrypto/man/ERR_set_mark.3 stable/11/secure/lib/libcrypto/man/EVP_BytesToKey.3 stable/11/secure/lib/libcrypto/man/EVP_DigestInit.3 stable/11/secure/lib/libcrypto/man/EVP_DigestSignInit.3 stable/11/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 stable/11/secure/lib/libcrypto/man/EVP_EncodeInit.3 stable/11/secure/lib/libcrypto/man/EVP_EncryptInit.3 stable/11/secure/lib/libcrypto/man/EVP_OpenInit.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_derive.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_new.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_sign.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_verify.3 stable/11/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 stable/11/secure/lib/libcrypto/man/EVP_SealInit.3 stable/11/secure/lib/libcrypto/man/EVP_SignInit.3 stable/11/secure/lib/libcrypto/man/EVP_VerifyInit.3 stable/11/secure/lib/libcrypto/man/OBJ_nid2obj.3 stable/11/secure/lib/libcrypto/man/OPENSSL_Applink.3 stable/11/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 stable/11/secure/lib/libcrypto/man/OPENSSL_config.3 stable/11/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 stable/11/secure/lib/libcrypto/man/OPENSSL_instrument_bus.3 stable/11/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 stable/11/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 stable/11/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 stable/11/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 stable/11/secure/lib/libcrypto/man/PKCS12_create.3 stable/11/secure/lib/libcrypto/man/PKCS12_parse.3 stable/11/secure/lib/libcrypto/man/PKCS7_decrypt.3 stable/11/secure/lib/libcrypto/man/PKCS7_encrypt.3 stable/11/secure/lib/libcrypto/man/PKCS7_sign.3 stable/11/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 stable/11/secure/lib/libcrypto/man/PKCS7_verify.3 stable/11/secure/lib/libcrypto/man/RAND_add.3 stable/11/secure/lib/libcrypto/man/RAND_bytes.3 stable/11/secure/lib/libcrypto/man/RAND_cleanup.3 stable/11/secure/lib/libcrypto/man/RAND_egd.3 stable/11/secure/lib/libcrypto/man/RAND_load_file.3 stable/11/secure/lib/libcrypto/man/RAND_set_rand_method.3 stable/11/secure/lib/libcrypto/man/RSA_blinding_on.3 stable/11/secure/lib/libcrypto/man/RSA_check_key.3 stable/11/secure/lib/libcrypto/man/RSA_generate_key.3 stable/11/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 stable/11/secure/lib/libcrypto/man/RSA_new.3 stable/11/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 stable/11/secure/lib/libcrypto/man/RSA_print.3 stable/11/secure/lib/libcrypto/man/RSA_private_encrypt.3 stable/11/secure/lib/libcrypto/man/RSA_public_encrypt.3 stable/11/secure/lib/libcrypto/man/RSA_set_method.3 stable/11/secure/lib/libcrypto/man/RSA_sign.3 stable/11/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 stable/11/secure/lib/libcrypto/man/RSA_size.3 stable/11/secure/lib/libcrypto/man/SMIME_read_CMS.3 stable/11/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 stable/11/secure/lib/libcrypto/man/SMIME_write_CMS.3 stable/11/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 stable/11/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 stable/11/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 stable/11/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 stable/11/secure/lib/libcrypto/man/X509_NAME_print_ex.3 stable/11/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 stable/11/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 stable/11/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 stable/11/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 stable/11/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 stable/11/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 stable/11/secure/lib/libcrypto/man/X509_check_host.3 stable/11/secure/lib/libcrypto/man/X509_new.3 stable/11/secure/lib/libcrypto/man/X509_verify_cert.3 stable/11/secure/lib/libcrypto/man/bio.3 stable/11/secure/lib/libcrypto/man/blowfish.3 stable/11/secure/lib/libcrypto/man/bn.3 stable/11/secure/lib/libcrypto/man/bn_internal.3 stable/11/secure/lib/libcrypto/man/buffer.3 stable/11/secure/lib/libcrypto/man/crypto.3 stable/11/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 stable/11/secure/lib/libcrypto/man/d2i_CMS_ContentInfo.3 stable/11/secure/lib/libcrypto/man/d2i_DHparams.3 stable/11/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 stable/11/secure/lib/libcrypto/man/d2i_ECPKParameters.3 stable/11/secure/lib/libcrypto/man/d2i_ECPrivateKey.3 stable/11/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 stable/11/secure/lib/libcrypto/man/d2i_PrivateKey.3 stable/11/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 stable/11/secure/lib/libcrypto/man/d2i_X509.3 stable/11/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 stable/11/secure/lib/libcrypto/man/d2i_X509_CRL.3 stable/11/secure/lib/libcrypto/man/d2i_X509_NAME.3 stable/11/secure/lib/libcrypto/man/d2i_X509_REQ.3 stable/11/secure/lib/libcrypto/man/d2i_X509_SIG.3 stable/11/secure/lib/libcrypto/man/des.3 stable/11/secure/lib/libcrypto/man/dh.3 stable/11/secure/lib/libcrypto/man/dsa.3 stable/11/secure/lib/libcrypto/man/ec.3 stable/11/secure/lib/libcrypto/man/ecdsa.3 stable/11/secure/lib/libcrypto/man/engine.3 stable/11/secure/lib/libcrypto/man/err.3 stable/11/secure/lib/libcrypto/man/evp.3 stable/11/secure/lib/libcrypto/man/hmac.3 stable/11/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 stable/11/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 stable/11/secure/lib/libcrypto/man/lh_stats.3 stable/11/secure/lib/libcrypto/man/lhash.3 stable/11/secure/lib/libcrypto/man/md5.3 stable/11/secure/lib/libcrypto/man/mdc2.3 stable/11/secure/lib/libcrypto/man/pem.3 stable/11/secure/lib/libcrypto/man/rand.3 stable/11/secure/lib/libcrypto/man/rc4.3 stable/11/secure/lib/libcrypto/man/ripemd.3 stable/11/secure/lib/libcrypto/man/rsa.3 stable/11/secure/lib/libcrypto/man/sha.3 stable/11/secure/lib/libcrypto/man/threads.3 stable/11/secure/lib/libcrypto/man/ui.3 stable/11/secure/lib/libcrypto/man/ui_compat.3 stable/11/secure/lib/libcrypto/man/x509.3 stable/11/secure/lib/libssl/man/SSL_CIPHER_get_name.3 stable/11/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 stable/11/secure/lib/libssl/man/SSL_CONF_CTX_new.3 stable/11/secure/lib/libssl/man/SSL_CONF_CTX_set1_prefix.3 stable/11/secure/lib/libssl/man/SSL_CONF_CTX_set_flags.3 stable/11/secure/lib/libssl/man/SSL_CONF_CTX_set_ssl_ctx.3 stable/11/secure/lib/libssl/man/SSL_CONF_cmd.3 stable/11/secure/lib/libssl/man/SSL_CONF_cmd_argv.3 stable/11/secure/lib/libssl/man/SSL_CTX_add1_chain_cert.3 stable/11/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 stable/11/secure/lib/libssl/man/SSL_CTX_add_session.3 stable/11/secure/lib/libssl/man/SSL_CTX_ctrl.3 stable/11/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 stable/11/secure/lib/libssl/man/SSL_CTX_free.3 stable/11/secure/lib/libssl/man/SSL_CTX_get0_param.3 stable/11/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 stable/11/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 stable/11/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 stable/11/secure/lib/libssl/man/SSL_CTX_new.3 stable/11/secure/lib/libssl/man/SSL_CTX_sess_number.3 stable/11/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 stable/11/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 stable/11/secure/lib/libssl/man/SSL_CTX_sessions.3 stable/11/secure/lib/libssl/man/SSL_CTX_set1_curves.3 stable/11/secure/lib/libssl/man/SSL_CTX_set1_verify_cert_store.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_alpn_select_cb.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_cert_cb.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_custom_cli_ext.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_mode.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_options.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_read_ahead.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_timeout.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_tlsext_status_cb.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 stable/11/secure/lib/libssl/man/SSL_CTX_set_verify.3 stable/11/secure/lib/libssl/man/SSL_CTX_use_certificate.3 stable/11/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 stable/11/secure/lib/libssl/man/SSL_CTX_use_serverinfo.3 stable/11/secure/lib/libssl/man/SSL_SESSION_free.3 stable/11/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 stable/11/secure/lib/libssl/man/SSL_SESSION_get_time.3 stable/11/secure/lib/libssl/man/SSL_accept.3 stable/11/secure/lib/libssl/man/SSL_alert_type_string.3 stable/11/secure/lib/libssl/man/SSL_check_chain.3 stable/11/secure/lib/libssl/man/SSL_clear.3 stable/11/secure/lib/libssl/man/SSL_connect.3 stable/11/secure/lib/libssl/man/SSL_do_handshake.3 stable/11/secure/lib/libssl/man/SSL_free.3 stable/11/secure/lib/libssl/man/SSL_get_SSL_CTX.3 stable/11/secure/lib/libssl/man/SSL_get_ciphers.3 stable/11/secure/lib/libssl/man/SSL_get_client_CA_list.3 stable/11/secure/lib/libssl/man/SSL_get_current_cipher.3 stable/11/secure/lib/libssl/man/SSL_get_default_timeout.3 stable/11/secure/lib/libssl/man/SSL_get_error.3 stable/11/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 stable/11/secure/lib/libssl/man/SSL_get_ex_new_index.3 stable/11/secure/lib/libssl/man/SSL_get_fd.3 stable/11/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 stable/11/secure/lib/libssl/man/SSL_get_peer_certificate.3 stable/11/secure/lib/libssl/man/SSL_get_psk_identity.3 stable/11/secure/lib/libssl/man/SSL_get_rbio.3 stable/11/secure/lib/libssl/man/SSL_get_session.3 stable/11/secure/lib/libssl/man/SSL_get_verify_result.3 stable/11/secure/lib/libssl/man/SSL_get_version.3 stable/11/secure/lib/libssl/man/SSL_library_init.3 stable/11/secure/lib/libssl/man/SSL_load_client_CA_file.3 stable/11/secure/lib/libssl/man/SSL_new.3 stable/11/secure/lib/libssl/man/SSL_pending.3 stable/11/secure/lib/libssl/man/SSL_read.3 stable/11/secure/lib/libssl/man/SSL_rstate_string.3 stable/11/secure/lib/libssl/man/SSL_session_reused.3 stable/11/secure/lib/libssl/man/SSL_set_bio.3 stable/11/secure/lib/libssl/man/SSL_set_connect_state.3 stable/11/secure/lib/libssl/man/SSL_set_fd.3 stable/11/secure/lib/libssl/man/SSL_set_session.3 stable/11/secure/lib/libssl/man/SSL_set_shutdown.3 stable/11/secure/lib/libssl/man/SSL_set_verify_result.3 stable/11/secure/lib/libssl/man/SSL_shutdown.3 stable/11/secure/lib/libssl/man/SSL_state_string.3 stable/11/secure/lib/libssl/man/SSL_want.3 stable/11/secure/lib/libssl/man/SSL_write.3 stable/11/secure/lib/libssl/man/d2i_SSL_SESSION.3 stable/11/secure/lib/libssl/man/ssl.3 stable/11/secure/usr.bin/openssl/man/CA.pl.1 stable/11/secure/usr.bin/openssl/man/asn1parse.1 stable/11/secure/usr.bin/openssl/man/c_rehash.1 stable/11/secure/usr.bin/openssl/man/ca.1 stable/11/secure/usr.bin/openssl/man/ciphers.1 stable/11/secure/usr.bin/openssl/man/cms.1 stable/11/secure/usr.bin/openssl/man/crl.1 stable/11/secure/usr.bin/openssl/man/crl2pkcs7.1 stable/11/secure/usr.bin/openssl/man/dgst.1 stable/11/secure/usr.bin/openssl/man/dhparam.1 stable/11/secure/usr.bin/openssl/man/dsa.1 stable/11/secure/usr.bin/openssl/man/dsaparam.1 stable/11/secure/usr.bin/openssl/man/ec.1 stable/11/secure/usr.bin/openssl/man/ecparam.1 stable/11/secure/usr.bin/openssl/man/enc.1 stable/11/secure/usr.bin/openssl/man/errstr.1 stable/11/secure/usr.bin/openssl/man/gendsa.1 stable/11/secure/usr.bin/openssl/man/genpkey.1 stable/11/secure/usr.bin/openssl/man/genrsa.1 stable/11/secure/usr.bin/openssl/man/nseq.1 stable/11/secure/usr.bin/openssl/man/ocsp.1 stable/11/secure/usr.bin/openssl/man/openssl.1 stable/11/secure/usr.bin/openssl/man/passwd.1 stable/11/secure/usr.bin/openssl/man/pkcs12.1 stable/11/secure/usr.bin/openssl/man/pkcs7.1 stable/11/secure/usr.bin/openssl/man/pkcs8.1 stable/11/secure/usr.bin/openssl/man/pkey.1 stable/11/secure/usr.bin/openssl/man/pkeyparam.1 stable/11/secure/usr.bin/openssl/man/pkeyutl.1 stable/11/secure/usr.bin/openssl/man/rand.1 stable/11/secure/usr.bin/openssl/man/req.1 stable/11/secure/usr.bin/openssl/man/rsa.1 stable/11/secure/usr.bin/openssl/man/rsautl.1 stable/11/secure/usr.bin/openssl/man/s_client.1 stable/11/secure/usr.bin/openssl/man/s_server.1 stable/11/secure/usr.bin/openssl/man/s_time.1 stable/11/secure/usr.bin/openssl/man/sess_id.1 stable/11/secure/usr.bin/openssl/man/smime.1 stable/11/secure/usr.bin/openssl/man/speed.1 stable/11/secure/usr.bin/openssl/man/spkac.1 stable/11/secure/usr.bin/openssl/man/ts.1 stable/11/secure/usr.bin/openssl/man/tsget.1 stable/11/secure/usr.bin/openssl/man/verify.1 stable/11/secure/usr.bin/openssl/man/version.1 stable/11/secure/usr.bin/openssl/man/x509.1 stable/11/secure/usr.bin/openssl/man/x509v3_config.1 Directory Properties: stable/11/ (props changed) Modified: stable/11/crypto/openssl/CHANGES ============================================================================== --- stable/11/crypto/openssl/CHANGES Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/crypto/openssl/CHANGES Mon Sep 26 14:30:19 2016 (r306343) @@ -2,6 +2,18 @@ OpenSSL CHANGES _______________ + Changes between 1.0.2i and 1.0.2j [26 Sep 2016] + + *) Missing CRL sanity check + + A bug fix which included a CRL sanity check was added to OpenSSL 1.1.0 + but was omitted from OpenSSL 1.0.2i. As a result any attempt to use + CRLs in OpenSSL 1.0.2i will crash with a null pointer exception. + + This issue only affects the OpenSSL 1.0.2i + (CVE-2016-7052) + [Matt Caswell] + Changes between 1.0.2h and 1.0.2i [22 Sep 2016] *) OCSP Status Request extension unbounded memory growth Modified: stable/11/crypto/openssl/Makefile ============================================================================== --- stable/11/crypto/openssl/Makefile Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/crypto/openssl/Makefile Mon Sep 26 14:30:19 2016 (r306343) @@ -4,7 +4,7 @@ ## Makefile for OpenSSL ## -VERSION=1.0.2i +VERSION=1.0.2j MAJOR=1 MINOR=0.2 SHLIB_VERSION_NUMBER=1.0.0 Modified: stable/11/crypto/openssl/NEWS ============================================================================== --- stable/11/crypto/openssl/NEWS Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/crypto/openssl/NEWS Mon Sep 26 14:30:19 2016 (r306343) @@ -5,6 +5,10 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.0.2i and OpenSSL 1.0.2j [26 Sep 2016] + + o Fix Use After Free for large message sizes (CVE-2016-6309) + Major changes between OpenSSL 1.0.2h and OpenSSL 1.0.2i [22 Sep 2016] o OCSP Status Request extension unbounded memory growth (CVE-2016-6304) Modified: stable/11/crypto/openssl/README ============================================================================== --- stable/11/crypto/openssl/README Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/crypto/openssl/README Mon Sep 26 14:30:19 2016 (r306343) @@ -1,5 +1,5 @@ - OpenSSL 1.0.2i 22 Sep 2016 + OpenSSL 1.0.2j 26 Sep 2016 Copyright (c) 1998-2015 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson Modified: stable/11/crypto/openssl/crypto/engine/eng_cryptodev.c ============================================================================== --- stable/11/crypto/openssl/crypto/engine/eng_cryptodev.c Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/crypto/openssl/crypto/engine/eng_cryptodev.c Mon Sep 26 14:30:19 2016 (r306343) @@ -939,7 +939,7 @@ static int cryptodev_digest_copy(EVP_MD_ if (fstate->mac_len != 0) { if (fstate->mac_data != NULL) { dstate->mac_data = OPENSSL_malloc(fstate->mac_len); - if (dstate->ac_data == NULL) { + if (dstate->mac_data == NULL) { printf("cryptodev_digest_init: malloc failed\n"); return 0; } Modified: stable/11/crypto/openssl/crypto/opensslv.h ============================================================================== --- stable/11/crypto/openssl/crypto/opensslv.h Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/crypto/openssl/crypto/opensslv.h Mon Sep 26 14:30:19 2016 (r306343) @@ -30,11 +30,11 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x1000209fL +# define OPENSSL_VERSION_NUMBER 0x100020afL # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2i-fips 22 Sep 2016" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2j-fips 26 Sep 2016" # else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2i-freebsd 22 Sep 2016" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2j-freebsd 26 Sep 2016" # endif # define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT Modified: stable/11/crypto/openssl/crypto/x509/x509_vfy.c ============================================================================== --- stable/11/crypto/openssl/crypto/x509/x509_vfy.c Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/crypto/openssl/crypto/x509/x509_vfy.c Mon Sep 26 14:30:19 2016 (r306343) @@ -1124,10 +1124,10 @@ static int get_crl_sk(X509_STORE_CTX *ct crl = sk_X509_CRL_value(crls, i); reasons = *preasons; crl_score = get_crl_score(ctx, &crl_issuer, &reasons, crl, x); - if (crl_score < best_score) + if (crl_score < best_score || crl_score == 0) continue; /* If current CRL is equivalent use it if it is newer */ - if (crl_score == best_score) { + if (crl_score == best_score && best_crl != NULL) { int day, sec; if (ASN1_TIME_diff(&day, &sec, X509_CRL_get_lastUpdate(best_crl), X509_CRL_get_lastUpdate(crl)) == 0) Modified: stable/11/crypto/openssl/ssl/t1_ext.c ============================================================================== --- stable/11/crypto/openssl/ssl/t1_ext.c Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/crypto/openssl/ssl/t1_ext.c Mon Sep 26 14:30:19 2016 (r306343) @@ -275,7 +275,9 @@ int SSL_extension_supported(unsigned int case TLSEXT_TYPE_ec_point_formats: case TLSEXT_TYPE_elliptic_curves: case TLSEXT_TYPE_heartbeat: +# ifndef OPENSSL_NO_NEXTPROTONEG case TLSEXT_TYPE_next_proto_neg: +# endif case TLSEXT_TYPE_padding: case TLSEXT_TYPE_renegotiate: case TLSEXT_TYPE_server_name: Modified: stable/11/secure/lib/libcrypto/Makefile.inc ============================================================================== --- stable/11/secure/lib/libcrypto/Makefile.inc Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/Makefile.inc Mon Sep 26 14:30:19 2016 (r306343) @@ -3,8 +3,8 @@ .include # OpenSSL version used for manual page generation -OPENSSL_VER= 1.0.2i -OPENSSL_DATE= 2016-09-22 +OPENSSL_VER= 1.0.2j +OPENSSL_DATE= 2016-09-26 LCRYPTO_SRC= ${.CURDIR}/../../../crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc Modified: stable/11/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_OBJECT_new 3" -.TH ASN1_OBJECT_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH ASN1_OBJECT_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/ASN1_STRING_length.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/ASN1_STRING_length.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/ASN1_STRING_length.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_length 3" -.TH ASN1_STRING_length 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH ASN1_STRING_length 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/ASN1_STRING_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/ASN1_STRING_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/ASN1_STRING_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_new 3" -.TH ASN1_STRING_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH ASN1_STRING_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_print_ex 3" -.TH ASN1_STRING_print_ex 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH ASN1_STRING_print_ex 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/ASN1_TIME_set.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/ASN1_TIME_set.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/ASN1_TIME_set.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_TIME_set 3" -.TH ASN1_TIME_set 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH ASN1_TIME_set 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/ASN1_generate_nconf.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/ASN1_generate_nconf.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/ASN1_generate_nconf.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_generate_nconf 3" -.TH ASN1_generate_nconf 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH ASN1_generate_nconf 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_ctrl.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_ctrl.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_ctrl.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_ctrl 3" -.TH BIO_ctrl 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_ctrl 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_f_base64.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_f_base64.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_f_base64.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_base64 3" -.TH BIO_f_base64 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_f_base64 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_f_buffer.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_f_buffer.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_f_buffer.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_buffer 3" -.TH BIO_f_buffer 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_f_buffer 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_f_cipher.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_f_cipher.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_f_cipher.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_cipher 3" -.TH BIO_f_cipher 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_f_cipher 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_f_md.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_f_md.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_f_md.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_md 3" -.TH BIO_f_md 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_f_md 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_f_null.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_f_null.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_f_null.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_null 3" -.TH BIO_f_null 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_f_null 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_f_ssl.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_f_ssl.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_f_ssl.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_ssl 3" -.TH BIO_f_ssl 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_f_ssl 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_find_type.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_find_type.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_find_type.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_find_type 3" -.TH BIO_find_type 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_find_type 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_new 3" -.TH BIO_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_new_CMS.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_new_CMS.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_new_CMS.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_new_CMS 3" -.TH BIO_new_CMS 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_new_CMS 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_push.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_push.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_push.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_push 3" -.TH BIO_push 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_push 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_read.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_read.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_read.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_read 3" -.TH BIO_read 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_read 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_s_accept.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_s_accept.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_s_accept.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_accept 3" -.TH BIO_s_accept 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_s_accept 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_s_bio.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_s_bio.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_s_bio.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_bio 3" -.TH BIO_s_bio 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_s_bio 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_s_connect.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_s_connect.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_s_connect.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_connect 3" -.TH BIO_s_connect 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_s_connect 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_s_fd.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_s_fd.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_s_fd.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_fd 3" -.TH BIO_s_fd 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_s_fd 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_s_file.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_s_file.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_s_file.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_file 3" -.TH BIO_s_file 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_s_file 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_s_mem.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_s_mem.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_s_mem.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_mem 3" -.TH BIO_s_mem 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_s_mem 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_s_null.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_s_null.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_s_null.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_null 3" -.TH BIO_s_null 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_s_null 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_s_socket.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_s_socket.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_s_socket.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_socket 3" -.TH BIO_s_socket 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_s_socket 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_set_callback.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_set_callback.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_set_callback.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_set_callback 3" -.TH BIO_set_callback 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_set_callback 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BIO_should_retry.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BIO_should_retry.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BIO_should_retry.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_should_retry 3" -.TH BIO_should_retry 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BIO_should_retry 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_BLINDING_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_BLINDING_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_BLINDING_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_BLINDING_new 3" -.TH BN_BLINDING_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_BLINDING_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_CTX_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_CTX_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_CTX_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_CTX_new 3" -.TH BN_CTX_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_CTX_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_CTX_start.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_CTX_start.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_CTX_start.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_CTX_start 3" -.TH BN_CTX_start 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_CTX_start 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_add.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_add.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_add.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_add 3" -.TH BN_add 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_add 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_add_word.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_add_word.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_add_word.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_add_word 3" -.TH BN_add_word 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_add_word 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_bn2bin.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_bn2bin.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_bn2bin.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_bn2bin 3" -.TH BN_bn2bin 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_bn2bin 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_cmp.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_cmp.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_cmp.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_cmp 3" -.TH BN_cmp 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_cmp 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_copy.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_copy.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_copy.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_copy 3" -.TH BN_copy 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_copy 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_generate_prime.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_generate_prime.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_generate_prime.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_generate_prime 3" -.TH BN_generate_prime 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_generate_prime 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_mod_inverse.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_mod_inverse.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_mod_inverse.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_mod_inverse 3" -.TH BN_mod_inverse 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_mod_inverse 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_mod_mul_montgomery 3" -.TH BN_mod_mul_montgomery 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_mod_mul_montgomery 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_mod_mul_reciprocal 3" -.TH BN_mod_mul_reciprocal 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_mod_mul_reciprocal 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_new 3" -.TH BN_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_num_bytes.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_num_bytes.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_num_bytes.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_num_bytes 3" -.TH BN_num_bytes 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_num_bytes 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_rand.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_rand.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_rand.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_rand 3" -.TH BN_rand 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_rand 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_set_bit.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_set_bit.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_set_bit.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_set_bit 3" -.TH BN_set_bit 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_set_bit 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_swap.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_swap.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_swap.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_swap 3" -.TH BN_swap 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_swap 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/BN_zero.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/BN_zero.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/BN_zero.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BN_zero 3" -.TH BN_zero 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH BN_zero 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_add0_cert.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_add0_cert.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_add0_cert.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_add0_cert 3" -.TH CMS_add0_cert 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_add0_cert 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_add1_recipient_cert 3" -.TH CMS_add1_recipient_cert 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_add1_recipient_cert 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_add1_signer.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_add1_signer.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_add1_signer.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_add1_signer 3" -.TH CMS_add1_signer 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_add1_signer 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_compress.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_compress.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_compress.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_compress 3" -.TH CMS_compress 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_compress 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_decrypt.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_decrypt.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_decrypt.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_decrypt 3" -.TH CMS_decrypt 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_decrypt 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_encrypt.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_encrypt.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_encrypt.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_encrypt 3" -.TH CMS_encrypt 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_encrypt 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_final.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_final.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_final.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_final 3" -.TH CMS_final 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_final 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_get0_RecipientInfos 3" -.TH CMS_get0_RecipientInfos 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_get0_RecipientInfos 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_get0_SignerInfos 3" -.TH CMS_get0_SignerInfos 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_get0_SignerInfos 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_get0_type.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_get0_type.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_get0_type.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_get0_type 3" -.TH CMS_get0_type 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_get0_type 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_get1_ReceiptRequest 3" -.TH CMS_get1_ReceiptRequest 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_get1_ReceiptRequest 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_sign.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_sign.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_sign.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_sign 3" -.TH CMS_sign 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_sign 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_sign_receipt.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_sign_receipt.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_sign_receipt.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_sign_receipt 3" -.TH CMS_sign_receipt 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_sign_receipt 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_uncompress.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_uncompress.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_uncompress.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_uncompress 3" -.TH CMS_uncompress 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_uncompress 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_verify.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_verify.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_verify.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_verify 3" -.TH CMS_verify 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_verify 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CMS_verify_receipt.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CMS_verify_receipt.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CMS_verify_receipt.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CMS_verify_receipt 3" -.TH CMS_verify_receipt 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CMS_verify_receipt 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CONF_modules_free.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CONF_modules_free.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CONF_modules_free.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CONF_modules_free 3" -.TH CONF_modules_free 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CONF_modules_free 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CONF_modules_load_file.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CONF_modules_load_file.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CONF_modules_load_file.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CONF_modules_load_file 3" -.TH CONF_modules_load_file 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CONF_modules_load_file 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CRYPTO_set_ex_data 3" -.TH CRYPTO_set_ex_data 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH CRYPTO_set_ex_data 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DH_generate_key.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DH_generate_key.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DH_generate_key.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DH_generate_key 3" -.TH DH_generate_key 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DH_generate_key 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DH_generate_parameters.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DH_generate_parameters.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DH_generate_parameters.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DH_generate_parameters 3" -.TH DH_generate_parameters 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DH_generate_parameters 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DH_get_ex_new_index.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DH_get_ex_new_index.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DH_get_ex_new_index.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DH_get_ex_new_index 3" -.TH DH_get_ex_new_index 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DH_get_ex_new_index 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DH_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DH_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DH_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DH_new 3" -.TH DH_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DH_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DH_set_method.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DH_set_method.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DH_set_method.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DH_set_method 3" -.TH DH_set_method 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DH_set_method 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DH_size.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DH_size.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DH_size.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DH_size 3" -.TH DH_size 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DH_size 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_SIG_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_SIG_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_SIG_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_SIG_new 3" -.TH DSA_SIG_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_SIG_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_do_sign.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_do_sign.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_do_sign.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_do_sign 3" -.TH DSA_do_sign 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_do_sign 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_dup_DH.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_dup_DH.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_dup_DH.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_dup_DH 3" -.TH DSA_dup_DH 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_dup_DH 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_generate_key.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_generate_key.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_generate_key.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_generate_key 3" -.TH DSA_generate_key 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_generate_key 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_generate_parameters.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_generate_parameters.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_generate_parameters.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_generate_parameters 3" -.TH DSA_generate_parameters 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_generate_parameters 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_get_ex_new_index 3" -.TH DSA_get_ex_new_index 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_get_ex_new_index 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_new.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_new.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_new.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_new 3" -.TH DSA_new 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_new 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_set_method.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_set_method.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_set_method.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_set_method 3" -.TH DSA_set_method 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_set_method 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l Modified: stable/11/secure/lib/libcrypto/man/DSA_sign.3 ============================================================================== --- stable/11/secure/lib/libcrypto/man/DSA_sign.3 Mon Sep 26 14:22:17 2016 (r306342) +++ stable/11/secure/lib/libcrypto/man/DSA_sign.3 Mon Sep 26 14:30:19 2016 (r306343) @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "DSA_sign 3" -.TH DSA_sign 3 "2016-09-22" "1.0.2i" "OpenSSL" +.TH DSA_sign 3 "2016-09-26" "1.0.2j" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-11@freebsd.org Mon Sep 26 14:48:49 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9D546BE9F6B; Mon, 26 Sep 2016 14:48: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 mx1.freebsd.org (Postfix) with ESMTPS id 6A57A74E; Mon, 26 Sep 2016 14:48: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 u8QEmm15004763; Mon, 26 Sep 2016 14:48:48 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8QEmmlc004762; Mon, 26 Sep 2016 14:48:48 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201609261448.u8QEmmlc004762@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 26 Sep 2016 14:48: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: r306344 - stable/11/usr.bin/mkimg X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Sep 2016 14:48:49 -0000 Author: asomers Date: Mon Sep 26 14:48:48 2016 New Revision: 306344 URL: https://svnweb.freebsd.org/changeset/base/306344 Log: MFC r306131 Update mkimg(1) author's contact info Modified: stable/11/usr.bin/mkimg/mkimg.1 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/mkimg/mkimg.1 ============================================================================== --- stable/11/usr.bin/mkimg/mkimg.1 Mon Sep 26 14:30:19 2016 (r306343) +++ stable/11/usr.bin/mkimg/mkimg.1 Mon Sep 26 14:48:48 2016 (r306344) @@ -328,4 +328,4 @@ utility first appeared in The .Nm utility and manpage were written by -.An Marcel Moolenaar Aq Mt marcelm@juniper.net . +.An Marcel Moolenaar Aq Mt marcel@FreeBSD.org . From owner-svn-src-stable-11@freebsd.org Mon Sep 26 16:52:38 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42BACBE9605; Mon, 26 Sep 2016 16:52:38 +0000 (UTC) (envelope-from delphij@gmail.com) Received: from mail-io0-x22f.google.com (mail-io0-x22f.google.com [IPv6:2607:f8b0:4001:c06::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 016346C3; Mon, 26 Sep 2016 16:52:38 +0000 (UTC) (envelope-from delphij@gmail.com) Received: by mail-io0-x22f.google.com with SMTP id r145so188642656ior.0; Mon, 26 Sep 2016 09:52:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=2HWagId5z9FDK162WfRrgC4S2sFaRl3dBAq3MTtw5x4=; b=mAviw9rNyeQdk/ozW5gUtaDxS5QV3sFKm0rR/tERC7OVxxk/Kt+69mOfJDGocEwvqO XzaNto+eX+CD1rHnADwXwuBrcvbLNmtmmyKJj9nNJBNi13C0VdOUYdRNcovDYiRZqSi1 24uXRE3SVMch9e4BjEcwfjxdOrGyicBEtpiqy205W7OMr6vgO4Rwphuo82pOzXg2Z5Om 1FvGAbZCZYgg41b4a4Lnl9MjDavFFXOUtrXzgfe+Cm69lwQy6QQWPamcZt+wK+8/LBEt BWXw5hssDICJ+gPQNN0HRuRBks0oTVhomXkWsqE7zGwwWihUY/l/k6ZyfcTzGqMgdahA pLmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=2HWagId5z9FDK162WfRrgC4S2sFaRl3dBAq3MTtw5x4=; b=W8rBZMszT1LMVfD5wx96OpNH6erSPfOHsXOhYeMPZ7cAIZYajsUqtnZnq39B4pBXX4 YdGdyrbUep+4AGt738hIv3i5g2PFzfEc7mGqhmxGJH0lXwSK4UKVWuZ+QzJycWHAC/aV qyeijDHvOTYKO1bY65urTQgXgCV/0rKyHg8uOm7ptdFBJMdzr2QSqH7XHfjOI6VQjz9E MzyFyATsClZ+W5gxl/8cSFENSJg96ZiW/s8i77EuLDrMUVvxHDL3VZ6fI5l9svdeDGL6 yIQCFyk/oO0AiynWbwzMk5Hr0Q+RNFNghYOtiIBhd5S+UU6EHVHXdc+N08+ihDy7u4FN I+uQ== X-Gm-Message-State: AE9vXwP1GH7xx2ghIPJOUrDkxwvfrVwxgoO+tlrD3BdRWFktCbsr7Ae/PmPFg2p5YkMG6A5OHRUZRnSmapntGA== X-Received: by 10.107.18.214 with SMTP id 83mr24238820ios.37.1474908756512; Mon, 26 Sep 2016 09:52:36 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.129.199 with HTTP; Mon, 26 Sep 2016 09:52:35 -0700 (PDT) In-Reply-To: <201609261430.u8QEUJMS097054@repo.freebsd.org> References: <201609261430.u8QEUJMS097054@repo.freebsd.org> From: Xin LI Date: Mon, 26 Sep 2016 09:52:35 -0700 Message-ID: Subject: Re: svn commit: r306343 - in stable/11: crypto/openssl crypto/openssl/crypto crypto/openssl/crypto/engine crypto/openssl/crypto/x509 crypto/openssl/ssl secure/lib/libcrypto secure/lib/libcrypto/man sec... To: Jung-uk Kim Cc: "src-committers@freebsd.org" , "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-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Sep 2016 16:52:38 -0000 Thanks! On Mon, Sep 26, 2016 at 7:30 AM, Jung-uk Kim wrote: > Author: jkim > Date: Mon Sep 26 14:30:19 2016 > New Revision: 306343 > URL: https://svnweb.freebsd.org/changeset/base/306343 > > Log: > MFC: r306342 > > Merge OpenSSL 1.0.2j. > > Modified: > stable/11/crypto/openssl/CHANGES > stable/11/crypto/openssl/Makefile > stable/11/crypto/openssl/NEWS > stable/11/crypto/openssl/README > stable/11/crypto/openssl/crypto/engine/eng_cryptodev.c > stable/11/crypto/openssl/crypto/opensslv.h > stable/11/crypto/openssl/crypto/x509/x509_vfy.c > stable/11/crypto/openssl/ssl/t1_ext.c > stable/11/secure/lib/libcrypto/Makefile.inc > stable/11/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 > stable/11/secure/lib/libcrypto/man/ASN1_STRING_length.3 > stable/11/secure/lib/libcrypto/man/ASN1_STRING_new.3 > stable/11/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 > stable/11/secure/lib/libcrypto/man/ASN1_TIME_set.3 > stable/11/secure/lib/libcrypto/man/ASN1_generate_nconf.3 > stable/11/secure/lib/libcrypto/man/BIO_ctrl.3 > stable/11/secure/lib/libcrypto/man/BIO_f_base64.3 > stable/11/secure/lib/libcrypto/man/BIO_f_buffer.3 > stable/11/secure/lib/libcrypto/man/BIO_f_cipher.3 > stable/11/secure/lib/libcrypto/man/BIO_f_md.3 > stable/11/secure/lib/libcrypto/man/BIO_f_null.3 > stable/11/secure/lib/libcrypto/man/BIO_f_ssl.3 > stable/11/secure/lib/libcrypto/man/BIO_find_type.3 > stable/11/secure/lib/libcrypto/man/BIO_new.3 > stable/11/secure/lib/libcrypto/man/BIO_new_CMS.3 > stable/11/secure/lib/libcrypto/man/BIO_push.3 > stable/11/secure/lib/libcrypto/man/BIO_read.3 > stable/11/secure/lib/libcrypto/man/BIO_s_accept.3 > stable/11/secure/lib/libcrypto/man/BIO_s_bio.3 > stable/11/secure/lib/libcrypto/man/BIO_s_connect.3 > stable/11/secure/lib/libcrypto/man/BIO_s_fd.3 > stable/11/secure/lib/libcrypto/man/BIO_s_file.3 > stable/11/secure/lib/libcrypto/man/BIO_s_mem.3 > stable/11/secure/lib/libcrypto/man/BIO_s_null.3 > stable/11/secure/lib/libcrypto/man/BIO_s_socket.3 > stable/11/secure/lib/libcrypto/man/BIO_set_callback.3 > stable/11/secure/lib/libcrypto/man/BIO_should_retry.3 > stable/11/secure/lib/libcrypto/man/BN_BLINDING_new.3 > stable/11/secure/lib/libcrypto/man/BN_CTX_new.3 > stable/11/secure/lib/libcrypto/man/BN_CTX_start.3 > stable/11/secure/lib/libcrypto/man/BN_add.3 > stable/11/secure/lib/libcrypto/man/BN_add_word.3 > stable/11/secure/lib/libcrypto/man/BN_bn2bin.3 > stable/11/secure/lib/libcrypto/man/BN_cmp.3 > stable/11/secure/lib/libcrypto/man/BN_copy.3 > stable/11/secure/lib/libcrypto/man/BN_generate_prime.3 > stable/11/secure/lib/libcrypto/man/BN_mod_inverse.3 > stable/11/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 > stable/11/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 > stable/11/secure/lib/libcrypto/man/BN_new.3 > stable/11/secure/lib/libcrypto/man/BN_num_bytes.3 > stable/11/secure/lib/libcrypto/man/BN_rand.3 > stable/11/secure/lib/libcrypto/man/BN_set_bit.3 > stable/11/secure/lib/libcrypto/man/BN_swap.3 > stable/11/secure/lib/libcrypto/man/BN_zero.3 > stable/11/secure/lib/libcrypto/man/CMS_add0_cert.3 > stable/11/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 > stable/11/secure/lib/libcrypto/man/CMS_add1_signer.3 > stable/11/secure/lib/libcrypto/man/CMS_compress.3 > stable/11/secure/lib/libcrypto/man/CMS_decrypt.3 > stable/11/secure/lib/libcrypto/man/CMS_encrypt.3 > stable/11/secure/lib/libcrypto/man/CMS_final.3 > stable/11/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 > stable/11/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 > stable/11/secure/lib/libcrypto/man/CMS_get0_type.3 > stable/11/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 > stable/11/secure/lib/libcrypto/man/CMS_sign.3 > stable/11/secure/lib/libcrypto/man/CMS_sign_receipt.3 > stable/11/secure/lib/libcrypto/man/CMS_uncompress.3 > stable/11/secure/lib/libcrypto/man/CMS_verify.3 > stable/11/secure/lib/libcrypto/man/CMS_verify_receipt.3 > stable/11/secure/lib/libcrypto/man/CONF_modules_free.3 > stable/11/secure/lib/libcrypto/man/CONF_modules_load_file.3 > stable/11/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 > stable/11/secure/lib/libcrypto/man/DH_generate_key.3 > stable/11/secure/lib/libcrypto/man/DH_generate_parameters.3 > stable/11/secure/lib/libcrypto/man/DH_get_ex_new_index.3 > stable/11/secure/lib/libcrypto/man/DH_new.3 > stable/11/secure/lib/libcrypto/man/DH_set_method.3 > stable/11/secure/lib/libcrypto/man/DH_size.3 > stable/11/secure/lib/libcrypto/man/DSA_SIG_new.3 > stable/11/secure/lib/libcrypto/man/DSA_do_sign.3 > stable/11/secure/lib/libcrypto/man/DSA_dup_DH.3 > stable/11/secure/lib/libcrypto/man/DSA_generate_key.3 > stable/11/secure/lib/libcrypto/man/DSA_generate_parameters.3 > stable/11/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 > stable/11/secure/lib/libcrypto/man/DSA_new.3 > stable/11/secure/lib/libcrypto/man/DSA_set_method.3 > stable/11/secure/lib/libcrypto/man/DSA_sign.3 > stable/11/secure/lib/libcrypto/man/DSA_size.3 > stable/11/secure/lib/libcrypto/man/EC_GFp_simple_method.3 > stable/11/secure/lib/libcrypto/man/EC_GROUP_copy.3 > stable/11/secure/lib/libcrypto/man/EC_GROUP_new.3 > stable/11/secure/lib/libcrypto/man/EC_KEY_new.3 > stable/11/secure/lib/libcrypto/man/EC_POINT_add.3 > stable/11/secure/lib/libcrypto/man/EC_POINT_new.3 > stable/11/secure/lib/libcrypto/man/ERR_GET_LIB.3 > stable/11/secure/lib/libcrypto/man/ERR_clear_error.3 > stable/11/secure/lib/libcrypto/man/ERR_error_string.3 > stable/11/secure/lib/libcrypto/man/ERR_get_error.3 > stable/11/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 > stable/11/secure/lib/libcrypto/man/ERR_load_strings.3 > stable/11/secure/lib/libcrypto/man/ERR_print_errors.3 > stable/11/secure/lib/libcrypto/man/ERR_put_error.3 > stable/11/secure/lib/libcrypto/man/ERR_remove_state.3 > stable/11/secure/lib/libcrypto/man/ERR_set_mark.3 > stable/11/secure/lib/libcrypto/man/EVP_BytesToKey.3 > stable/11/secure/lib/libcrypto/man/EVP_DigestInit.3 > stable/11/secure/lib/libcrypto/man/EVP_DigestSignInit.3 > stable/11/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 > stable/11/secure/lib/libcrypto/man/EVP_EncodeInit.3 > stable/11/secure/lib/libcrypto/man/EVP_EncryptInit.3 > stable/11/secure/lib/libcrypto/man/EVP_OpenInit.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_derive.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_new.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_sign.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_verify.3 > stable/11/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 > stable/11/secure/lib/libcrypto/man/EVP_SealInit.3 > stable/11/secure/lib/libcrypto/man/EVP_SignInit.3 > stable/11/secure/lib/libcrypto/man/EVP_VerifyInit.3 > stable/11/secure/lib/libcrypto/man/OBJ_nid2obj.3 > stable/11/secure/lib/libcrypto/man/OPENSSL_Applink.3 > stable/11/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 > stable/11/secure/lib/libcrypto/man/OPENSSL_config.3 > stable/11/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 > stable/11/secure/lib/libcrypto/man/OPENSSL_instrument_bus.3 > stable/11/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 > stable/11/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 > stable/11/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 > stable/11/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 > stable/11/secure/lib/libcrypto/man/PKCS12_create.3 > stable/11/secure/lib/libcrypto/man/PKCS12_parse.3 > stable/11/secure/lib/libcrypto/man/PKCS7_decrypt.3 > stable/11/secure/lib/libcrypto/man/PKCS7_encrypt.3 > stable/11/secure/lib/libcrypto/man/PKCS7_sign.3 > stable/11/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 > stable/11/secure/lib/libcrypto/man/PKCS7_verify.3 > stable/11/secure/lib/libcrypto/man/RAND_add.3 > stable/11/secure/lib/libcrypto/man/RAND_bytes.3 > stable/11/secure/lib/libcrypto/man/RAND_cleanup.3 > stable/11/secure/lib/libcrypto/man/RAND_egd.3 > stable/11/secure/lib/libcrypto/man/RAND_load_file.3 > stable/11/secure/lib/libcrypto/man/RAND_set_rand_method.3 > stable/11/secure/lib/libcrypto/man/RSA_blinding_on.3 > stable/11/secure/lib/libcrypto/man/RSA_check_key.3 > stable/11/secure/lib/libcrypto/man/RSA_generate_key.3 > stable/11/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 > stable/11/secure/lib/libcrypto/man/RSA_new.3 > stable/11/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 > stable/11/secure/lib/libcrypto/man/RSA_print.3 > stable/11/secure/lib/libcrypto/man/RSA_private_encrypt.3 > stable/11/secure/lib/libcrypto/man/RSA_public_encrypt.3 > stable/11/secure/lib/libcrypto/man/RSA_set_method.3 > stable/11/secure/lib/libcrypto/man/RSA_sign.3 > stable/11/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 > stable/11/secure/lib/libcrypto/man/RSA_size.3 > stable/11/secure/lib/libcrypto/man/SMIME_read_CMS.3 > stable/11/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 > stable/11/secure/lib/libcrypto/man/SMIME_write_CMS.3 > stable/11/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 > stable/11/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 > stable/11/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 > stable/11/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 > stable/11/secure/lib/libcrypto/man/X509_NAME_print_ex.3 > stable/11/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 > stable/11/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 > stable/11/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 > stable/11/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 > stable/11/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 > stable/11/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 > stable/11/secure/lib/libcrypto/man/X509_check_host.3 > stable/11/secure/lib/libcrypto/man/X509_new.3 > stable/11/secure/lib/libcrypto/man/X509_verify_cert.3 > stable/11/secure/lib/libcrypto/man/bio.3 > stable/11/secure/lib/libcrypto/man/blowfish.3 > stable/11/secure/lib/libcrypto/man/bn.3 > stable/11/secure/lib/libcrypto/man/bn_internal.3 > stable/11/secure/lib/libcrypto/man/buffer.3 > stable/11/secure/lib/libcrypto/man/crypto.3 > stable/11/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 > stable/11/secure/lib/libcrypto/man/d2i_CMS_ContentInfo.3 > stable/11/secure/lib/libcrypto/man/d2i_DHparams.3 > stable/11/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 > stable/11/secure/lib/libcrypto/man/d2i_ECPKParameters.3 > stable/11/secure/lib/libcrypto/man/d2i_ECPrivateKey.3 > stable/11/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 > stable/11/secure/lib/libcrypto/man/d2i_PrivateKey.3 > stable/11/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 > stable/11/secure/lib/libcrypto/man/d2i_X509.3 > stable/11/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 > stable/11/secure/lib/libcrypto/man/d2i_X509_CRL.3 > stable/11/secure/lib/libcrypto/man/d2i_X509_NAME.3 > stable/11/secure/lib/libcrypto/man/d2i_X509_REQ.3 > stable/11/secure/lib/libcrypto/man/d2i_X509_SIG.3 > stable/11/secure/lib/libcrypto/man/des.3 > stable/11/secure/lib/libcrypto/man/dh.3 > stable/11/secure/lib/libcrypto/man/dsa.3 > stable/11/secure/lib/libcrypto/man/ec.3 > stable/11/secure/lib/libcrypto/man/ecdsa.3 > stable/11/secure/lib/libcrypto/man/engine.3 > stable/11/secure/lib/libcrypto/man/err.3 > stable/11/secure/lib/libcrypto/man/evp.3 > stable/11/secure/lib/libcrypto/man/hmac.3 > stable/11/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 > stable/11/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 > stable/11/secure/lib/libcrypto/man/lh_stats.3 > stable/11/secure/lib/libcrypto/man/lhash.3 > stable/11/secure/lib/libcrypto/man/md5.3 > stable/11/secure/lib/libcrypto/man/mdc2.3 > stable/11/secure/lib/libcrypto/man/pem.3 > stable/11/secure/lib/libcrypto/man/rand.3 > stable/11/secure/lib/libcrypto/man/rc4.3 > stable/11/secure/lib/libcrypto/man/ripemd.3 > stable/11/secure/lib/libcrypto/man/rsa.3 > stable/11/secure/lib/libcrypto/man/sha.3 > stable/11/secure/lib/libcrypto/man/threads.3 > stable/11/secure/lib/libcrypto/man/ui.3 > stable/11/secure/lib/libcrypto/man/ui_compat.3 > stable/11/secure/lib/libcrypto/man/x509.3 > stable/11/secure/lib/libssl/man/SSL_CIPHER_get_name.3 > stable/11/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 > stable/11/secure/lib/libssl/man/SSL_CONF_CTX_new.3 > stable/11/secure/lib/libssl/man/SSL_CONF_CTX_set1_prefix.3 > stable/11/secure/lib/libssl/man/SSL_CONF_CTX_set_flags.3 > stable/11/secure/lib/libssl/man/SSL_CONF_CTX_set_ssl_ctx.3 > stable/11/secure/lib/libssl/man/SSL_CONF_cmd.3 > stable/11/secure/lib/libssl/man/SSL_CONF_cmd_argv.3 > stable/11/secure/lib/libssl/man/SSL_CTX_add1_chain_cert.3 > stable/11/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 > stable/11/secure/lib/libssl/man/SSL_CTX_add_session.3 > stable/11/secure/lib/libssl/man/SSL_CTX_ctrl.3 > stable/11/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 > stable/11/secure/lib/libssl/man/SSL_CTX_free.3 > stable/11/secure/lib/libssl/man/SSL_CTX_get0_param.3 > stable/11/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 > stable/11/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 > stable/11/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 > stable/11/secure/lib/libssl/man/SSL_CTX_new.3 > stable/11/secure/lib/libssl/man/SSL_CTX_sess_number.3 > stable/11/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 > stable/11/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 > stable/11/secure/lib/libssl/man/SSL_CTX_sessions.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set1_curves.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set1_verify_cert_store.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_alpn_select_cb.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_cert_cb.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_custom_cli_ext.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_mode.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_options.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_read_ahead.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_timeout.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_tlsext_status_cb.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 > stable/11/secure/lib/libssl/man/SSL_CTX_set_verify.3 > stable/11/secure/lib/libssl/man/SSL_CTX_use_certificate.3 > stable/11/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 > stable/11/secure/lib/libssl/man/SSL_CTX_use_serverinfo.3 > stable/11/secure/lib/libssl/man/SSL_SESSION_free.3 > stable/11/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 > stable/11/secure/lib/libssl/man/SSL_SESSION_get_time.3 > stable/11/secure/lib/libssl/man/SSL_accept.3 > stable/11/secure/lib/libssl/man/SSL_alert_type_string.3 > stable/11/secure/lib/libssl/man/SSL_check_chain.3 > stable/11/secure/lib/libssl/man/SSL_clear.3 > stable/11/secure/lib/libssl/man/SSL_connect.3 > stable/11/secure/lib/libssl/man/SSL_do_handshake.3 > stable/11/secure/lib/libssl/man/SSL_free.3 > stable/11/secure/lib/libssl/man/SSL_get_SSL_CTX.3 > stable/11/secure/lib/libssl/man/SSL_get_ciphers.3 > stable/11/secure/lib/libssl/man/SSL_get_client_CA_list.3 > stable/11/secure/lib/libssl/man/SSL_get_current_cipher.3 > stable/11/secure/lib/libssl/man/SSL_get_default_timeout.3 > stable/11/secure/lib/libssl/man/SSL_get_error.3 > stable/11/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 > stable/11/secure/lib/libssl/man/SSL_get_ex_new_index.3 > stable/11/secure/lib/libssl/man/SSL_get_fd.3 > stable/11/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 > stable/11/secure/lib/libssl/man/SSL_get_peer_certificate.3 > stable/11/secure/lib/libssl/man/SSL_get_psk_identity.3 > stable/11/secure/lib/libssl/man/SSL_get_rbio.3 > stable/11/secure/lib/libssl/man/SSL_get_session.3 > stable/11/secure/lib/libssl/man/SSL_get_verify_result.3 > stable/11/secure/lib/libssl/man/SSL_get_version.3 > stable/11/secure/lib/libssl/man/SSL_library_init.3 > stable/11/secure/lib/libssl/man/SSL_load_client_CA_file.3 > stable/11/secure/lib/libssl/man/SSL_new.3 > stable/11/secure/lib/libssl/man/SSL_pending.3 > stable/11/secure/lib/libssl/man/SSL_read.3 > stable/11/secure/lib/libssl/man/SSL_rstate_string.3 > stable/11/secure/lib/libssl/man/SSL_session_reused.3 > stable/11/secure/lib/libssl/man/SSL_set_bio.3 > stable/11/secure/lib/libssl/man/SSL_set_connect_state.3 > stable/11/secure/lib/libssl/man/SSL_set_fd.3 > stable/11/secure/lib/libssl/man/SSL_set_session.3 > stable/11/secure/lib/libssl/man/SSL_set_shutdown.3 > stable/11/secure/lib/libssl/man/SSL_set_verify_result.3 > stable/11/secure/lib/libssl/man/SSL_shutdown.3 > stable/11/secure/lib/libssl/man/SSL_state_string.3 > stable/11/secure/lib/libssl/man/SSL_want.3 > stable/11/secure/lib/libssl/man/SSL_write.3 > stable/11/secure/lib/libssl/man/d2i_SSL_SESSION.3 > stable/11/secure/lib/libssl/man/ssl.3 > stable/11/secure/usr.bin/openssl/man/CA.pl.1 > stable/11/secure/usr.bin/openssl/man/asn1parse.1 > stable/11/secure/usr.bin/openssl/man/c_rehash.1 > stable/11/secure/usr.bin/openssl/man/ca.1 > stable/11/secure/usr.bin/openssl/man/ciphers.1 > stable/11/secure/usr.bin/openssl/man/cms.1 > stable/11/secure/usr.bin/openssl/man/crl.1 > stable/11/secure/usr.bin/openssl/man/crl2pkcs7.1 > stable/11/secure/usr.bin/openssl/man/dgst.1 > stable/11/secure/usr.bin/openssl/man/dhparam.1 > stable/11/secure/usr.bin/openssl/man/dsa.1 > stable/11/secure/usr.bin/openssl/man/dsaparam.1 > stable/11/secure/usr.bin/openssl/man/ec.1 > stable/11/secure/usr.bin/openssl/man/ecparam.1 > stable/11/secure/usr.bin/openssl/man/enc.1 > stable/11/secure/usr.bin/openssl/man/errstr.1 > stable/11/secure/usr.bin/openssl/man/gendsa.1 > stable/11/secure/usr.bin/openssl/man/genpkey.1 > stable/11/secure/usr.bin/openssl/man/genrsa.1 > stable/11/secure/usr.bin/openssl/man/nseq.1 > stable/11/secure/usr.bin/openssl/man/ocsp.1 > stable/11/secure/usr.bin/openssl/man/openssl.1 > stable/11/secure/usr.bin/openssl/man/passwd.1 > stable/11/secure/usr.bin/openssl/man/pkcs12.1 > stable/11/secure/usr.bin/openssl/man/pkcs7.1 > stable/11/secure/usr.bin/openssl/man/pkcs8.1 > stable/11/secure/usr.bin/openssl/man/pkey.1 > stable/11/secure/usr.bin/openssl/man/pkeyparam.1 > stable/11/secure/usr.bin/openssl/man/pkeyutl.1 > stable/11/secure/usr.bin/openssl/man/rand.1 > stable/11/secure/usr.bin/openssl/man/req.1 > stable/11/secure/usr.bin/openssl/man/rsa.1 > stable/11/secure/usr.bin/openssl/man/rsautl.1 > stable/11/secure/usr.bin/openssl/man/s_client.1 > stable/11/secure/usr.bin/openssl/man/s_server.1 > stable/11/secure/usr.bin/openssl/man/s_time.1 > stable/11/secure/usr.bin/openssl/man/sess_id.1 > stable/11/secure/usr.bin/openssl/man/smime.1 > stable/11/secure/usr.bin/openssl/man/speed.1 > stable/11/secure/usr.bin/openssl/man/spkac.1 > stable/11/secure/usr.bin/openssl/man/ts.1 > stable/11/secure/usr.bin/openssl/man/tsget.1 > stable/11/secure/usr.bin/openssl/man/verify.1 > stable/11/secure/usr.bin/openssl/man/version.1 > stable/11/secure/usr.bin/openssl/man/x509.1 > stable/11/secure/usr.bin/openssl/man/x509v3_config.1 > Directory Properties: > stable/11/ (props changed) > > Modified: stable/11/crypto/openssl/CHANGES > ============================================================================== > --- stable/11/crypto/openssl/CHANGES Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/crypto/openssl/CHANGES Mon Sep 26 14:30:19 2016 (r306343) > @@ -2,6 +2,18 @@ > OpenSSL CHANGES > _______________ > > + Changes between 1.0.2i and 1.0.2j [26 Sep 2016] > + > + *) Missing CRL sanity check > + > + A bug fix which included a CRL sanity check was added to OpenSSL 1.1.0 > + but was omitted from OpenSSL 1.0.2i. As a result any attempt to use > + CRLs in OpenSSL 1.0.2i will crash with a null pointer exception. > + > + This issue only affects the OpenSSL 1.0.2i > + (CVE-2016-7052) > + [Matt Caswell] > + > Changes between 1.0.2h and 1.0.2i [22 Sep 2016] > > *) OCSP Status Request extension unbounded memory growth > > Modified: stable/11/crypto/openssl/Makefile > ============================================================================== > --- stable/11/crypto/openssl/Makefile Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/crypto/openssl/Makefile Mon Sep 26 14:30:19 2016 (r306343) > @@ -4,7 +4,7 @@ > ## Makefile for OpenSSL > ## > > -VERSION=1.0.2i > +VERSION=1.0.2j > MAJOR=1 > MINOR=0.2 > SHLIB_VERSION_NUMBER=1.0.0 > > Modified: stable/11/crypto/openssl/NEWS > ============================================================================== > --- stable/11/crypto/openssl/NEWS Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/crypto/openssl/NEWS Mon Sep 26 14:30:19 2016 (r306343) > @@ -5,6 +5,10 @@ > This file gives a brief overview of the major changes between each OpenSSL > release. For more details please read the CHANGES file. > > + Major changes between OpenSSL 1.0.2i and OpenSSL 1.0.2j [26 Sep 2016] > + > + o Fix Use After Free for large message sizes (CVE-2016-6309) > + > Major changes between OpenSSL 1.0.2h and OpenSSL 1.0.2i [22 Sep 2016] > > o OCSP Status Request extension unbounded memory growth (CVE-2016-6304) > > Modified: stable/11/crypto/openssl/README > ============================================================================== > --- stable/11/crypto/openssl/README Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/crypto/openssl/README Mon Sep 26 14:30:19 2016 (r306343) > @@ -1,5 +1,5 @@ > > - OpenSSL 1.0.2i 22 Sep 2016 > + OpenSSL 1.0.2j 26 Sep 2016 > > Copyright (c) 1998-2015 The OpenSSL Project > Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson > > Modified: stable/11/crypto/openssl/crypto/engine/eng_cryptodev.c > ============================================================================== > --- stable/11/crypto/openssl/crypto/engine/eng_cryptodev.c Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/crypto/openssl/crypto/engine/eng_cryptodev.c Mon Sep 26 14:30:19 2016 (r306343) > @@ -939,7 +939,7 @@ static int cryptodev_digest_copy(EVP_MD_ > if (fstate->mac_len != 0) { > if (fstate->mac_data != NULL) { > dstate->mac_data = OPENSSL_malloc(fstate->mac_len); > - if (dstate->ac_data == NULL) { > + if (dstate->mac_data == NULL) { > printf("cryptodev_digest_init: malloc failed\n"); > return 0; > } > > Modified: stable/11/crypto/openssl/crypto/opensslv.h > ============================================================================== > --- stable/11/crypto/openssl/crypto/opensslv.h Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/crypto/openssl/crypto/opensslv.h Mon Sep 26 14:30:19 2016 (r306343) > @@ -30,11 +30,11 @@ extern "C" { > * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for > * major minor fix final patch/beta) > */ > -# define OPENSSL_VERSION_NUMBER 0x1000209fL > +# define OPENSSL_VERSION_NUMBER 0x100020afL > # ifdef OPENSSL_FIPS > -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2i-fips 22 Sep 2016" > +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2j-fips 26 Sep 2016" > # else > -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2i-freebsd 22 Sep 2016" > +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2j-freebsd 26 Sep 2016" > # endif > # define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT > > > Modified: stable/11/crypto/openssl/crypto/x509/x509_vfy.c > ============================================================================== > --- stable/11/crypto/openssl/crypto/x509/x509_vfy.c Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/crypto/openssl/crypto/x509/x509_vfy.c Mon Sep 26 14:30:19 2016 (r306343) > @@ -1124,10 +1124,10 @@ static int get_crl_sk(X509_STORE_CTX *ct > crl = sk_X509_CRL_value(crls, i); > reasons = *preasons; > crl_score = get_crl_score(ctx, &crl_issuer, &reasons, crl, x); > - if (crl_score < best_score) > + if (crl_score < best_score || crl_score == 0) > continue; > /* If current CRL is equivalent use it if it is newer */ > - if (crl_score == best_score) { > + if (crl_score == best_score && best_crl != NULL) { > int day, sec; > if (ASN1_TIME_diff(&day, &sec, X509_CRL_get_lastUpdate(best_crl), > X509_CRL_get_lastUpdate(crl)) == 0) > > Modified: stable/11/crypto/openssl/ssl/t1_ext.c > ============================================================================== > --- stable/11/crypto/openssl/ssl/t1_ext.c Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/crypto/openssl/ssl/t1_ext.c Mon Sep 26 14:30:19 2016 (r306343) > @@ -275,7 +275,9 @@ int SSL_extension_supported(unsigned int > case TLSEXT_TYPE_ec_point_formats: > case TLSEXT_TYPE_elliptic_curves: > case TLSEXT_TYPE_heartbeat: > +# ifndef OPENSSL_NO_NEXTPROTONEG > case TLSEXT_TYPE_next_proto_neg: > +# endif > case TLSEXT_TYPE_padding: > case TLSEXT_TYPE_renegotiate: > case TLSEXT_TYPE_server_name: > > Modified: stable/11/secure/lib/libcrypto/Makefile.inc > ============================================================================== > --- stable/11/secure/lib/libcrypto/Makefile.inc Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/Makefile.inc Mon Sep 26 14:30:19 2016 (r306343) > @@ -3,8 +3,8 @@ > .include > > # OpenSSL version used for manual page generation > -OPENSSL_VER= 1.0.2i > -OPENSSL_DATE= 2016-09-22 > +OPENSSL_VER= 1.0.2j > +OPENSSL_DATE= 2016-09-26 > > LCRYPTO_SRC= ${.CURDIR}/../../../crypto/openssl > LCRYPTO_DOC= ${LCRYPTO_SRC}/doc > > Modified: stable/11/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "ASN1_OBJECT_new 3" > -.TH ASN1_OBJECT_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH ASN1_OBJECT_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/ASN1_STRING_length.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/ASN1_STRING_length.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/ASN1_STRING_length.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "ASN1_STRING_length 3" > -.TH ASN1_STRING_length 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH ASN1_STRING_length 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/ASN1_STRING_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/ASN1_STRING_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/ASN1_STRING_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "ASN1_STRING_new 3" > -.TH ASN1_STRING_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH ASN1_STRING_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "ASN1_STRING_print_ex 3" > -.TH ASN1_STRING_print_ex 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH ASN1_STRING_print_ex 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/ASN1_TIME_set.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/ASN1_TIME_set.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/ASN1_TIME_set.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "ASN1_TIME_set 3" > -.TH ASN1_TIME_set 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH ASN1_TIME_set 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/ASN1_generate_nconf.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/ASN1_generate_nconf.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/ASN1_generate_nconf.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "ASN1_generate_nconf 3" > -.TH ASN1_generate_nconf 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH ASN1_generate_nconf 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_ctrl.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_ctrl.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_ctrl.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_ctrl 3" > -.TH BIO_ctrl 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_ctrl 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_f_base64.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_f_base64.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_f_base64.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_f_base64 3" > -.TH BIO_f_base64 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_f_base64 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_f_buffer.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_f_buffer.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_f_buffer.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_f_buffer 3" > -.TH BIO_f_buffer 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_f_buffer 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_f_cipher.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_f_cipher.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_f_cipher.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_f_cipher 3" > -.TH BIO_f_cipher 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_f_cipher 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_f_md.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_f_md.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_f_md.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_f_md 3" > -.TH BIO_f_md 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_f_md 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_f_null.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_f_null.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_f_null.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_f_null 3" > -.TH BIO_f_null 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_f_null 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_f_ssl.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_f_ssl.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_f_ssl.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_f_ssl 3" > -.TH BIO_f_ssl 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_f_ssl 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_find_type.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_find_type.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_find_type.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_find_type 3" > -.TH BIO_find_type 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_find_type 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_new 3" > -.TH BIO_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_new_CMS.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_new_CMS.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_new_CMS.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_new_CMS 3" > -.TH BIO_new_CMS 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_new_CMS 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_push.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_push.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_push.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_push 3" > -.TH BIO_push 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_push 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_read.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_read.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_read.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_read 3" > -.TH BIO_read 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_read 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_s_accept.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_s_accept.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_s_accept.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_s_accept 3" > -.TH BIO_s_accept 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_s_accept 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_s_bio.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_s_bio.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_s_bio.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_s_bio 3" > -.TH BIO_s_bio 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_s_bio 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_s_connect.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_s_connect.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_s_connect.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_s_connect 3" > -.TH BIO_s_connect 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_s_connect 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_s_fd.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_s_fd.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_s_fd.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_s_fd 3" > -.TH BIO_s_fd 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_s_fd 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_s_file.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_s_file.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_s_file.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_s_file 3" > -.TH BIO_s_file 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_s_file 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_s_mem.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_s_mem.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_s_mem.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_s_mem 3" > -.TH BIO_s_mem 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_s_mem 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_s_null.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_s_null.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_s_null.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_s_null 3" > -.TH BIO_s_null 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_s_null 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_s_socket.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_s_socket.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_s_socket.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_s_socket 3" > -.TH BIO_s_socket 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_s_socket 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_set_callback.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_set_callback.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_set_callback.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_set_callback 3" > -.TH BIO_set_callback 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_set_callback 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BIO_should_retry.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BIO_should_retry.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BIO_should_retry.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BIO_should_retry 3" > -.TH BIO_should_retry 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BIO_should_retry 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_BLINDING_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_BLINDING_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_BLINDING_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_BLINDING_new 3" > -.TH BN_BLINDING_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_BLINDING_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_CTX_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_CTX_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_CTX_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_CTX_new 3" > -.TH BN_CTX_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_CTX_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_CTX_start.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_CTX_start.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_CTX_start.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_CTX_start 3" > -.TH BN_CTX_start 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_CTX_start 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_add.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_add.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_add.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_add 3" > -.TH BN_add 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_add 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_add_word.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_add_word.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_add_word.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_add_word 3" > -.TH BN_add_word 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_add_word 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_bn2bin.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_bn2bin.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_bn2bin.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_bn2bin 3" > -.TH BN_bn2bin 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_bn2bin 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_cmp.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_cmp.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_cmp.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_cmp 3" > -.TH BN_cmp 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_cmp 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_copy.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_copy.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_copy.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_copy 3" > -.TH BN_copy 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_copy 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_generate_prime.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_generate_prime.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_generate_prime.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_generate_prime 3" > -.TH BN_generate_prime 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_generate_prime 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_mod_inverse.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_mod_inverse.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_mod_inverse.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_mod_inverse 3" > -.TH BN_mod_inverse 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_mod_inverse 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_mod_mul_montgomery 3" > -.TH BN_mod_mul_montgomery 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_mod_mul_montgomery 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_mod_mul_reciprocal 3" > -.TH BN_mod_mul_reciprocal 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_mod_mul_reciprocal 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_new 3" > -.TH BN_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_num_bytes.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_num_bytes.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_num_bytes.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_num_bytes 3" > -.TH BN_num_bytes 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_num_bytes 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_rand.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_rand.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_rand.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_rand 3" > -.TH BN_rand 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_rand 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_set_bit.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_set_bit.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_set_bit.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_set_bit 3" > -.TH BN_set_bit 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_set_bit 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_swap.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_swap.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_swap.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_swap 3" > -.TH BN_swap 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_swap 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/BN_zero.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/BN_zero.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/BN_zero.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "BN_zero 3" > -.TH BN_zero 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH BN_zero 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_add0_cert.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_add0_cert.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_add0_cert.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_add0_cert 3" > -.TH CMS_add0_cert 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_add0_cert 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_add1_recipient_cert 3" > -.TH CMS_add1_recipient_cert 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_add1_recipient_cert 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_add1_signer.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_add1_signer.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_add1_signer.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_add1_signer 3" > -.TH CMS_add1_signer 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_add1_signer 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_compress.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_compress.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_compress.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_compress 3" > -.TH CMS_compress 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_compress 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_decrypt.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_decrypt.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_decrypt.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_decrypt 3" > -.TH CMS_decrypt 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_decrypt 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_encrypt.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_encrypt.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_encrypt.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_encrypt 3" > -.TH CMS_encrypt 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_encrypt 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_final.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_final.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_final.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_final 3" > -.TH CMS_final 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_final 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_get0_RecipientInfos 3" > -.TH CMS_get0_RecipientInfos 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_get0_RecipientInfos 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_get0_SignerInfos 3" > -.TH CMS_get0_SignerInfos 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_get0_SignerInfos 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_get0_type.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_get0_type.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_get0_type.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_get0_type 3" > -.TH CMS_get0_type 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_get0_type 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_get1_ReceiptRequest 3" > -.TH CMS_get1_ReceiptRequest 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_get1_ReceiptRequest 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_sign.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_sign.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_sign.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_sign 3" > -.TH CMS_sign 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_sign 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_sign_receipt.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_sign_receipt.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_sign_receipt.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_sign_receipt 3" > -.TH CMS_sign_receipt 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_sign_receipt 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_uncompress.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_uncompress.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_uncompress.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_uncompress 3" > -.TH CMS_uncompress 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_uncompress 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_verify.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_verify.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_verify.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_verify 3" > -.TH CMS_verify 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_verify 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CMS_verify_receipt.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CMS_verify_receipt.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CMS_verify_receipt.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CMS_verify_receipt 3" > -.TH CMS_verify_receipt 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CMS_verify_receipt 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CONF_modules_free.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CONF_modules_free.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CONF_modules_free.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CONF_modules_free 3" > -.TH CONF_modules_free 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CONF_modules_free 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CONF_modules_load_file.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CONF_modules_load_file.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CONF_modules_load_file.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CONF_modules_load_file 3" > -.TH CONF_modules_load_file 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CONF_modules_load_file 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "CRYPTO_set_ex_data 3" > -.TH CRYPTO_set_ex_data 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH CRYPTO_set_ex_data 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DH_generate_key.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DH_generate_key.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DH_generate_key.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DH_generate_key 3" > -.TH DH_generate_key 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DH_generate_key 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DH_generate_parameters.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DH_generate_parameters.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DH_generate_parameters.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DH_generate_parameters 3" > -.TH DH_generate_parameters 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DH_generate_parameters 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DH_get_ex_new_index.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DH_get_ex_new_index.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DH_get_ex_new_index.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DH_get_ex_new_index 3" > -.TH DH_get_ex_new_index 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DH_get_ex_new_index 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DH_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DH_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DH_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DH_new 3" > -.TH DH_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DH_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DH_set_method.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DH_set_method.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DH_set_method.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DH_set_method 3" > -.TH DH_set_method 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DH_set_method 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DH_size.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DH_size.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DH_size.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DH_size 3" > -.TH DH_size 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DH_size 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_SIG_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_SIG_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_SIG_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_SIG_new 3" > -.TH DSA_SIG_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_SIG_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_do_sign.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_do_sign.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_do_sign.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_do_sign 3" > -.TH DSA_do_sign 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_do_sign 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_dup_DH.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_dup_DH.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_dup_DH.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_dup_DH 3" > -.TH DSA_dup_DH 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_dup_DH 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_generate_key.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_generate_key.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_generate_key.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_generate_key 3" > -.TH DSA_generate_key 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_generate_key 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_generate_parameters.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_generate_parameters.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_generate_parameters.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_generate_parameters 3" > -.TH DSA_generate_parameters 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_generate_parameters 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_get_ex_new_index 3" > -.TH DSA_get_ex_new_index 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_get_ex_new_index 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_new.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_new.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_new.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_new 3" > -.TH DSA_new 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_new 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_set_method.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_set_method.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_set_method.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_set_method 3" > -.TH DSA_set_method 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_set_method 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > .\" way too many mistakes in technical documents. > .if n .ad l > > Modified: stable/11/secure/lib/libcrypto/man/DSA_sign.3 > ============================================================================== > --- stable/11/secure/lib/libcrypto/man/DSA_sign.3 Mon Sep 26 14:22:17 2016 (r306342) > +++ stable/11/secure/lib/libcrypto/man/DSA_sign.3 Mon Sep 26 14:30:19 2016 (r306343) > @@ -133,7 +133,7 @@ > .\" ======================================================================== > .\" > .IX Title "DSA_sign 3" > -.TH DSA_sign 3 "2016-09-22" "1.0.2i" "OpenSSL" > +.TH DSA_sign 3 "2016-09-26" "1.0.2j" "OpenSSL" > .\" For nroff, turn off justification. Always turn off hyphenation; it makes > > *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** > -- Xin LI https://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die From owner-svn-src-stable-11@freebsd.org Tue Sep 27 10:26:41 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 37365BEBBBF; Tue, 27 Sep 2016 10:26:41 +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 mx1.freebsd.org (Postfix) with ESMTPS id 0D8EBAEA; Tue, 27 Sep 2016 10:26:40 +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 u8RAQeIx049704; Tue, 27 Sep 2016 10:26:40 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8RAQd55049701; Tue, 27 Sep 2016 10:26:39 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609271026.u8RAQd55049701@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Tue, 27 Sep 2016 10:26: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: r306365 - in stable/11/sys/amd64: amd64 include X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Sep 2016 10:26:41 -0000 Author: kib Date: Tue Sep 27 10:26:39 2016 New Revision: 306365 URL: https://svnweb.freebsd.org/changeset/base/306365 Log: MFC r306020: Move pmap_p*e_index() inline functions from pmap.c to pmap.h. Modified: stable/11/sys/amd64/amd64/minidump_machdep.c stable/11/sys/amd64/amd64/pmap.c stable/11/sys/amd64/include/pmap.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/amd64/minidump_machdep.c ============================================================================== --- stable/11/sys/amd64/amd64/minidump_machdep.c Tue Sep 27 09:44:30 2016 (r306364) +++ stable/11/sys/amd64/amd64/minidump_machdep.c Tue Sep 27 10:26:39 2016 (r306365) @@ -239,10 +239,10 @@ minidumpsys(struct dumperinfo *di) * page written corresponds to 1GB of space */ pmapsize += PAGE_SIZE; - ii = (va >> PML4SHIFT) & ((1ul << NPML4EPGSHIFT) - 1); + ii = pmap_pml4e_index(va); pml4 = (uint64_t *)PHYS_TO_DMAP(KPML4phys) + ii; pdp = (uint64_t *)PHYS_TO_DMAP(*pml4 & PG_FRAME); - i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1); + i = pmap_pdpe_index(va); if ((pdp[i] & PG_V) == 0) { va += NBPDP; continue; @@ -264,7 +264,7 @@ minidumpsys(struct dumperinfo *di) pd = (uint64_t *)PHYS_TO_DMAP(pdp[i] & PG_FRAME); for (n = 0; n < NPDEPG; n++, va += NBPDR) { - j = (va >> PDRSHIFT) & ((1ul << NPDEPGSHIFT) - 1); + j = pmap_pde_index(va); if ((pd[j] & PG_V) == 0) continue; @@ -368,10 +368,10 @@ minidumpsys(struct dumperinfo *di) bzero(fakepd, sizeof(fakepd)); for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + nkpt * NBPDR, kernel_vm_end); va += NBPDP) { - ii = (va >> PML4SHIFT) & ((1ul << NPML4EPGSHIFT) - 1); + ii = pmap_pml4e_index(va); pml4 = (uint64_t *)PHYS_TO_DMAP(KPML4phys) + ii; pdp = (uint64_t *)PHYS_TO_DMAP(*pml4 & PG_FRAME); - i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1); + i = pmap_pdpe_index(va); /* We always write a page, even if it is zero */ if ((pdp[i] & PG_V) == 0) { Modified: stable/11/sys/amd64/amd64/pmap.c ============================================================================== --- stable/11/sys/amd64/amd64/pmap.c Tue Sep 27 09:44:30 2016 (r306364) +++ stable/11/sys/amd64/amd64/pmap.c Tue Sep 27 10:26:39 2016 (r306365) @@ -673,35 +673,6 @@ pmap_pde_pindex(vm_offset_t va) } -/* Return various clipped indexes for a given VA */ -static __inline vm_pindex_t -pmap_pte_index(vm_offset_t va) -{ - - return ((va >> PAGE_SHIFT) & ((1ul << NPTEPGSHIFT) - 1)); -} - -static __inline vm_pindex_t -pmap_pde_index(vm_offset_t va) -{ - - return ((va >> PDRSHIFT) & ((1ul << NPDEPGSHIFT) - 1)); -} - -static __inline vm_pindex_t -pmap_pdpe_index(vm_offset_t va) -{ - - return ((va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1)); -} - -static __inline vm_pindex_t -pmap_pml4e_index(vm_offset_t va) -{ - - return ((va >> PML4SHIFT) & ((1ul << NPML4EPGSHIFT) - 1)); -} - /* Return a pointer to the PML4 slot that corresponds to a VA */ static __inline pml4_entry_t * pmap_pml4e(pmap_t pmap, vm_offset_t va) Modified: stable/11/sys/amd64/include/pmap.h ============================================================================== --- stable/11/sys/amd64/include/pmap.h Tue Sep 27 09:44:30 2016 (r306364) +++ stable/11/sys/amd64/include/pmap.h Tue Sep 27 10:26:39 2016 (r306365) @@ -416,6 +416,35 @@ boolean_t pmap_map_io_transient(vm_page_ void pmap_unmap_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); #endif /* _KERNEL */ +/* Return various clipped indexes for a given VA */ +static __inline vm_pindex_t +pmap_pte_index(vm_offset_t va) +{ + + return ((va >> PAGE_SHIFT) & ((1ul << NPTEPGSHIFT) - 1)); +} + +static __inline vm_pindex_t +pmap_pde_index(vm_offset_t va) +{ + + return ((va >> PDRSHIFT) & ((1ul << NPDEPGSHIFT) - 1)); +} + +static __inline vm_pindex_t +pmap_pdpe_index(vm_offset_t va) +{ + + return ((va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1)); +} + +static __inline vm_pindex_t +pmap_pml4e_index(vm_offset_t va) +{ + + return ((va >> PML4SHIFT) & ((1ul << NPML4EPGSHIFT) - 1)); +} + #endif /* !LOCORE */ #endif /* !_MACHINE_PMAP_H_ */ From owner-svn-src-stable-11@freebsd.org Tue Sep 27 16:06:02 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F40EBEC7B1; Tue, 27 Sep 2016 16:06:02 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 2E0C33EC; Tue, 27 Sep 2016 16:06:02 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8RG61gj076748; Tue, 27 Sep 2016 16:06:01 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8RG61iP076747; Tue, 27 Sep 2016 16:06:01 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201609271606.u8RG61iP076747@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Tue, 27 Sep 2016 16:06: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: r306368 - stable/11/sys/arm/ti/am335x X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Sep 2016 16:06:02 -0000 Author: loos Date: Tue Sep 27 16:06:01 2016 New Revision: 306368 URL: https://svnweb.freebsd.org/changeset/base/306368 Log: MFC r306050: If present, honor the USB port mode (host or peripheral) set on DTS, if not, keep the beaglebone defaults: USB0 -> peripheral/gadget, USB1 -> host. This is only a workaround as in fact fact this hardware is capable of detect the USB port mode based on type of cable and act according with the detected mode. Unfortunately the driver does not handle that at moment. Sponsored by: Rubicon Communications, LLC (Netgate) Modified: stable/11/sys/arm/ti/am335x/am335x_musb.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/arm/ti/am335x/am335x_musb.c ============================================================================== --- stable/11/sys/arm/ti/am335x/am335x_musb.c Tue Sep 27 13:46:00 2016 (r306367) +++ stable/11/sys/arm/ti/am335x/am335x_musb.c Tue Sep 27 16:06:01 2016 (r306368) @@ -237,6 +237,7 @@ static int musbotg_attach(device_t dev) { struct musbotg_super_softc *sc = device_get_softc(dev); + char mode[16]; int err; uint32_t reg; @@ -308,10 +309,19 @@ musbotg_attach(device_t dev) } sc->sc_otg.sc_platform_data = sc; - if (sc->sc_otg.sc_id == 0) - sc->sc_otg.sc_mode = MUSB2_DEVICE_MODE; - else - sc->sc_otg.sc_mode = MUSB2_HOST_MODE; + if (OF_getprop(ofw_bus_get_node(dev), "dr_mode", mode, + sizeof(mode)) > 0) { + if (strcasecmp(mode, "host") == 0) + sc->sc_otg.sc_mode = MUSB2_HOST_MODE; + else + sc->sc_otg.sc_mode = MUSB2_DEVICE_MODE; + } else { + /* Beaglebone defaults: USB0 device, USB1 HOST. */ + if (sc->sc_otg.sc_id == 0) + sc->sc_otg.sc_mode = MUSB2_DEVICE_MODE; + else + sc->sc_otg.sc_mode = MUSB2_HOST_MODE; + } /* * software-controlled function From owner-svn-src-stable-11@freebsd.org Tue Sep 27 17:25:07 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2B35BEC98E; Tue, 27 Sep 2016 17:25:07 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 6F97CFCA; Tue, 27 Sep 2016 17:25:07 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8RHP6PB008256; Tue, 27 Sep 2016 17:25:06 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8RHP67X008254; Tue, 27 Sep 2016 17:25:06 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201609271725.u8RHP67X008254@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Tue, 27 Sep 2016 17:25: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: r306369 - in stable/11/sys/dev/usb: . serial X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Sep 2016 17:25:07 -0000 Author: loos Date: Tue Sep 27 17:25:06 2016 New Revision: 306369 URL: https://svnweb.freebsd.org/changeset/base/306369 Log: MFC r306205: Add the ID for the Huawei ME909S LTE modem. Submitted by: svenauhagen at github Sponsored by: Rubicon Communications, LLC (Netgate) Modified: stable/11/sys/dev/usb/serial/u3g.c stable/11/sys/dev/usb/usbdevs Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/usb/serial/u3g.c ============================================================================== --- stable/11/sys/dev/usb/serial/u3g.c Tue Sep 27 16:06:01 2016 (r306368) +++ stable/11/sys/dev/usb/serial/u3g.c Tue Sep 27 17:25:06 2016 (r306369) @@ -312,6 +312,7 @@ static const STRUCT_USB_HOST_ID u3g_devs U3G_DEV(HUAWEI, E220BIS, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E392, U3GINIT_HUAWEISCSI), U3G_DEV(HUAWEI, ME909U, U3GINIT_HUAWEISCSI2), + U3G_DEV(HUAWEI, ME909S, U3GINIT_HUAWEISCSI2), U3G_DEV(HUAWEI, MOBILE, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E1752, U3GINIT_HUAWEISCSI), U3G_DEV(HUAWEI, E1820, U3GINIT_HUAWEISCSI), Modified: stable/11/sys/dev/usb/usbdevs ============================================================================== --- stable/11/sys/dev/usb/usbdevs Tue Sep 27 16:06:01 2016 (r306368) +++ stable/11/sys/dev/usb/usbdevs Tue Sep 27 17:25:06 2016 (r306369) @@ -2420,6 +2420,7 @@ product HUAWEI E3272_INIT 0x155b LTE mod product HUAWEI ME909U 0x1573 LTE modem product HUAWEI R215_INIT 0x1582 LTE modem initial product HUAWEI R215 0x1588 LTE modem +product HUAWEI ME909S 0x15c1 LTE modem product HUAWEI ETS2055 0x1803 CDMA modem product HUAWEI E173 0x1c05 3G modem product HUAWEI E173_INIT 0x1c0b 3G modem initial From owner-svn-src-stable-11@freebsd.org Tue Sep 27 18:05:25 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B83F1BEC32D; Tue, 27 Sep 2016 18:05:25 +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 mx1.freebsd.org (Postfix) with ESMTPS id 79D84CA3; Tue, 27 Sep 2016 18:05:25 +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 u8RI5OnW023833; Tue, 27 Sep 2016 18:05:24 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8RI5OqR023831; Tue, 27 Sep 2016 18:05:24 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201609271805.u8RI5OqR023831@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 27 Sep 2016 18:05: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: r306372 - stable/11/contrib/elftoolchain/libdwarf X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Sep 2016 18:05:25 -0000 Author: markj Date: Tue Sep 27 18:05:24 2016 New Revision: 306372 URL: https://svnweb.freebsd.org/changeset/base/306372 Log: MFC r306008: libdwarf: Add definitions for Apple's DWARF extension attributes. Modified: stable/11/contrib/elftoolchain/libdwarf/dwarf.h stable/11/contrib/elftoolchain/libdwarf/dwarf_dump.c Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/elftoolchain/libdwarf/dwarf.h ============================================================================== --- stable/11/contrib/elftoolchain/libdwarf/dwarf.h Tue Sep 27 17:37:23 2016 (r306371) +++ stable/11/contrib/elftoolchain/libdwarf/dwarf.h Tue Sep 27 18:05:24 2016 (r306372) @@ -234,6 +234,21 @@ #define DW_AT_GNU_all_call_sites 0x2117 #define DW_AT_GNU_all_source_call_sites 0x2118 +/* Apple extensions. */ +#define DW_AT_APPLE_optimized 0x3fe1 +#define DW_AT_APPLE_flags 0x3fe2 +#define DW_AT_APPLE_isa 0x3fe3 +#define DW_AT_APPLE_block 0x3fe4 +#define DW_AT_APPLE_major_runtime_vers 0x3fe5 +#define DW_AT_APPLE_runtime_class 0x3fe6 +#define DW_AT_APPLE_omit_frame_ptr 0x3fe7 +#define DW_AT_APPLE_property_name 0x3fe8 +#define DW_AT_APPLE_property_getter 0x3fe9 +#define DW_AT_APPLE_property_setter 0x3fea +#define DW_AT_APPLE_property_attribute 0x3feb +#define DW_AT_APPLE_objc_complete_type 0x3fec +#define DW_AT_APPLE_property 0x3fed + #define DW_FORM_addr 0x01 #define DW_FORM_block2 0x03 #define DW_FORM_block4 0x04 Modified: stable/11/contrib/elftoolchain/libdwarf/dwarf_dump.c ============================================================================== --- stable/11/contrib/elftoolchain/libdwarf/dwarf_dump.c Tue Sep 27 17:37:23 2016 (r306371) +++ stable/11/contrib/elftoolchain/libdwarf/dwarf_dump.c Tue Sep 27 18:05:24 2016 (r306372) @@ -298,6 +298,32 @@ dwarf_get_AT_name(unsigned attr, const c *s = "DW_AT_GNU_all_call_sites"; break; case DW_AT_GNU_all_source_call_sites: *s = "DW_AT_GNU_all_source_call_sites"; break; + case DW_AT_APPLE_optimized: + *s = "DW_AT_APPLE_optimized"; break; + case DW_AT_APPLE_flags: + *s = "DW_AT_APPLE_flags"; break; + case DW_AT_APPLE_isa: + *s = "DW_AT_APPLE_isa"; break; + case DW_AT_APPLE_block: + *s = "DW_AT_APPLE_block"; break; + case DW_AT_APPLE_major_runtime_vers: + *s = "DW_AT_APPLE_major_runtime_vers"; break; + case DW_AT_APPLE_runtime_class: + *s = "DW_AT_APPLE_runtime_class"; break; + case DW_AT_APPLE_omit_frame_ptr: + *s = "DW_AT_APPLE_omit_frame_ptr"; break; + case DW_AT_APPLE_property_name: + *s = "DW_AT_APPLE_property_name"; break; + case DW_AT_APPLE_property_getter: + *s = "DW_AT_APPLE_property_getter"; break; + case DW_AT_APPLE_property_setter: + *s = "DW_AT_APPLE_property_setter"; break; + case DW_AT_APPLE_property_attribute: + *s = "DW_AT_APPLE_property_attribute"; break; + case DW_AT_APPLE_objc_complete_type: + *s = "DW_AT_APPLE_objc_complete_type"; break; + case DW_AT_APPLE_property: + *s = "DW_AT_APPLE_property"; break; default: return (DW_DLV_NO_ENTRY); } From owner-svn-src-stable-11@freebsd.org Tue Sep 27 18:06:44 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A5EBFBEC3B6; Tue, 27 Sep 2016 18:06:44 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 77FE5E3D; Tue, 27 Sep 2016 18:06:44 +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 u8RI6hiX023938; Tue, 27 Sep 2016 18:06:43 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8RI6hik023937; Tue, 27 Sep 2016 18:06:43 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201609271806.u8RI6hik023937@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 27 Sep 2016 18:06: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: r306373 - stable/11/sys/geom/mirror X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Sep 2016 18:06:44 -0000 Author: markj Date: Tue Sep 27 18:06:43 2016 New Revision: 306373 URL: https://svnweb.freebsd.org/changeset/base/306373 Log: MFC r305509: Don't treat an error from g_mirror_clear_metadata() as fatal. Modified: stable/11/sys/geom/mirror/g_mirror.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/geom/mirror/g_mirror.c ============================================================================== --- stable/11/sys/geom/mirror/g_mirror.c Tue Sep 27 18:05:24 2016 (r306372) +++ stable/11/sys/geom/mirror/g_mirror.c Tue Sep 27 18:06:43 2016 (r306373) @@ -2663,8 +2663,12 @@ again: int error; error = g_mirror_clear_metadata(disk); - if (error != 0) - return (error); + if (error != 0) { + G_MIRROR_DEBUG(0, + "Device %s: failed to clear metadata on %s: %d.", + sc->sc_name, g_mirror_get_diskname(disk), error); + break; + } DISK_STATE_CHANGED(); G_MIRROR_DEBUG(0, "Device %s: provider %s destroyed.", sc->sc_name, g_mirror_get_diskname(disk)); From owner-svn-src-stable-11@freebsd.org Wed Sep 28 09:28:28 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CDDCBC00B90; Wed, 28 Sep 2016 09:28:28 +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 mx1.freebsd.org (Postfix) with ESMTPS id 9DDDE1D5; Wed, 28 Sep 2016 09:28:28 +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 u8S9SRbx073352; Wed, 28 Sep 2016 09:28:27 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8S9SRg5073343; Wed, 28 Sep 2016 09:28:27 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609280928.u8S9SRg5073343@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Sep 2016 09:28: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: r306398 - in stable/11/sys: compat/freebsd32 kern sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 09:28:28 -0000 Author: kib Date: Wed Sep 28 09:28:26 2016 New Revision: 306398 URL: https://svnweb.freebsd.org/changeset/base/306398 Log: MFC r306081: Add PROC_TRAPCAP procctl(2) controls and global sysctl kern.trap_enocap. Modified: stable/11/sys/compat/freebsd32/freebsd32_misc.c stable/11/sys/kern/kern_fork.c stable/11/sys/kern/kern_procctl.c stable/11/sys/kern/subr_syscall.c stable/11/sys/kern/sys_capability.c stable/11/sys/sys/capsicum.h stable/11/sys/sys/proc.h stable/11/sys/sys/procctl.h stable/11/sys/sys/signal.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- stable/11/sys/compat/freebsd32/freebsd32_misc.c Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/compat/freebsd32/freebsd32_misc.c Wed Sep 28 09:28:26 2016 (r306398) @@ -3048,6 +3048,7 @@ freebsd32_procctl(struct thread *td, str switch (uap->com) { case PROC_SPROTECT: case PROC_TRACE_CTL: + case PROC_TRAPCAP_CTL: error = copyin(PTRIN(uap->data), &flags, sizeof(flags)); if (error != 0) return (error); @@ -3077,6 +3078,7 @@ freebsd32_procctl(struct thread *td, str data = &x.rk; break; case PROC_TRACE_STATUS: + case PROC_TRAPCAP_STATUS: data = &flags; break; default: @@ -3095,6 +3097,7 @@ freebsd32_procctl(struct thread *td, str error = error1; break; case PROC_TRACE_STATUS: + case PROC_TRAPCAP_STATUS: if (error == 0) error = copyout(&flags, uap->data, sizeof(flags)); break; Modified: stable/11/sys/kern/kern_fork.c ============================================================================== --- stable/11/sys/kern/kern_fork.c Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/kern/kern_fork.c Wed Sep 28 09:28:26 2016 (r306398) @@ -499,7 +499,7 @@ do_fork(struct thread *td, struct fork_r * Increase reference counts on shared objects. */ p2->p_flag = P_INMEM; - p2->p_flag2 = p1->p_flag2 & (P2_NOTRACE | P2_NOTRACE_EXEC); + p2->p_flag2 = p1->p_flag2 & (P2_NOTRACE | P2_NOTRACE_EXEC | P2_TRAPCAP); p2->p_swtick = ticks; if (p1->p_flag & P_PROFIL) startprofclock(p2); Modified: stable/11/sys/kern/kern_procctl.c ============================================================================== --- stable/11/sys/kern/kern_procctl.c Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/kern/kern_procctl.c Wed Sep 28 09:28:26 2016 (r306398) @@ -336,6 +336,34 @@ trace_status(struct thread *td, struct p return (0); } +static int +trapcap_ctl(struct thread *td, struct proc *p, int state) +{ + + PROC_LOCK_ASSERT(p, MA_OWNED); + + switch (state) { + case PROC_TRAPCAP_CTL_ENABLE: + p->p_flag2 |= P2_TRAPCAP; + break; + case PROC_TRAPCAP_CTL_DISABLE: + p->p_flag2 &= ~P2_TRAPCAP; + break; + default: + return (EINVAL); + } + return (0); +} + +static int +trapcap_status(struct thread *td, struct proc *p, int *data) +{ + + *data = (p->p_flag2 & P2_TRAPCAP) != 0 ? PROC_TRAPCAP_CTL_ENABLE : + PROC_TRAPCAP_CTL_DISABLE; + return (0); +} + #ifndef _SYS_SYSPROTO_H_ struct procctl_args { idtype_t idtype; @@ -359,6 +387,7 @@ sys_procctl(struct thread *td, struct pr switch (uap->com) { case PROC_SPROTECT: case PROC_TRACE_CTL: + case PROC_TRAPCAP_CTL: error = copyin(uap->data, &flags, sizeof(flags)); if (error != 0) return (error); @@ -386,6 +415,7 @@ sys_procctl(struct thread *td, struct pr data = &x.rk; break; case PROC_TRACE_STATUS: + case PROC_TRAPCAP_STATUS: data = &flags; break; default: @@ -403,6 +433,7 @@ sys_procctl(struct thread *td, struct pr error = error1; break; case PROC_TRACE_STATUS: + case PROC_TRAPCAP_STATUS: if (error == 0) error = copyout(&flags, uap->data, sizeof(flags)); break; @@ -432,6 +463,10 @@ kern_procctl_single(struct thread *td, s return (trace_ctl(td, p, *(int *)data)); case PROC_TRACE_STATUS: return (trace_status(td, p, data)); + case PROC_TRAPCAP_CTL: + return (trapcap_ctl(td, p, *(int *)data)); + case PROC_TRAPCAP_STATUS: + return (trapcap_status(td, p, data)); default: return (EINVAL); } @@ -452,6 +487,7 @@ kern_procctl(struct thread *td, idtype_t case PROC_REAP_GETPIDS: case PROC_REAP_KILL: case PROC_TRACE_STATUS: + case PROC_TRAPCAP_STATUS: if (idtype != P_PID) return (EINVAL); } @@ -462,6 +498,7 @@ kern_procctl(struct thread *td, idtype_t case PROC_REAP_GETPIDS: case PROC_REAP_KILL: case PROC_TRACE_CTL: + case PROC_TRAPCAP_CTL: sx_slock(&proctree_lock); tree_locked = true; break; @@ -471,6 +508,7 @@ kern_procctl(struct thread *td, idtype_t tree_locked = true; break; case PROC_TRACE_STATUS: + case PROC_TRAPCAP_STATUS: tree_locked = false; break; default: Modified: stable/11/sys/kern/subr_syscall.c ============================================================================== --- stable/11/sys/kern/subr_syscall.c Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/kern/subr_syscall.c Wed Sep 28 09:28:26 2016 (r306398) @@ -165,12 +165,25 @@ static inline void syscallret(struct thread *td, int error, struct syscall_args *sa) { struct proc *p, *p2; - int traced; + ksiginfo_t ksi; + int traced, error1; KASSERT((td->td_pflags & TDP_FORKING) == 0, ("fork() did not clear TDP_FORKING upon completion")); p = td->td_proc; + if ((trap_enotcap || (p->p_flag2 & P2_TRAPCAP) != 0) && + IN_CAPABILITY_MODE(td)) { + error1 = (td->td_pflags & TDP_NERRNO) == 0 ? error : + td->td_errno; + if (error1 == ENOTCAPABLE || error1 == ECAPMODE) { + ksiginfo_init_trap(&ksi); + ksi.ksi_signo = SIGTRAP; + ksi.ksi_errno = error1; + ksi.ksi_code = TRAP_CAP; + trapsignal(td, &ksi); + } + } /* * Handle reschedule and other end-of-syscall issues Modified: stable/11/sys/kern/sys_capability.c ============================================================================== --- stable/11/sys/kern/sys_capability.c Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/kern/sys_capability.c Wed Sep 28 09:28:26 2016 (r306398) @@ -83,6 +83,10 @@ __FBSDID("$FreeBSD$"); #include #include +int trap_enotcap; +SYSCTL_INT(_kern, OID_AUTO, trap_enotcap, CTLFLAG_RW, &trap_enotcap, 0, + "Deliver SIGTRAP on ENOTCAPABLE"); + #ifdef CAPABILITY_MODE FEATURE(security_capability_mode, "Capsicum Capability Mode"); Modified: stable/11/sys/sys/capsicum.h ============================================================================== --- stable/11/sys/sys/capsicum.h Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/sys/capsicum.h Wed Sep 28 09:28:26 2016 (r306398) @@ -368,6 +368,8 @@ int cap_ioctl_check(struct filedesc *fdp int cap_fcntl_check_fde(struct filedescent *fde, int cmd); int cap_fcntl_check(struct filedesc *fdp, int fd, int cmd); +extern int trap_enotcap; + #else /* !_KERNEL */ __BEGIN_DECLS Modified: stable/11/sys/sys/proc.h ============================================================================== --- stable/11/sys/sys/proc.h Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/sys/proc.h Wed Sep 28 09:28:26 2016 (r306398) @@ -716,6 +716,7 @@ struct proc { #define P2_NOTRACE_EXEC 0x00000004 /* Keep P2_NOPTRACE on exec(2). */ #define P2_AST_SU 0x00000008 /* Handles SU ast for kthreads. */ #define P2_PTRACE_FSTP 0x00000010 /* SIGSTOP from PT_ATTACH not yet handled. */ +#define P2_TRAPCAP 0x00000020 /* SIGTRAP on ENOTCAPABLE */ /* Flags protected by proctree_lock, kept in p_treeflags. */ #define P_TREE_ORPHANED 0x00000001 /* Reparented, on orphan list */ Modified: stable/11/sys/sys/procctl.h ============================================================================== --- stable/11/sys/sys/procctl.h Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/sys/procctl.h Wed Sep 28 09:28:26 2016 (r306398) @@ -43,6 +43,8 @@ #define PROC_REAP_KILL 6 /* kill descendants */ #define PROC_TRACE_CTL 7 /* en/dis ptrace and coredumps */ #define PROC_TRACE_STATUS 8 /* query tracing status */ +#define PROC_TRAPCAP_CTL 9 /* trap capability errors */ +#define PROC_TRAPCAP_STATUS 10 /* query trap capability status */ /* Operations for PROC_SPROTECT (passed in integer arg). */ #define PPROT_OP(x) ((x) & 0xf) @@ -102,6 +104,9 @@ struct procctl_reaper_kill { #define PROC_TRACE_CTL_DISABLE 2 #define PROC_TRACE_CTL_DISABLE_EXEC 3 +#define PROC_TRAPCAP_CTL_ENABLE 1 +#define PROC_TRAPCAP_CTL_DISABLE 2 + #ifndef _KERNEL __BEGIN_DECLS int procctl(idtype_t, id_t, int, void *); Modified: stable/11/sys/sys/signal.h ============================================================================== --- stable/11/sys/sys/signal.h Wed Sep 28 08:45:42 2016 (r306397) +++ stable/11/sys/sys/signal.h Wed Sep 28 09:28:26 2016 (r306398) @@ -291,6 +291,7 @@ typedef struct __siginfo { #define TRAP_BRKPT 1 /* Process breakpoint. */ #define TRAP_TRACE 2 /* Process trace trap. */ #define TRAP_DTRACE 3 /* DTrace induced trap. */ +#define TRAP_CAP 4 /* Capabilities protective trap. */ /* codes for SIGCHLD */ #define CLD_EXITED 1 /* Child has exited */ From owner-svn-src-stable-11@freebsd.org Wed Sep 28 09:33:47 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5EA4AC00CD1; Wed, 28 Sep 2016 09:33:47 +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 mx1.freebsd.org (Postfix) with ESMTPS id 226F8840; Wed, 28 Sep 2016 09:33:47 +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 u8S9XkcE076907; Wed, 28 Sep 2016 09:33:46 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8S9Xk98076905; Wed, 28 Sep 2016 09:33:46 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609280933.u8S9Xk98076905@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Sep 2016 09:33: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: r306399 - stable/11/lib/libc/sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 09:33:47 -0000 Author: kib Date: Wed Sep 28 09:33:46 2016 New Revision: 306399 URL: https://svnweb.freebsd.org/changeset/base/306399 Log: MFC r306257: Document r306081, i.e. procctl(PROC_TRAPCAP) and sysctl kern.trap_enocap. MFC r306366: Editing fixes for r306257, documentation for trapcap. Modified: stable/11/lib/libc/sys/cap_enter.2 stable/11/lib/libc/sys/procctl.2 Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/sys/cap_enter.2 ============================================================================== --- stable/11/lib/libc/sys/cap_enter.2 Wed Sep 28 09:28:26 2016 (r306398) +++ stable/11/lib/libc/sys/cap_enter.2 Wed Sep 28 09:33:46 2016 (r306399) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 27, 2014 +.Dd September 27, 2016 .Dt CAP_ENTER 2 .Os .Sh NAME @@ -69,6 +69,34 @@ appropriately-crafted applications or ap .Fn cap_getmode returns a flag indicating whether or not the process is in a capability mode sandbox. +.Sh RUN-TIME SETTINGS +If the +.Dv kern.trap_enocap +sysctl MIB is set to a non-zero value, then for any process executing in a +capability mode sandbox, any syscall which results in either +.Er ENOTCAPABLE +or +.Er ECAPMODE +error also generates the synchronous +.Dv SIGTRAP +signal to the thread on the syscall return. +On signal delivery, the +.Va si_errno +member of the +.Fa siginfo +signal handler parameter is set to the syscall error value, +and the +.Va si_code +member is set to +.Dv TRAP_CAP . +.Pp +See also the +.Dv PROC_TRAPCAP_CTL +and +.Dv PROC_TRAPCAP_STATUS +operations of the +.Xr procctl 2 +function for similar per-process functionality. .Sh CAVEAT Creating effective process sandboxes is a tricky process that involves identifying the least possible rights required by the process and then @@ -111,6 +139,8 @@ points outside the process's allocated a .Xr cap_fcntls_limit 2 , .Xr cap_ioctls_limit 2 , .Xr cap_rights_limit 2 , +.Xr procctl 2 , +.Xr sysctl 2 , .Xr fexecve 2 , .Xr cap_sandboxed 3 , .Xr capsicum 4 Modified: stable/11/lib/libc/sys/procctl.2 ============================================================================== --- stable/11/lib/libc/sys/procctl.2 Wed Sep 28 09:28:26 2016 (r306398) +++ stable/11/lib/libc/sys/procctl.2 Wed Sep 28 09:33:46 2016 (r306399) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 21, 2015 +.Dd September 27, 2016 .Dt PROCCTL 2 .Os .Sh NAME @@ -71,7 +71,7 @@ The control request to perform is specif .Fa cmd argument. The following commands are supported: -.Bl -tag -width "PROC_REAP_GETPIDS" +.Bl -tag -width "Dv PROC_TRAPCAP_STATUS" .It Dv PROC_SPROTECT Set process protection state. This is used to mark a process as protected from being killed if the system @@ -327,6 +327,67 @@ is set to 0. If a debugger is attached, .Fa data is set to the pid of the debugger process. +.It Dv PROC_TRAPCAP_CTL +Controls the capability mode sandbox actions for the specified +sandboxed processes, +on a return from any syscall which gives either a +.Er ENOTCAPABLE +or +.Er ECAPMODE +error. +If the control is enabled, such errors from the syscalls cause +delivery of the synchronous +.Dv SIGTRAP +signal to the thread immediately before returning from the syscalls. +.Pp +Possible values for the +.Fa data +argument are: +.Bl -tag -width "Dv PROC_TRAPCAP_CTL_DISABLE" +.It Dv PROC_TRAPCAP_CTL_ENABLE +Enable the +.Dv SIGTRAP +signal delivery on capability mode access violations. +The enabled mode is inherited by the children of the process, +and is kept after +.Xr fexecve 2 +calls. +.It Dv PROC_TRAPCAP_CTL_DISABLE +Disable the signal delivery on capability mode access violations. +Note that the global sysctl +.Dv kern.trap_enocap +might still cause the signal to be delivered. +See +.Xr capsicum 4 . +.El +.Pp +On signal delivery, the +.Va si_errno +member of the +.Fa siginfo +signal handler parameter is set to the syscall error value, +and the +.Va si_code +member is set to +.Dv TRAP_CAP . +.Pp +See +.Xr capsicum 4 +for more information about the capability mode. +.It Dv PROC_TRAPCAP_STATUS +Return the current status of signalling capability mode access +violations for the specified process. +The integer value pointed to by the +.Fa data +argument is set to the +.Dv PROC_TRAPCAP_CTL_ENABLE +value if the process control enables signal delivery, and to +.Dv PROC_TRAPCAP_CTL_DISABLE +otherwise. +.Pp +See the note about sysctl +.Dv kern.trap_enocap +above, which gives independent global control of signal delivery. .El .Sh NOTES Disabling tracing on a process should not be considered a security @@ -420,14 +481,18 @@ The value of the integer .Fa data parameter for the .Dv PROC_TRACE_CTL +or +.Dv PROC_TRAPCAP_CTL request is invalid. .El .Sh SEE ALSO .Xr dtrace 1 , +.Xr cap_enter 2, .Xr kill 2 , .Xr ktrace 2 , .Xr ptrace 2 , .Xr wait 2 , +.Xr capsicum 4 , .Xr hwpmc 4 , .Xr init 8 .Sh HISTORY From owner-svn-src-stable-11@freebsd.org Wed Sep 28 09:36:04 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61EB1C00D56; Wed, 28 Sep 2016 09:36:04 +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 mx1.freebsd.org (Postfix) with ESMTPS id 346289E7; Wed, 28 Sep 2016 09:36:04 +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 u8S9a3wp077046; Wed, 28 Sep 2016 09:36:03 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8S9a3GV077044; Wed, 28 Sep 2016 09:36:03 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609280936.u8S9a3GV077044@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Sep 2016 09:36: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: r306400 - in stable/11/sys: kern sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 09:36:04 -0000 Author: kib Date: Wed Sep 28 09:36:03 2016 New Revision: 306400 URL: https://svnweb.freebsd.org/changeset/base/306400 Log: MFC r306260: Add the foundation copyrights to procctl kernel sources. Modified: stable/11/sys/kern/kern_procctl.c stable/11/sys/sys/procctl.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/kern_procctl.c ============================================================================== --- stable/11/sys/kern/kern_procctl.c Wed Sep 28 09:33:46 2016 (r306399) +++ stable/11/sys/kern/kern_procctl.c Wed Sep 28 09:36:03 2016 (r306400) @@ -1,6 +1,6 @@ /*- * Copyright (c) 2014 John Baldwin - * Copyright (c) 2014 The FreeBSD Foundation + * Copyright (c) 2014, 2016 The FreeBSD Foundation * * Portions of this software were developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. Modified: stable/11/sys/sys/procctl.h ============================================================================== --- stable/11/sys/sys/procctl.h Wed Sep 28 09:33:46 2016 (r306399) +++ stable/11/sys/sys/procctl.h Wed Sep 28 09:36:03 2016 (r306400) @@ -1,8 +1,12 @@ /*- * Copyright (c) 2013 Hudson River Trading LLC + * Copyright (c) 2014, 2016 The FreeBSD Foundation * Written by: John H. Baldwin * All rights reserved. * + * Portions of this software were developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: From owner-svn-src-stable-11@freebsd.org Wed Sep 28 09:41:02 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 44C3FC00EA2; Wed, 28 Sep 2016 09:41:02 +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 mx1.freebsd.org (Postfix) with ESMTPS id 1C068DD2; Wed, 28 Sep 2016 09:41:02 +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 u8S9f1Gs077878; Wed, 28 Sep 2016 09:41:01 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8S9f17L077876; Wed, 28 Sep 2016 09:41:01 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609280941.u8S9f17L077876@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Sep 2016 09:41: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: r306401 - in stable/11/sys/amd64: amd64 include X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 09:41:02 -0000 Author: kib Date: Wed Sep 28 09:41:00 2016 New Revision: 306401 URL: https://svnweb.freebsd.org/changeset/base/306401 Log: MFC r306087: Export the pmap_cache_bits() and pmap_pinit_pml4() functions from the amd64 pmap. Modified: stable/11/sys/amd64/amd64/pmap.c stable/11/sys/amd64/include/pmap.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/amd64/pmap.c ============================================================================== --- stable/11/sys/amd64/amd64/pmap.c Wed Sep 28 09:36:03 2016 (r306400) +++ stable/11/sys/amd64/amd64/pmap.c Wed Sep 28 09:41:00 2016 (r306401) @@ -1324,7 +1324,7 @@ pmap_swap_pat(pmap_t pmap, pt_entry_t en * Determine the appropriate bits to set in a PTE or PDE for a specified * caching mode. */ -static int +int pmap_cache_bits(pmap_t pmap, int mode, boolean_t is_pde) { int cache_bits, pat_flag, pat_idx; @@ -2345,6 +2345,29 @@ pmap_pinit0(pmap_t pmap) CPU_FILL(&kernel_pmap->pm_active); } +void +pmap_pinit_pml4(vm_page_t pml4pg) +{ + pml4_entry_t *pm_pml4; + int i; + + pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4pg)); + + /* Wire in kernel global address entries. */ + for (i = 0; i < NKPML4E; i++) { + pm_pml4[KPML4BASE + i] = (KPDPphys + ptoa(i)) | X86_PG_RW | + X86_PG_V | PG_U; + } + for (i = 0; i < ndmpdpphys; i++) { + pm_pml4[DMPML4I + i] = (DMPDPphys + ptoa(i)) | X86_PG_RW | + X86_PG_V | PG_U; + } + + /* install self-referential address mapping entry(s) */ + pm_pml4[PML4PML4I] = VM_PAGE_TO_PHYS(pml4pg) | X86_PG_V | X86_PG_RW | + X86_PG_A | X86_PG_M; +} + /* * Initialize a preallocated and zeroed pmap structure, * such as one in a vmspace structure. @@ -2381,20 +2404,7 @@ pmap_pinit_type(pmap_t pmap, enum pmap_t */ if ((pmap->pm_type = pm_type) == PT_X86) { pmap->pm_cr3 = pml4phys; - - /* Wire in kernel global address entries. */ - for (i = 0; i < NKPML4E; i++) { - pmap->pm_pml4[KPML4BASE + i] = (KPDPphys + ptoa(i)) | - X86_PG_RW | X86_PG_V | PG_U; - } - for (i = 0; i < ndmpdpphys; i++) { - pmap->pm_pml4[DMPML4I + i] = (DMPDPphys + ptoa(i)) | - X86_PG_RW | X86_PG_V | PG_U; - } - - /* install self-referential address mapping entry(s) */ - pmap->pm_pml4[PML4PML4I] = VM_PAGE_TO_PHYS(pml4pg) | - X86_PG_V | X86_PG_RW | X86_PG_A | X86_PG_M; + pmap_pinit_pml4(pml4pg); } pmap->pm_root.rt_root = 0; Modified: stable/11/sys/amd64/include/pmap.h ============================================================================== --- stable/11/sys/amd64/include/pmap.h Wed Sep 28 09:36:03 2016 (r306400) +++ stable/11/sys/amd64/include/pmap.h Wed Sep 28 09:41:00 2016 (r306401) @@ -391,6 +391,7 @@ struct thread; void pmap_activate_sw(struct thread *); void pmap_bootstrap(vm_paddr_t *); +int pmap_cache_bits(pmap_t pmap, int mode, boolean_t is_pde); int pmap_change_attr(vm_offset_t, vm_size_t, int); void pmap_demote_DMAP(vm_paddr_t base, vm_size_t len, boolean_t invalidate); void pmap_init_pat(void); @@ -403,6 +404,7 @@ void *pmap_mapdev(vm_paddr_t, vm_size_t) void *pmap_mapdev_attr(vm_paddr_t, vm_size_t, int); boolean_t pmap_page_is_mapped(vm_page_t m); void pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma); +void pmap_pinit_pml4(vm_page_t); void pmap_unmapdev(vm_offset_t, vm_size_t); void pmap_invalidate_page(pmap_t, vm_offset_t); void pmap_invalidate_range(pmap_t, vm_offset_t, vm_offset_t); From owner-svn-src-stable-11@freebsd.org Wed Sep 28 09:43:24 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 62F84BE8110; Wed, 28 Sep 2016 09:43:24 +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 mx1.freebsd.org (Postfix) with ESMTPS id 356EA1198; Wed, 28 Sep 2016 09:43:24 +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 u8S9hNFe080695; Wed, 28 Sep 2016 09:43:23 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8S9hNPx080694; Wed, 28 Sep 2016 09:43:23 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609280943.u8S9hNPx080694@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Sep 2016 09:43: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: r306402 - stable/11/sys/amd64/include X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 09:43:24 -0000 Author: kib Date: Wed Sep 28 09:43:23 2016 New Revision: 306402 URL: https://svnweb.freebsd.org/changeset/base/306402 Log: MFC r306088: Add amd64 functions to load/store GDT register, store IDT and TR registers. Modified: stable/11/sys/amd64/include/cpufunc.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/include/cpufunc.h ============================================================================== --- stable/11/sys/amd64/include/cpufunc.h Wed Sep 28 09:41:00 2016 (r306401) +++ stable/11/sys/amd64/include/cpufunc.h Wed Sep 28 09:43:23 2016 (r306402) @@ -645,12 +645,36 @@ load_gs(u_short sel) #endif static __inline void +bare_lgdt(struct region_descriptor *addr) +{ + __asm __volatile("lgdt (%0)" : : "r" (addr)); +} + +static __inline void +sgdt(struct region_descriptor *addr) +{ + char *loc; + + loc = (char *)addr; + __asm __volatile("sgdt %0" : "=m" (*loc) : : "memory"); +} + +static __inline void lidt(struct region_descriptor *addr) { __asm __volatile("lidt (%0)" : : "r" (addr)); } static __inline void +sidt(struct region_descriptor *addr) +{ + char *loc; + + loc = (char *)addr; + __asm __volatile("sidt %0" : "=m" (*loc) : : "memory"); +} + +static __inline void lldt(u_short sel) { __asm __volatile("lldt %0" : : "r" (sel)); @@ -662,6 +686,15 @@ ltr(u_short sel) __asm __volatile("ltr %0" : : "r" (sel)); } +static __inline uint32_t +read_tr(void) +{ + u_short sel; + + __asm __volatile("str %0" : "=r" (sel)); + return (sel); +} + static __inline uint64_t rdr0(void) { From owner-svn-src-stable-11@freebsd.org Wed Sep 28 09:46:30 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 77FB6BE8280; Wed, 28 Sep 2016 09:46:30 +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 mx1.freebsd.org (Postfix) with ESMTPS id 450031509; Wed, 28 Sep 2016 09:46:30 +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 u8S9kT37081045; Wed, 28 Sep 2016 09:46:29 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8S9kTHh081043; Wed, 28 Sep 2016 09:46:29 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609280946.u8S9kTHh081043@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Sep 2016 09:46: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: r306403 - in stable/11/sys: kern sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 09:46:30 -0000 Author: kib Date: Wed Sep 28 09:46:29 2016 New Revision: 306403 URL: https://svnweb.freebsd.org/changeset/base/306403 Log: MFC r306089: Make resettodr_lock accessible outside subr_rtc.c. Protect CLOCK_GETTIME() with the lock. Modified: stable/11/sys/kern/subr_rtc.c stable/11/sys/sys/clock.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/subr_rtc.c ============================================================================== --- stable/11/sys/kern/subr_rtc.c Wed Sep 28 09:43:23 2016 (r306402) +++ stable/11/sys/kern/subr_rtc.c Wed Sep 28 09:46:29 2016 (r306403) @@ -75,7 +75,7 @@ __FBSDID("$FreeBSD$"); static device_t clock_dev = NULL; static long clock_res; static struct timespec clock_adj; -static struct mtx resettodr_lock; +struct mtx resettodr_lock; MTX_SYSINIT(resettodr_init, &resettodr_lock, "tod2rl", MTX_DEF); /* XXX: should be kern. now, it's no longer machdep. */ @@ -132,7 +132,9 @@ inittodr(time_t base) goto wrong_time; } /* XXX: We should poll all registered RTCs in case of failure */ + mtx_lock(&resettodr_lock); error = CLOCK_GETTIME(clock_dev, &ts); + mtx_unlock(&resettodr_lock); if (error != 0 && error != EINVAL) { printf("warning: clock_gettime failed (%d), the system time " "will not be set accurately\n", error); Modified: stable/11/sys/sys/clock.h ============================================================================== --- stable/11/sys/sys/clock.h Wed Sep 28 09:43:23 2016 (r306402) +++ stable/11/sys/sys/clock.h Wed Sep 28 09:46:29 2016 (r306403) @@ -54,6 +54,7 @@ */ extern int tz_minuteswest; extern int tz_dsttime; +extern struct mtx resettodr_lock; int utc_offset(void); From owner-svn-src-stable-11@freebsd.org Wed Sep 28 09:48:41 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 144D9BE8303; Wed, 28 Sep 2016 09:48:41 +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 mx1.freebsd.org (Postfix) with ESMTPS id C7E311697; Wed, 28 Sep 2016 09:48:40 +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 u8S9mdc3081173; Wed, 28 Sep 2016 09:48:39 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8S9mdkJ081169; Wed, 28 Sep 2016 09:48:39 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609280948.u8S9mdkJ081169@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Sep 2016 09:48: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: r306404 - in stable/11/sys: amd64/include arm/include arm64/include sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 09:48:41 -0000 Author: kib Date: Wed Sep 28 09:48:39 2016 New Revision: 306404 URL: https://svnweb.freebsd.org/changeset/base/306404 Log: MFC r306091: Add a way for the architecture to specify the calling ABI for methods in the EFI Runtime Services Table. On amd64, the calling conventions are MS. Added: stable/11/sys/amd64/include/efi.h - copied unchanged from r306091, head/sys/amd64/include/efi.h stable/11/sys/arm/include/efi.h - copied unchanged from r306091, head/sys/arm/include/efi.h stable/11/sys/arm64/include/efi.h - copied unchanged from r306091, head/sys/arm64/include/efi.h Modified: stable/11/sys/sys/efi.h Directory Properties: stable/11/ (props changed) Copied: stable/11/sys/amd64/include/efi.h (from r306091, head/sys/amd64/include/efi.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/sys/amd64/include/efi.h Wed Sep 28 09:48:39 2016 (r306404, copy of r306091, head/sys/amd64/include/efi.h) @@ -0,0 +1,42 @@ +/*- + * Copyright (c) 2016 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef __AMD64_INCLUDE_EFI_H_ +#define __AMD64_INCLUDE_EFI_H_ + +/* + * XXX: from gcc 6.2 manual: + * Note, the ms_abi attribute for Microsoft Windows 64-bit targets + * currently requires the -maccumulate-outgoing-args option. + */ +#define EFIABI_ATTR __attribute__((ms_abi)) + +#endif /* __AMD64_INCLUDE_EFI_H_ */ Copied: stable/11/sys/arm/include/efi.h (from r306091, head/sys/arm/include/efi.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/sys/arm/include/efi.h Wed Sep 28 09:48:39 2016 (r306404, copy of r306091, head/sys/arm/include/efi.h) @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2016 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef __ARM_INCLUDE_EFI_H_ +#define __ARM_INCLUDE_EFI_H_ + +#define EFIABI_ATTR + +#endif /* __ARM_INCLUDE_EFI_H_ */ Copied: stable/11/sys/arm64/include/efi.h (from r306091, head/sys/arm64/include/efi.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/sys/arm64/include/efi.h Wed Sep 28 09:48:39 2016 (r306404, copy of r306091, head/sys/arm64/include/efi.h) @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2016 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef __ARM64_INCLUDE_EFI_H_ +#define __ARM64_INCLUDE_EFI_H_ + +#define EFIABI_ATTR + +#endif /* __ARM64_INCLUDE_EFI_H_ */ Modified: stable/11/sys/sys/efi.h ============================================================================== --- stable/11/sys/sys/efi.h Wed Sep 28 09:46:29 2016 (r306403) +++ stable/11/sys/sys/efi.h Wed Sep 28 09:48:39 2016 (r306404) @@ -30,6 +30,7 @@ #define _SYS_EFI_H_ #include +#include #define EFI_PAGE_SHIFT 12 #define EFI_PAGE_SIZE (1 << EFI_PAGE_SHIFT) @@ -118,22 +119,25 @@ struct efi_tblhdr { struct efi_rt { struct efi_tblhdr rt_hdr; - efi_status (*rt_gettime)(struct efi_tm *, struct efi_tmcap *); - efi_status (*rt_settime)(struct efi_tm *); + efi_status (*rt_gettime)(struct efi_tm *, struct efi_tmcap *) + EFIABI_ATTR; + efi_status (*rt_settime)(struct efi_tm *) EFIABI_ATTR; efi_status (*rt_getwaketime)(uint8_t *, uint8_t *, - struct efi_tm *); - efi_status (*rt_setwaketime)(uint8_t, struct efi_tm *); + struct efi_tm *) EFIABI_ATTR; + efi_status (*rt_setwaketime)(uint8_t, struct efi_tm *) + EFIABI_ATTR; efi_status (*rt_setvirtual)(u_long, u_long, uint32_t, - struct efi_md *); - efi_status (*rt_cvtptr)(u_long, void **); + struct efi_md *) EFIABI_ATTR; + efi_status (*rt_cvtptr)(u_long, void **) EFIABI_ATTR; efi_status (*rt_getvar)(efi_char *, struct uuid *, uint32_t *, - u_long *, void *); - efi_status (*rt_scanvar)(u_long *, efi_char *, struct uuid *); + u_long *, void *) EFIABI_ATTR; + efi_status (*rt_scanvar)(u_long *, efi_char *, struct uuid *) + EFIABI_ATTR; efi_status (*rt_setvar)(efi_char *, struct uuid *, uint32_t, - u_long, void *); - efi_status (*rt_gethicnt)(uint32_t *); + u_long, void *) EFIABI_ATTR; + efi_status (*rt_gethicnt)(uint32_t *) EFIABI_ATTR; efi_status (*rt_reset)(enum efi_reset, efi_status, u_long, - efi_char *); + efi_char *) EFIABI_ATTR; }; struct efi_systbl { From owner-svn-src-stable-11@freebsd.org Wed Sep 28 09:51:09 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 32C95BE83C0; Wed, 28 Sep 2016 09:51:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F419118E5; Wed, 28 Sep 2016 09:51:08 +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 u8S9p8AZ084011; Wed, 28 Sep 2016 09:51:08 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8S9p8As084009; Wed, 28 Sep 2016 09:51:08 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609280951.u8S9p8As084009@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Sep 2016 09:51: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: r306405 - in stable/11/sys: amd64/amd64 sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 09:51:09 -0000 Author: kib Date: Wed Sep 28 09:51:07 2016 New Revision: 306405 URL: https://svnweb.freebsd.org/changeset/base/306405 Log: MFC r306092: Rename efi_systbl to efi_systbl_phys. Modified: stable/11/sys/amd64/amd64/machdep.c stable/11/sys/sys/efi.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/amd64/machdep.c ============================================================================== --- stable/11/sys/amd64/amd64/machdep.c Wed Sep 28 09:48:39 2016 (r306404) +++ stable/11/sys/amd64/amd64/machdep.c Wed Sep 28 09:51:07 2016 (r306405) @@ -192,7 +192,7 @@ struct msgbuf *msgbufp; * Physical address of the EFI System Table. Stashed from the metadata hints * passed into the kernel and used by the EFI code to call runtime services. */ -vm_paddr_t efi_systbl; +vm_paddr_t efi_systbl_phys; /* Intel ICH registers */ #define ICH_PMBASE 0x400 @@ -1502,7 +1502,7 @@ native_parse_preload_data(u_int64_t modu ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t); db_fetch_ksymtab(ksym_start, ksym_end); #endif - efi_systbl = MD_FETCH(kmdp, MODINFOMD_FW_HANDLE, vm_paddr_t); + efi_systbl_phys = MD_FETCH(kmdp, MODINFOMD_FW_HANDLE, vm_paddr_t); return (kmdp); } Modified: stable/11/sys/sys/efi.h ============================================================================== --- stable/11/sys/sys/efi.h Wed Sep 28 09:48:39 2016 (r306404) +++ stable/11/sys/sys/efi.h Wed Sep 28 09:51:07 2016 (r306405) @@ -158,5 +158,8 @@ struct efi_systbl { uint64_t st_cfgtbl; }; -extern vm_paddr_t efi_systbl; +#ifdef _KERNEL +extern vm_paddr_t efi_systbl_phys; +#endif /* _KERNEL */ + #endif /* _SYS_EFI_H_ */ From owner-svn-src-stable-11@freebsd.org Wed Sep 28 20:53:00 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1FC44C01361; Wed, 28 Sep 2016 20:53:00 +0000 (UTC) (envelope-from ache@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 EC7A09E; Wed, 28 Sep 2016 20:52:59 +0000 (UTC) (envelope-from ache@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8SKqxeK036405; Wed, 28 Sep 2016 20:52:59 GMT (envelope-from ache@FreeBSD.org) Received: (from ache@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8SKqxYx036404; Wed, 28 Sep 2016 20:52:59 GMT (envelope-from ache@FreeBSD.org) Message-Id: <201609282052.u8SKqxYx036404@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ache set sender to ache@FreeBSD.org using -f From: "Andrey A. Chernov" Date: Wed, 28 Sep 2016 20:52: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: r306415 - stable/11/lib/libc/stdtime X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 20:53:00 -0000 Author: ache Date: Wed Sep 28 20:52:58 2016 New Revision: 306415 URL: https://svnweb.freebsd.org/changeset/base/306415 Log: MFC r306075,r306109 1) Microoptimize %p case. 2) Implememt %u for GNU compatibility. 3) Don't forget to advance buf for %w/%u. 4) Fail with incomplete week (week 0) request and no such week in the year. 5) Fix yday formula when Sunday requested and the week started from Monday. 6) Fail with impossible yday for incomplete week (week 0) and direct %w/%u request. 7) Shift yday/wday to the first day of the year, if incomplete week (week 0) requested and no %w/%u used. 8) For already non-standard %z extension implement GNU compatible formats: +hh and -hh. 9) Check for incorrect values for %z. PR: 212983 (case 3 only) Modified: stable/11/lib/libc/stdtime/strptime.c Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/stdtime/strptime.c ============================================================================== --- stable/11/lib/libc/stdtime/strptime.c Wed Sep 28 20:49:33 2016 (r306414) +++ stable/11/lib/libc/stdtime/strptime.c Wed Sep 28 20:52:58 2016 (r306415) @@ -301,10 +301,11 @@ label: * XXX This is bogus if parsed before hour-related * specifiers. */ + if (tm->tm_hour > 12) + return (NULL); + len = strlen(tptr->am); if (strncasecmp_l(buf, tptr->am, len, locale) == 0) { - if (tm->tm_hour > 12) - return (NULL); if (tm->tm_hour == 12) tm->tm_hour = 0; buf += len; @@ -313,8 +314,6 @@ label: len = strlen(tptr->pm); if (strncasecmp_l(buf, tptr->pm, len, locale) == 0) { - if (tm->tm_hour > 12) - return (NULL); if (tm->tm_hour != 12) tm->tm_hour += 12; buf += len; @@ -374,15 +373,17 @@ label: break; + case 'u': case 'w': if (!isdigit_l((unsigned char)*buf, locale)) return (NULL); - i = *buf - '0'; - if (i > 6) + i = *buf++ - '0'; + if (i < 0 || i > 7 || (c == 'u' && i < 1) || + (c == 'w' && i > 6)) return (NULL); - tm->tm_wday = i; + tm->tm_wday = i % 7; flags |= FLAG_WDAY; break; @@ -581,10 +582,16 @@ label: i *= 10; i += *buf - '0'; buf++; + } else if (len == 2) { + i *= 100; + break; } else return (NULL); } + if (i > 1400 || (sign == -1 && i > 1200) || + (i % 100) >= 60) + return (NULL); tm->tm_hour -= sign * (i / 100); tm->tm_min -= sign * (i % 100); *GMTp = 1; @@ -609,17 +616,28 @@ label: TM_YEAR_BASE)][tm->tm_mon] + (tm->tm_mday - 1); flags |= FLAG_YDAY; } else if (day_offset != -1) { + int tmpwday, tmpyday, fwo; + + fwo = first_wday_of(tm->tm_year + TM_YEAR_BASE); + /* No incomplete week (week 0). */ + if (week_offset == 0 && fwo == day_offset) + return (NULL); + /* Set the date to the first Sunday (or Monday) * of the specified week of the year. */ - if (!(flags & FLAG_WDAY)) { - tm->tm_wday = day_offset; - flags |= FLAG_WDAY; - } - tm->tm_yday = (7 - - first_wday_of(tm->tm_year + TM_YEAR_BASE) + - day_offset) % 7 + (week_offset - 1) * 7 + - tm->tm_wday - day_offset; + tmpwday = (flags & FLAG_WDAY) ? tm->tm_wday : + day_offset; + tmpyday = (7 - fwo + day_offset) % 7 + + (week_offset - 1) * 7 + + (tmpwday - day_offset + 7) % 7; + /* Impossible yday for incomplete week (week 0). */ + if (tmpyday < 0) { + if (flags & FLAG_WDAY) + return (NULL); + tmpyday = 0; + } + tm->tm_yday = tmpyday; flags |= FLAG_YDAY; } } From owner-svn-src-stable-11@freebsd.org Wed Sep 28 21:33:36 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 691EEC01BC6; Wed, 28 Sep 2016 21:33:36 +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 mx1.freebsd.org (Postfix) with ESMTPS id 38A131760; Wed, 28 Sep 2016 21:33:36 +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 u8SLXZ0Q051405; Wed, 28 Sep 2016 21:33:35 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8SLXZoN051404; Wed, 28 Sep 2016 21:33:35 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201609282133.u8SLXZoN051404@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 28 Sep 2016 21:33: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: r306418 - stable/11/usr.sbin/portsnap/portsnap X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 21:33:36 -0000 Author: emaste Date: Wed Sep 28 21:33:35 2016 New Revision: 306418 URL: https://svnweb.freebsd.org/changeset/base/306418 Log: MFC r306417: portsnap: only move expected snapshot contents from snap/ to files/ Previously it was possible to smuggle in addional files that would be used by later portsnap runs. Now we only move those files expected to be in the snapshot into files/ and require that there are no unexpected files. This was used by portsnap attacks 2, 3, and 4 in the "non-cryptanalytic attacks against FreeBSD update components" anonymous gist. Approved by: re (gjb) Modified: stable/11/usr.sbin/portsnap/portsnap/portsnap.sh Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/portsnap/portsnap/portsnap.sh ============================================================================== --- stable/11/usr.sbin/portsnap/portsnap/portsnap.sh Wed Sep 28 21:22:51 2016 (r306417) +++ stable/11/usr.sbin/portsnap/portsnap/portsnap.sh Wed Sep 28 21:33:35 2016 (r306418) @@ -691,6 +691,13 @@ fetch_snapshot() { fetch_index_sanity || return 1 # Verify the snapshot contents cut -f 2 -d '|' INDEX.new | fetch_snapshot_verify || return 1 + cut -f 2 -d '|' tINDEX.new INDEX.new | sort -u > files.expected + find snap -mindepth 1 | sed -E 's^snap/(.*)\.gz^\1^' | sort > files.snap + if ! cmp -s files.expected files.snap; then + echo "unexpected files in snapshot." + return 1 + fi + rm files.expected files.snap echo "done." # Move files into their proper locations From owner-svn-src-stable-11@freebsd.org Thu Sep 29 22:52:26 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 68C4DC026AD; Thu, 29 Sep 2016 22:52:26 +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 mx1.freebsd.org (Postfix) with ESMTPS id 2CE9D149; Thu, 29 Sep 2016 22:52:26 +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 u8TMqPDs027510; Thu, 29 Sep 2016 22:52:25 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8TMqOg6027503; Thu, 29 Sep 2016 22:52:24 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609292252.u8TMqOg6027503@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 29 Sep 2016 22:52: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: r306461 - in stable/11: share/man/man9 sys/dev/pci X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Sep 2016 22:52:26 -0000 Author: jhb Date: Thu Sep 29 22:52:24 2016 New Revision: 306461 URL: https://svnweb.freebsd.org/changeset/base/306461 Log: MFC 303721: Permit the name of the /dev/iov entry to be set by the driver. The PCI_IOV option creates character devices in /dev/iov for each PF device driver that registers support for creating VFs. By default the character device is named after the PF device (e.g. /dev/iov/foo0). This change adds a variant of pci_iov_attach() called pci_iov_attach_name() that allows the name of the /dev/iov entry to be specified by the driver. To preserve the ABI, this version does not modify the existing PCI_IOV_ATTACH kobj method as was done in HEAD. Instead, a new PCI_IOV_ATTACH_NAME method has been added that accepts the name as an additional parameter. The PCI bus driver now provides an implementation of PCI_IOV_ATTACH_NAME. A default implementation of PCI_IOV_ATTACH is provided that calls PCI_IOV_ATTACH_NAME passing 'device_get_nameunit(dev)' as the name. Sponsored by: Chelsio Communications Modified: stable/11/share/man/man9/Makefile stable/11/share/man/man9/pci.9 stable/11/sys/dev/pci/pci.c stable/11/sys/dev/pci/pci_if.m stable/11/sys/dev/pci/pci_iov.c stable/11/sys/dev/pci/pci_iov.h stable/11/sys/dev/pci/pci_private.h Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man9/Makefile ============================================================================== --- stable/11/share/man/man9/Makefile Thu Sep 29 22:01:09 2016 (r306460) +++ stable/11/share/man/man9/Makefile Thu Sep 29 22:52:24 2016 (r306461) @@ -1303,6 +1303,7 @@ MLINKS+=pci.9 pci_alloc_msi.9 \ pci.9 pci_get_vpd_ident.9 \ pci.9 pci_get_vpd_readonly.9 \ pci.9 pci_iov_attach.9 \ + pci.9 pci_iov_attach_name.9 \ pci.9 pci_iov_detach.9 \ pci.9 pci_msi_count.9 \ pci.9 pci_msix_count.9 \ Modified: stable/11/share/man/man9/pci.9 ============================================================================== --- stable/11/share/man/man9/pci.9 Thu Sep 29 22:01:09 2016 (r306460) +++ stable/11/share/man/man9/pci.9 Thu Sep 29 22:52:24 2016 (r306461) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 24, 2016 +.Dd August 3, 2016 .Dt PCI 9 .Os .Sh NAME @@ -50,6 +50,7 @@ .Nm pci_get_vpd_ident , .Nm pci_get_vpd_readonly , .Nm pci_iov_attach , +.Nm pci_iov_attach_name , .Nm pci_iov_detach , .Nm pci_msi_count , .Nm pci_msix_count , @@ -152,6 +153,14 @@ .Ft int .Fn pci_iov_attach "device_t dev" "nvlist_t *pf_schema" "nvlist_t *vf_schema" .Ft int +.Fo pci_iov_attach_name +.Fa "device_t dev" +.Fa "nvlist_t *pf_schema" +.Fa "nvlist_t *vf_schema" +.Fa "const char *fmt" +.Fa "..." +.Fc +.Ft int .Fn pci_iov_detach "device_t dev" .Sh DESCRIPTION The @@ -595,6 +604,20 @@ and is responsible for freeing them. The driver must never free the schemas itself. .Pp The +.Fn pci_iov_attach_name +function is a variant of +.Fn pci_iov_attach +that allows the name of the associated character device in +.Pa /dev/iov +to be specified by +.Fa fmt . +The +.Fn pci_iov_attach +function uses the name of +.Fa dev +as the device name. +.Pp +The .Fn pci_iov_detach function is used to advise the SR-IOV infrastructure that the driver for the given device is attempting to detach and that all SR-IOV resources for the Modified: stable/11/sys/dev/pci/pci.c ============================================================================== --- stable/11/sys/dev/pci/pci.c Thu Sep 29 22:01:09 2016 (r306460) +++ stable/11/sys/dev/pci/pci.c Thu Sep 29 22:52:24 2016 (r306461) @@ -195,7 +195,7 @@ static device_method_t pci_methods[] = { DEVMETHOD(pci_alloc_devinfo, pci_alloc_devinfo_method), DEVMETHOD(pci_child_added, pci_child_added_method), #ifdef PCI_IOV - DEVMETHOD(pci_iov_attach, pci_iov_attach_method), + DEVMETHOD(pci_iov_attach_name, pci_iov_attach_method), DEVMETHOD(pci_iov_detach, pci_iov_detach_method), DEVMETHOD(pci_create_iov_child, pci_create_iov_child_method), #endif Modified: stable/11/sys/dev/pci/pci_if.m ============================================================================== --- stable/11/sys/dev/pci/pci_if.m Thu Sep 29 22:01:09 2016 (r306460) +++ stable/11/sys/dev/pci/pci_if.m Thu Sep 29 22:52:24 2016 (r306461) @@ -51,6 +51,14 @@ CODE { device_printf(bus, "PCI_IOV not implemented on this bus.\n"); return (NULL); } + + static int + compat_iov_attach(device_t bus, device_t dev, struct nvlist *pf_schema, + struct nvlist *vf_schema) + { + return (PCI_IOV_ATTACH_NAME(bus, dev, pf_schema, vf_schema, + device_get_nameunit(dev))); + } }; HEADER { @@ -235,6 +243,14 @@ METHOD int iov_attach { device_t child; struct nvlist *pf_schema; struct nvlist *vf_schema; +} DEFAULT compat_iov_attach; + +METHOD int iov_attach_name { + device_t dev; + device_t child; + struct nvlist *pf_schema; + struct nvlist *vf_schema; + const char *name; }; METHOD int iov_detach { Modified: stable/11/sys/dev/pci/pci_iov.c ============================================================================== --- stable/11/sys/dev/pci/pci_iov.c Thu Sep 29 22:01:09 2016 (r306460) +++ stable/11/sys/dev/pci/pci_iov.c Thu Sep 29 22:52:24 2016 (r306461) @@ -98,8 +98,22 @@ static nvlist_t *pci_iov_get_pf_subsyste static nvlist_t *pci_iov_get_vf_subsystem_schema(void); int +pci_iov_attach_name(device_t dev, struct nvlist *pf_schema, + struct nvlist *vf_schema, const char *fmt, ...) +{ + char buf[NAME_MAX + 1]; + va_list ap; + + va_start(ap, fmt); + vsnprintf(buf, sizeof(buf), fmt, ap); + va_end(ap); + return (PCI_IOV_ATTACH_NAME(device_get_parent(dev), dev, pf_schema, + vf_schema, buf)); +} + +int pci_iov_attach_method(device_t bus, device_t dev, nvlist_t *pf_schema, - nvlist_t *vf_schema) + nvlist_t *vf_schema, const char *name) { device_t pcib; struct pci_devinfo *dinfo; @@ -149,7 +163,7 @@ pci_iov_attach_method(device_t bus, devi iov->iov_schema = schema; iov->iov_cdev = make_dev(&iov_cdevsw, device_get_unit(dev), - UID_ROOT, GID_WHEEL, 0600, "iov/%s", device_get_nameunit(dev)); + UID_ROOT, GID_WHEEL, 0600, "iov/%s", name); if (iov->iov_cdev == NULL) { error = ENOMEM; Modified: stable/11/sys/dev/pci/pci_iov.h ============================================================================== --- stable/11/sys/dev/pci/pci_iov.h Thu Sep 29 22:01:09 2016 (r306460) +++ stable/11/sys/dev/pci/pci_iov.h Thu Sep 29 22:52:24 2016 (r306461) @@ -33,11 +33,14 @@ struct nvlist; +int pci_iov_attach_name(device_t dev, struct nvlist *pf_schema, + struct nvlist *vf_schema, const char *fmt, ...) __printflike(4, 5); + static __inline int pci_iov_attach(device_t dev, struct nvlist *pf_schema, struct nvlist *vf_schema) { - return (PCI_IOV_ATTACH(device_get_parent(dev), dev, pf_schema, - vf_schema)); + return (PCI_IOV_ATTACH_NAME(device_get_parent(dev), dev, pf_schema, + vf_schema, device_get_nameunit(dev))); } static __inline int Modified: stable/11/sys/dev/pci/pci_private.h ============================================================================== --- stable/11/sys/dev/pci/pci_private.h Thu Sep 29 22:01:09 2016 (r306460) +++ stable/11/sys/dev/pci/pci_private.h Thu Sep 29 22:52:24 2016 (r306461) @@ -158,7 +158,8 @@ struct resource *pci_alloc_multi_resourc rman_res_t count, u_long num, u_int flags); int pci_iov_attach_method(device_t bus, device_t dev, - struct nvlist *pf_schema, struct nvlist *vf_schema); + struct nvlist *pf_schema, struct nvlist *vf_schema, + const char *name); int pci_iov_detach_method(device_t bus, device_t dev); device_t pci_create_iov_child_method(device_t bus, device_t pf, From owner-svn-src-stable-11@freebsd.org Thu Sep 29 23:41:59 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F036C022ED; Thu, 29 Sep 2016 23:41:59 +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 mx1.freebsd.org (Postfix) with ESMTPS id EE0A8F8; Thu, 29 Sep 2016 23:41:58 +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 u8TNfwt0046521; Thu, 29 Sep 2016 23:41:58 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8TNfwUZ046520; Thu, 29 Sep 2016 23:41:58 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609292341.u8TNfwUZ046520@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 29 Sep 2016 23:41: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: r306463 - stable/11/sys/dev/cxgbe X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Sep 2016 23:41:59 -0000 Author: jhb Date: Thu Sep 29 23:41:57 2016 New Revision: 306463 URL: https://svnweb.freebsd.org/changeset/base/306463 Log: MFC 303204: Install a handler for firmware work request error messages. If a driver sends an malformed or disallowed work request, the firmware responds with a work request error. Previously the driver treated this is as an unexpected message and panicked. Now it decodes the error message to aid in debugging. Sponsored by: Chelsio Communications Modified: stable/11/sys/dev/cxgbe/t4_sge.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/cxgbe/t4_sge.c ============================================================================== --- stable/11/sys/dev/cxgbe/t4_sge.c Thu Sep 29 23:07:28 2016 (r306462) +++ stable/11/sys/dev/cxgbe/t4_sge.c Thu Sep 29 23:41:57 2016 (r306463) @@ -244,6 +244,7 @@ static int handle_sge_egr_update(struct struct mbuf *); static int handle_fw_msg(struct sge_iq *, const struct rss_header *, struct mbuf *); +static int t4_handle_wrerr_rpl(struct adapter *, const __be64 *); static void wrq_tx_drain(void *, int); static void drain_wrq_wr_list(struct adapter *, struct sge_wrq *); @@ -402,6 +403,7 @@ t4_sge_modload(void) t4_register_cpl_handler(CPL_SGE_EGR_UPDATE, handle_sge_egr_update); t4_register_cpl_handler(CPL_RX_PKT, t4_eth_rx); t4_register_fw_msg_handler(FW6_TYPE_CMD_RPL, t4_handle_fw_rpl); + t4_register_fw_msg_handler(FW6_TYPE_WRERR_RPL, t4_handle_wrerr_rpl); } void @@ -4782,6 +4784,71 @@ handle_fw_msg(struct sge_iq *iq, const s return (t4_fw_msg_handler[cpl->type](sc, &cpl->data[0])); } +/** + * t4_handle_wrerr_rpl - process a FW work request error message + * @adap: the adapter + * @rpl: start of the FW message + */ +static int +t4_handle_wrerr_rpl(struct adapter *adap, const __be64 *rpl) +{ + u8 opcode = *(const u8 *)rpl; + const struct fw_error_cmd *e = (const void *)rpl; + unsigned int i; + + if (opcode != FW_ERROR_CMD) { + log(LOG_ERR, + "%s: Received WRERR_RPL message with opcode %#x\n", + device_get_nameunit(adap->dev), opcode); + return (EINVAL); + } + log(LOG_ERR, "%s: FW_ERROR (%s) ", device_get_nameunit(adap->dev), + G_FW_ERROR_CMD_FATAL(be32toh(e->op_to_type)) ? "fatal" : + "non-fatal"); + switch (G_FW_ERROR_CMD_TYPE(be32toh(e->op_to_type))) { + case FW_ERROR_TYPE_EXCEPTION: + log(LOG_ERR, "exception info:\n"); + for (i = 0; i < nitems(e->u.exception.info); i++) + log(LOG_ERR, "%s%08x", i == 0 ? "\t" : " ", + be32toh(e->u.exception.info[i])); + log(LOG_ERR, "\n"); + break; + case FW_ERROR_TYPE_HWMODULE: + log(LOG_ERR, "HW module regaddr %08x regval %08x\n", + be32toh(e->u.hwmodule.regaddr), + be32toh(e->u.hwmodule.regval)); + break; + case FW_ERROR_TYPE_WR: + log(LOG_ERR, "WR cidx %d PF %d VF %d eqid %d hdr:\n", + be16toh(e->u.wr.cidx), + G_FW_ERROR_CMD_PFN(be16toh(e->u.wr.pfn_vfn)), + G_FW_ERROR_CMD_VFN(be16toh(e->u.wr.pfn_vfn)), + be32toh(e->u.wr.eqid)); + for (i = 0; i < nitems(e->u.wr.wrhdr); i++) + log(LOG_ERR, "%s%02x", i == 0 ? "\t" : " ", + e->u.wr.wrhdr[i]); + log(LOG_ERR, "\n"); + break; + case FW_ERROR_TYPE_ACL: + log(LOG_ERR, "ACL cidx %d PF %d VF %d eqid %d %s", + be16toh(e->u.acl.cidx), + G_FW_ERROR_CMD_PFN(be16toh(e->u.acl.pfn_vfn)), + G_FW_ERROR_CMD_VFN(be16toh(e->u.acl.pfn_vfn)), + be32toh(e->u.acl.eqid), + G_FW_ERROR_CMD_MV(be16toh(e->u.acl.mv_pkd)) ? "vlanid" : + "MAC"); + for (i = 0; i < nitems(e->u.acl.val); i++) + log(LOG_ERR, " %02x", e->u.acl.val[i]); + log(LOG_ERR, "\n"); + break; + default: + log(LOG_ERR, "type %#x\n", + G_FW_ERROR_CMD_TYPE(be32toh(e->op_to_type))); + return (EINVAL); + } + return (0); +} + static int sysctl_uint16(SYSCTL_HANDLER_ARGS) { From owner-svn-src-stable-11@freebsd.org Fri Sep 30 00:31:19 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22365C02FF3; Fri, 30 Sep 2016 00:31:19 +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 mx1.freebsd.org (Postfix) with ESMTPS id E568B18EC; Fri, 30 Sep 2016 00:31:18 +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 u8U0VIWw061936; Fri, 30 Sep 2016 00:31:18 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8U0VIve061935; Fri, 30 Sep 2016 00:31:18 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609300031.u8U0VIve061935@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 30 Sep 2016 00:31: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: r306466 - in stable: 10/sys/x86/iommu 11/sys/x86/iommu X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 00:31:19 -0000 Author: jhb Date: Fri Sep 30 00:31:17 2016 New Revision: 306466 URL: https://svnweb.freebsd.org/changeset/base/306466 Log: MFC 303886: Add additional constants. - Add constants for the fields in the root-entry table address register, namely the root type type (RTT) and root table address (RTA) mask. - Add macros for the bitmask of the domain ID field in the second word of context table entries as well as a helper macro (DMAR_CTX2_GET_DID) to extract the domain ID from a context table entry. Sponsored by: Chelsio Communications Modified: stable/11/sys/x86/iommu/intel_reg.h Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/x86/iommu/intel_reg.h Directory Properties: stable/10/ (props changed) Modified: stable/11/sys/x86/iommu/intel_reg.h ============================================================================== --- stable/11/sys/x86/iommu/intel_reg.h Fri Sep 30 00:16:54 2016 (r306465) +++ stable/11/sys/x86/iommu/intel_reg.h Fri Sep 30 00:31:17 2016 (r306466) @@ -67,7 +67,9 @@ typedef struct dmar_ctx_entry { #define DMAR_CTX2_AW_4LVL 2 /* 4-level page tables */ #define DMAR_CTX2_AW_5LVL 3 /* 5-level page tables */ #define DMAR_CTX2_AW_6LVL 4 /* 6-level page tables */ +#define DMAR_CTX2_DID_MASK 0xffff0 #define DMAR_CTX2_DID(x) ((x) << 8) /* Domain Identifier */ +#define DMAR_CTX2_GET_DID(ctx2) (((ctx2) & DMAR_CTX2_DID_MASK) >> 8) typedef struct dmar_pte { uint64_t pte; @@ -214,6 +216,8 @@ typedef struct dmar_irte { /* Root-Entry Table Address register */ #define DMAR_RTADDR_REG 0x20 +#define DMAR_RTADDR_RTT (1 << 11) /* Root Table Type */ +#define DMAR_RTADDR_RTA_MASK 0xfffffffffffff000 /* Context Command register */ #define DMAR_CCMD_REG 0x28 From owner-svn-src-stable-11@freebsd.org Fri Sep 30 00:33:20 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E88AC002E6; Fri, 30 Sep 2016 00:33:20 +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 mx1.freebsd.org (Postfix) with ESMTPS id 4E1FF1D72; Fri, 30 Sep 2016 00:33:20 +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 u8U0XJDt065463; Fri, 30 Sep 2016 00:33:19 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8U0XJOt065462; Fri, 30 Sep 2016 00:33:19 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609300033.u8U0XJOt065462@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 30 Sep 2016 00:33:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r306467 - in stable: 10/tools/tools/dmardump 11/tools/tools/dmardump X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 00:33:20 -0000 Author: jhb Date: Fri Sep 30 00:33:19 2016 New Revision: 306467 URL: https://svnweb.freebsd.org/changeset/base/306467 Log: MFC 303887: Add a dmardump utility to dump the VT-d context tables. This tool parses the ACPI DMAR table looking for DMA remapping devices. For each device it walks the root table and any context tables referenced to display mapping info for PCI devices. Note that acpidump -t already parses the info in the ACPI DMAR tables directly. This tool examines some of the data structures the DMAR remapping engines use to translate DMA requests. Sponsored by: Chelsio Communications Added: stable/11/tools/tools/dmardump/ - copied from r303887, head/tools/tools/dmardump/ Modified: Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Added: stable/10/tools/tools/dmardump/ - copied from r303887, head/tools/tools/dmardump/ Modified: Directory Properties: stable/10/ (props changed) From owner-svn-src-stable-11@freebsd.org Fri Sep 30 01:13:58 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C598EC0133B; Fri, 30 Sep 2016 01:13:58 +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 mx1.freebsd.org (Postfix) with ESMTPS id A10F917EA; Fri, 30 Sep 2016 01:13:58 +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 u8U1DvI8080301; Fri, 30 Sep 2016 01:13:57 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8U1DvZ1080299; Fri, 30 Sep 2016 01:13:57 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609300113.u8U1DvZ1080299@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 30 Sep 2016 01:13:57 +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: r306469 - in stable: 10/share/man/man4 10/sys/dev/pci 11/share/man/man4 11/sys/dev/pci X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 01:13:58 -0000 Author: jhb Date: Fri Sep 30 01:13:57 2016 New Revision: 306469 URL: https://svnweb.freebsd.org/changeset/base/306469 Log: MFC 303881: Reliably return PCI_GETCONF_LAST_DEVICE from PCIOCGETCONF. Previously the loop in PCIIOCGETCONF would terminate as soon as it found enough matches. Now it will continue iterating through the PCI device list and only terminate if it finds another matching device for which it has no room to store a conf structure. This means that PCI_GETCONF_LAST_DEVICE is reliably returned when the number of matching devices is equal to the number of slots in the matches buffer. For example, if a program requests the conf structure for a single PCI function with a specified domain/bus/slot/function it will now get PCI_GETCONF_LAST_DEVICE instead of PCI_GETCONF_MORE_DEVS. While here, simplify the loop conditional a bit more by explicitly breaking out of the loop if copyout() fails and removing a redundant i < pci_numdevs check. Sponsored by: Chelsio Communications Modified: stable/11/share/man/man4/pci.4 stable/11/sys/dev/pci/pci_user.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/share/man/man4/pci.4 stable/10/sys/dev/pci/pci_user.c Directory Properties: stable/10/ (props changed) Modified: stable/11/share/man/man4/pci.4 ============================================================================== --- stable/11/share/man/man4/pci.4 Fri Sep 30 00:43:30 2016 (r306468) +++ stable/11/share/man/man4/pci.4 Fri Sep 30 01:13:57 2016 (r306469) @@ -254,7 +254,8 @@ The status tells the user the dispositio The possible status values are: .Bl -ohang .It PCI_GETCONF_LAST_DEVICE -This means that there are no more devices in the PCI device list after the +This means that there are no more devices in the PCI device list matching +the specified criteria after the ones returned in the .Va matches buffer. @@ -270,9 +271,7 @@ and to zero to start over at the beginning of the list. .It PCI_GETCONF_MORE_DEVS This tells the user that his buffer was not large enough to hold all of the -remaining devices in the device list that possibly match his criteria. -It is possible for this status to be returned, even when none of the remaining -devices in the list would match the user's criteria. +remaining devices in the device list that match his criteria. .It PCI_GETCONF_ERROR This indicates a general error while servicing the user's request. If the Modified: stable/11/sys/dev/pci/pci_user.c ============================================================================== --- stable/11/sys/dev/pci/pci_user.c Fri Sep 30 00:43:30 2016 (r306468) +++ stable/11/sys/dev/pci/pci_user.c Fri Sep 30 01:13:57 2016 (r306469) @@ -708,10 +708,9 @@ pci_ioctl(struct cdev *dev, u_long cmd, * Go through the list of devices and copy out the devices * that match the user's criteria. */ - for (cio->num_matches = 0, error = 0, i = 0, + for (cio->num_matches = 0, i = 0, dinfo = STAILQ_FIRST(devlist_head); - (dinfo != NULL) && (cio->num_matches < ionum) && - (error == 0) && (i < pci_numdevs); + dinfo != NULL; dinfo = STAILQ_NEXT(dinfo, pci_links), i++) { if (i < cio->offset) @@ -833,11 +832,12 @@ pci_ioctl(struct cdev *dev, u_long cmd, } else #endif /* PRE7_COMPAT */ confdata = &dinfo->conf; - /* Only if we can copy it out do we count it. */ - if (!(error = copyout(confdata, + error = copyout(confdata, (caddr_t)cio->matches + - confsz * cio->num_matches, confsz))) - cio->num_matches++; + confsz * cio->num_matches, confsz); + if (error) + break; + cio->num_matches++; } } From owner-svn-src-stable-11@freebsd.org Fri Sep 30 01:16:10 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2DE8C0148F; Fri, 30 Sep 2016 01:16:10 +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 mx1.freebsd.org (Postfix) with ESMTPS id 729DE1BF2; Fri, 30 Sep 2016 01:16:10 +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 u8U1G9W3081207; Fri, 30 Sep 2016 01:16:09 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8U1G9lY081206; Fri, 30 Sep 2016 01:16:09 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609300116.u8U1G9lY081206@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 30 Sep 2016 01:16: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: r306470 - in stable: 10/share/man/man9 11/share/man/man9 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 01:16:10 -0000 Author: jhb Date: Fri Sep 30 01:16:09 2016 New Revision: 306470 URL: https://svnweb.freebsd.org/changeset/base/306470 Log: MFC 305248: Remove warning about pci_addr_t being different sizes. pci_addr_t has always been 64-bits since r163805. Modified: stable/11/share/man/man9/pci.9 Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/share/man/man9/pci.9 Directory Properties: stable/10/ (props changed) Modified: stable/11/share/man/man9/pci.9 ============================================================================== --- stable/11/share/man/man9/pci.9 Fri Sep 30 01:13:57 2016 (r306469) +++ stable/11/share/man/man9/pci.9 Fri Sep 30 01:16:09 2016 (r306470) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 3, 2016 +.Dd September 1, 2016 .Dt PCI 9 .Os .Sh NAME @@ -910,11 +910,6 @@ with one in the new distribution. The .Fn pci_remap_msix function will fail if this condition is not met. -.Sh IMPLEMENTATION NOTES -The -.Vt pci_addr_t -type varies according to the size of the PCI bus address -space on the target architecture. .Sh SEE ALSO .Xr pci 4 , .Xr pciconf 8 , From owner-svn-src-stable-11@freebsd.org Fri Sep 30 01:39:20 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9399CC01912; Fri, 30 Sep 2016 01:39:20 +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 mx1.freebsd.org (Postfix) with ESMTPS id 6C0087B5; Fri, 30 Sep 2016 01:39:20 +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 u8U1dJHU088616; Fri, 30 Sep 2016 01:39:19 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8U1dILm088609; Fri, 30 Sep 2016 01:39:18 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609300139.u8U1dILm088609@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 30 Sep 2016 01:39: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: r306471 - in stable/11: share/man/man9 sys/amd64/vmm sys/amd64/vmm/io sys/dev/pci X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 01:39:20 -0000 Author: jhb Date: Fri Sep 30 01:39:18 2016 New Revision: 306471 URL: https://svnweb.freebsd.org/changeset/base/306471 Log: MFC 304858,305485,305497: Fix various issues with PCI pass through and VT-d. 304858: Enable I/O MMU when PCI pass through is first used. Rather than enabling the I/O MMU when the vmm module is loaded, defer initialization until the first attempt to pass a PCI device through to a guest. If the I/O MMU fails to initialize or is not present, than fail the attempt to pass a PCI device through to a guest. The hw.vmm.force_iommu tunable has been removed since the I/O MMU is no longer enabled during boot. However, the I/O MMU support can be disabled by setting the hw.vmm.iommu.enable tunable to 0 to prevent use of the I/O MMU on any systems where it is buggy. 305485: Leave ppt devices in the host domain when they are not attached to a VM. This allows a pass through device to be reset to a normal device driver on the host and reused on the host. ppt devices are now always active in some I/O MMU domain when the I/O MMU is active, either the host domain or the domain of a VM they are attached to. 305497: Update the I/O MMU in bhyve when PCI devices are added and removed. When the I/O MMU is active in bhyve, all PCI devices need valid entries in the DMAR context tables. The I/O MMU code does a single enumeration of the available PCI devices during initialization to add all existing devices to a domain representing the host. The ppt(4) driver then moves pass through devices in and out of domains for virtual machines as needed. However, when new PCI devices were added at runtime either via SR-IOV or HotPlug, the I/O MMU tables were not updated. This change adds a new set of EVENTHANDLERS that are invoked when PCI devices are added and deleted. The I/O MMU driver in bhyve installs handlers for these events which it uses to add and remove devices to the "host" domain. Sponsored by: Chelsio Communications Modified: stable/11/share/man/man9/pci.9 stable/11/sys/amd64/vmm/io/iommu.c stable/11/sys/amd64/vmm/io/iommu.h stable/11/sys/amd64/vmm/io/ppt.c stable/11/sys/amd64/vmm/vmm.c stable/11/sys/dev/pci/pci.c stable/11/sys/dev/pci/pcivar.h Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man9/pci.9 ============================================================================== --- stable/11/share/man/man9/pci.9 Fri Sep 30 01:16:09 2016 (r306470) +++ stable/11/share/man/man9/pci.9 Fri Sep 30 01:39:18 2016 (r306471) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 1, 2016 +.Dd September 6, 2016 .Dt PCI 9 .Os .Sh NAME @@ -149,6 +149,10 @@ .Fn pcie_read_config "device_t dev" "int reg" "int width" .Ft void .Fn pcie_write_config "device_t dev" "int reg" "uint32_t val" "int width" +.Ft void +.Fn pci_event_fn "void *arg" "device_t dev" +.Fn EVENTHANDLER_REGISTER "pci_add_device" "pci_event_fn" +.Fn EVENTHANDLER_DEREGISTER "pci_delete_resource" "pci_event_fn" .In dev/pci/pci_iov.h .Ft int .Fn pci_iov_attach "device_t dev" "nvlist_t *pf_schema" "nvlist_t *vf_schema" @@ -910,6 +914,24 @@ with one in the new distribution. The .Fn pci_remap_msix function will fail if this condition is not met. +.Ss Device Events +The +.Va pci_add_device +event handler is invoked every time a new PCI device is added to the system. +This includes the creation of Virtual Functions via SR-IOV. +.Pp +The +.Va pci_delete_device +event handler is invoked every time a PCI device is removed from the system. +.Pp +Both event handlers pass the +.Vt device_t +object of the relevant PCI device as +.Fa dev +to each callback function. +Both event handlers are invoked while +.Fa dev +is unattached but with valid instance variables. .Sh SEE ALSO .Xr pci 4 , .Xr pciconf 8 , @@ -921,6 +943,7 @@ function will fail if this condition is .Xr devclass 9 , .Xr device 9 , .Xr driver 9 , +.Xr eventhandler 9 , .Xr rman 9 .Rs .%B FreeBSD Developers' Handbook Modified: stable/11/sys/amd64/vmm/io/iommu.c ============================================================================== --- stable/11/sys/amd64/vmm/io/iommu.c Fri Sep 30 01:16:09 2016 (r306470) +++ stable/11/sys/amd64/vmm/io/iommu.c Fri Sep 30 01:39:18 2016 (r306471) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include "vmm_util.h" @@ -51,8 +52,13 @@ static int iommu_avail; SYSCTL_INT(_hw_vmm_iommu, OID_AUTO, initialized, CTLFLAG_RD, &iommu_avail, 0, "bhyve iommu initialized?"); +static int iommu_enable = 1; +SYSCTL_INT(_hw_vmm_iommu, OID_AUTO, enable, CTLFLAG_RDTUN, &iommu_enable, 0, + "Enable use of I/O MMU (required for PCI passthrough)."); + static struct iommu_ops *ops; static void *host_domain; +static eventhandler_tag add_tag, delete_tag; static __inline int IOMMU_INIT(void) @@ -148,14 +154,31 @@ IOMMU_DISABLE(void) (*ops->disable)(); } -void +static void +iommu_pci_add(void *arg, device_t dev) +{ + + /* Add new devices to the host domain. */ + iommu_add_device(host_domain, pci_get_rid(dev)); +} + +static void +iommu_pci_delete(void *arg, device_t dev) +{ + + iommu_remove_device(host_domain, pci_get_rid(dev)); +} + +static void iommu_init(void) { int error, bus, slot, func; vm_paddr_t maxaddr; - const char *name; device_t dev; + if (!iommu_enable) + return; + if (vmm_is_intel()) ops = &iommu_ops_intel; else if (vmm_is_amd()) @@ -174,8 +197,13 @@ iommu_init(void) */ maxaddr = vmm_mem_maxaddr(); host_domain = IOMMU_CREATE_DOMAIN(maxaddr); - if (host_domain == NULL) - panic("iommu_init: unable to create a host domain"); + if (host_domain == NULL) { + printf("iommu_init: unable to create a host domain"); + IOMMU_CLEANUP(); + ops = NULL; + iommu_avail = 0; + return; + } /* * Create 1:1 mappings from '0' to 'maxaddr' for devices assigned to @@ -183,6 +211,9 @@ iommu_init(void) */ iommu_create_mapping(host_domain, 0, 0, maxaddr); + add_tag = EVENTHANDLER_REGISTER(pci_add_device, iommu_pci_add, NULL, 0); + delete_tag = EVENTHANDLER_REGISTER(pci_delete_device, iommu_pci_delete, + NULL, 0); for (bus = 0; bus <= PCI_BUSMAX; bus++) { for (slot = 0; slot <= PCI_SLOTMAX; slot++) { for (func = 0; func <= PCI_FUNCMAX; func++) { @@ -190,12 +221,7 @@ iommu_init(void) if (dev == NULL) continue; - /* skip passthrough devices */ - name = device_get_name(dev); - if (name != NULL && strcmp(name, "ppt") == 0) - continue; - - /* everything else belongs to the host domain */ + /* Everything belongs to the host domain. */ iommu_add_device(host_domain, pci_get_rid(dev)); } @@ -208,6 +234,15 @@ iommu_init(void) void iommu_cleanup(void) { + + if (add_tag != NULL) { + EVENTHANDLER_DEREGISTER(pci_add_device, add_tag); + add_tag = NULL; + } + if (delete_tag != NULL) { + EVENTHANDLER_DEREGISTER(pci_delete_device, delete_tag); + delete_tag = NULL; + } IOMMU_DISABLE(); IOMMU_DESTROY_DOMAIN(host_domain); IOMMU_CLEANUP(); @@ -216,7 +251,16 @@ iommu_cleanup(void) void * iommu_create_domain(vm_paddr_t maxaddr) { + static volatile int iommu_initted; + if (iommu_initted < 2) { + if (atomic_cmpset_int(&iommu_initted, 0, 1)) { + iommu_init(); + atomic_store_rel_int(&iommu_initted, 2); + } else + while (iommu_initted == 1) + cpu_spinwait(); + } return (IOMMU_CREATE_DOMAIN(maxaddr)); } Modified: stable/11/sys/amd64/vmm/io/iommu.h ============================================================================== --- stable/11/sys/amd64/vmm/io/iommu.h Fri Sep 30 01:16:09 2016 (r306470) +++ stable/11/sys/amd64/vmm/io/iommu.h Fri Sep 30 01:39:18 2016 (r306471) @@ -61,7 +61,6 @@ struct iommu_ops { extern struct iommu_ops iommu_ops_intel; extern struct iommu_ops iommu_ops_amd; -void iommu_init(void); void iommu_cleanup(void); void *iommu_host_domain(void); void *iommu_create_domain(vm_paddr_t maxaddr); Modified: stable/11/sys/amd64/vmm/io/ppt.c ============================================================================== --- stable/11/sys/amd64/vmm/io/ppt.c Fri Sep 30 01:16:09 2016 (r306470) +++ stable/11/sys/amd64/vmm/io/ppt.c Fri Sep 30 01:39:18 2016 (r306471) @@ -363,6 +363,7 @@ ppt_assign_device(struct vm *vm, int bus return (EBUSY); ppt->vm = vm; + iommu_remove_device(iommu_host_domain(), pci_get_rid(ppt->dev)); iommu_add_device(vm_iommu_domain(vm), pci_get_rid(ppt->dev)); return (0); } @@ -385,6 +386,7 @@ ppt_unassign_device(struct vm *vm, int b ppt_teardown_msi(ppt); ppt_teardown_msix(ppt); iommu_remove_device(vm_iommu_domain(vm), pci_get_rid(ppt->dev)); + iommu_add_device(iommu_host_domain(), pci_get_rid(ppt->dev)); ppt->vm = NULL; return (0); } Modified: stable/11/sys/amd64/vmm/vmm.c ============================================================================== --- stable/11/sys/amd64/vmm/vmm.c Fri Sep 30 01:16:09 2016 (r306470) +++ stable/11/sys/amd64/vmm/vmm.c Fri Sep 30 01:39:18 2016 (r306471) @@ -224,11 +224,6 @@ SYSCTL_INT(_hw_vmm, OID_AUTO, trace_gues &trace_guest_exceptions, 0, "Trap into hypervisor on all guest exceptions and reflect them back"); -static int vmm_force_iommu = 0; -TUNABLE_INT("hw.vmm.force_iommu", &vmm_force_iommu); -SYSCTL_INT(_hw_vmm, OID_AUTO, force_iommu, CTLFLAG_RDTUN, &vmm_force_iommu, 0, - "Force use of I/O MMU even if no passthrough devices were found."); - static void vm_free_memmap(struct vm *vm, int ident); static bool sysmem_mapping(struct vm *vm, struct mem_map *mm); static void vcpu_notify_event_locked(struct vcpu *vcpu, bool lapic_intr); @@ -358,8 +353,6 @@ vmm_handler(module_t mod, int what, void switch (what) { case MOD_LOAD: vmmdev_init(); - if (vmm_force_iommu || ppt_avail_devices() > 0) - iommu_init(); error = vmm_init(); if (error == 0) vmm_initialized = 1; @@ -396,9 +389,6 @@ static moduledata_t vmm_kmod = { /* * vmm initialization has the following dependencies: * - * - iommu initialization must happen after the pci passthru driver has had - * a chance to attach to any passthru devices (after SI_SUB_CONFIGURE). - * * - VT-x initialization requires smp_rendezvous() and therefore must happen * after SMP is fully functional (after SI_SUB_SMP). */ @@ -893,6 +883,8 @@ vm_assign_pptdev(struct vm *vm, int bus, ("vm_assign_pptdev: iommu must be NULL")); maxaddr = sysmem_maxaddr(vm); vm->iommu = iommu_create_domain(maxaddr); + if (vm->iommu == NULL) + return (ENXIO); vm_iommu_map(vm); } Modified: stable/11/sys/dev/pci/pci.c ============================================================================== --- stable/11/sys/dev/pci/pci.c Fri Sep 30 01:16:09 2016 (r306470) +++ stable/11/sys/dev/pci/pci.c Fri Sep 30 01:39:18 2016 (r306471) @@ -4070,6 +4070,7 @@ pci_add_child(device_t bus, struct pci_d pci_print_verbose(dinfo); pci_add_resources(bus, dinfo->cfg.dev, 0, 0); pci_child_added(dinfo->cfg.dev); + EVENTHANDLER_INVOKE(pci_add_device, dinfo->cfg.dev); } void @@ -5311,6 +5312,8 @@ pci_child_deleted(device_t dev, device_t dinfo = device_get_ivars(child); rl = &dinfo->resources; + EVENTHANDLER_INVOKE(pci_delete_device, child); + /* Turn off access to resources we're about to free */ if (bus_child_present(child) != 0) { pci_write_config(child, PCIR_COMMAND, pci_read_config(child, Modified: stable/11/sys/dev/pci/pcivar.h ============================================================================== --- stable/11/sys/dev/pci/pcivar.h Fri Sep 30 01:16:09 2016 (r306470) +++ stable/11/sys/dev/pci/pcivar.h Fri Sep 30 01:39:18 2016 (r306471) @@ -31,6 +31,7 @@ #define _PCIVAR_H_ #include +#include /* some PCI bus constants */ #define PCI_MAXMAPS_0 6 /* max. no. of memory/port maps */ @@ -631,4 +632,12 @@ void * vga_pci_map_bios(device_t dev, si void vga_pci_unmap_bios(device_t dev, void *bios); int vga_pci_repost(device_t dev); +/** + * Global eventhandlers invoked when PCI devices are added or removed + * from the system. + */ +typedef void (*pci_event_fn)(void *arg, device_t dev); +EVENTHANDLER_DECLARE(pci_add_device, pci_event_fn); +EVENTHANDLER_DECLARE(pci_delete_device, pci_event_fn); + #endif /* _PCIVAR_H_ */ From owner-svn-src-stable-11@freebsd.org Fri Sep 30 03:27:08 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 83DF9C03404; Fri, 30 Sep 2016 03:27:08 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 54A361BAC; Fri, 30 Sep 2016 03:27:08 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8U3R7hk030189; Fri, 30 Sep 2016 03:27:07 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8U3R7fF030188; Fri, 30 Sep 2016 03:27:07 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201609300327.u8U3R7fF030188@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Fri, 30 Sep 2016 03:27: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: r306475 - stable/11/sys/netpfil/ipfw X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 03:27:08 -0000 Author: ae Date: Fri Sep 30 03:27:07 2016 New Revision: 306475 URL: https://svnweb.freebsd.org/changeset/base/306475 Log: MFC r305940: Move opcode rewriter init and destroy handlers into non-VNET code. PR: 212576,212649,212077 Submitted by: John Zielinski Modified: stable/11/sys/netpfil/ipfw/ip_fw2.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- stable/11/sys/netpfil/ipfw/ip_fw2.c Fri Sep 30 03:03:42 2016 (r306474) +++ stable/11/sys/netpfil/ipfw/ip_fw2.c Fri Sep 30 03:27:07 2016 (r306475) @@ -2691,6 +2691,7 @@ ipfw_init(void) default_fw_tables = IPFW_TABLES_MAX; ipfw_init_sopt_handler(); + ipfw_init_obj_rewriter(); ipfw_iface_init(); return (error); } @@ -2704,6 +2705,7 @@ ipfw_destroy(void) ipfw_iface_destroy(); ipfw_destroy_sopt_handler(); + ipfw_destroy_obj_rewriter(); printf("IP firewall unloaded\n"); } @@ -2738,7 +2740,6 @@ vnet_ipfw_init(const void *unused) /* Init shared services hash table */ ipfw_init_srv(chain); - ipfw_init_obj_rewriter(); ipfw_init_counters(); /* insert the default rule and create the initial map */ chain->n_rules = 1; @@ -2845,7 +2846,6 @@ vnet_ipfw_uninit(const void *unused) IPFW_LOCK_DESTROY(chain); ipfw_dyn_uninit(1); /* free the remaining parts */ ipfw_destroy_counters(); - ipfw_destroy_obj_rewriter(); return (0); } From owner-svn-src-stable-11@freebsd.org Fri Sep 30 03:45:42 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7D591C039AD; Fri, 30 Sep 2016 03:45:42 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 34362AD0; Fri, 30 Sep 2016 03:45:42 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8U3jfjc037677; Fri, 30 Sep 2016 03:45:41 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8U3jfAW037675; Fri, 30 Sep 2016 03:45:41 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201609300345.u8U3jfAW037675@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Fri, 30 Sep 2016 03:45: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: r306476 - stable/11/sys/geom X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 03:45:42 -0000 Author: ae Date: Fri Sep 30 03:45:41 2016 New Revision: 306476 URL: https://svnweb.freebsd.org/changeset/base/306476 Log: MFC r303019: Use g_resize_provider() to change the size of GEOM_DISK provider, when it is being opened. This should fix the possible loss of a resize event when disk capacity changed. MFC r303288: Do not invoke resize method if geom is being withered. MFC r303637: Do not invoke resize event if initial disk size is zero. Some disks report the size only after first opening. And due to the events are asynchronous, some consumers can receive this event too late and this confuses them. This partially restores previous behaviour, and at the same time this should fix the problem, when already opened provider loses resize event. PR: 211028 Modified: stable/11/sys/geom/geom_disk.c stable/11/sys/geom/geom_subr.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/geom/geom_disk.c ============================================================================== --- stable/11/sys/geom/geom_disk.c Fri Sep 30 03:27:07 2016 (r306475) +++ stable/11/sys/geom/geom_disk.c Fri Sep 30 03:45:41 2016 (r306476) @@ -126,7 +126,6 @@ g_disk_access(struct g_provider *pp, int if (error != 0) return (error); } - pp->mediasize = dp->d_mediasize; pp->sectorsize = dp->d_sectorsize; if (dp->d_maxsize == 0) { printf("WARNING: Disk drive %s%d has no d_maxsize\n", @@ -143,6 +142,14 @@ g_disk_access(struct g_provider *pp, int pp->stripeoffset = dp->d_stripeoffset; pp->stripesize = dp->d_stripesize; dp->d_flags |= DISKFLAG_OPEN; + /* + * Do not invoke resize event when initial size was zero. + * Some disks report its size only after first opening. + */ + if (pp->mediasize == 0) + pp->mediasize = dp->d_mediasize; + else + g_resize_provider(pp, dp->d_mediasize); } else if ((pp->acr + pp->acw + pp->ace) > 0 && (r + w + e) == 0) { if (dp->d_close != NULL) { error = dp->d_close(dp); Modified: stable/11/sys/geom/geom_subr.c ============================================================================== --- stable/11/sys/geom/geom_subr.c Fri Sep 30 03:27:07 2016 (r306475) +++ stable/11/sys/geom/geom_subr.c Fri Sep 30 03:45:41 2016 (r306476) @@ -636,7 +636,7 @@ g_resize_provider_event(void *arg, int f LIST_FOREACH_SAFE(cp, &pp->consumers, consumers, cp2) { gp = cp->geom; - if (gp->resize != NULL) + if ((gp->flags & G_GEOM_WITHER) == 0 && gp->resize != NULL) gp->resize(cp); } From owner-svn-src-stable-11@freebsd.org Fri Sep 30 09:20:45 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9005AC03A24; Fri, 30 Sep 2016 09:20:45 +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 mx1.freebsd.org (Postfix) with ESMTPS id 45A0411B; Fri, 30 Sep 2016 09:20:45 +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 u8U9KiAg064532; Fri, 30 Sep 2016 09:20:44 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8U9Ki3u064529; Fri, 30 Sep 2016 09:20:44 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201609300920.u8U9Ki3u064529@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 30 Sep 2016 09:20:44 +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: r306487 - in stable/11: targets/pseudo/userland usr.bin usr.bin/proccontrol X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 09:20:45 -0000 Author: kib Date: Fri Sep 30 09:20:44 2016 New Revision: 306487 URL: https://svnweb.freebsd.org/changeset/base/306487 Log: MFC r306261: Add proccontrol(1). MFC r306281 (by bdrewery): DIRDEPS_BUILD: Connect new directories. Added: stable/11/usr.bin/proccontrol/ - copied from r306261, head/usr.bin/proccontrol/ stable/11/usr.bin/proccontrol/Makefile.depend - copied unchanged from r306281, head/usr.bin/proccontrol/Makefile.depend Modified: stable/11/targets/pseudo/userland/Makefile.depend stable/11/usr.bin/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/targets/pseudo/userland/Makefile.depend ============================================================================== --- stable/11/targets/pseudo/userland/Makefile.depend Fri Sep 30 08:23:06 2016 (r306486) +++ stable/11/targets/pseudo/userland/Makefile.depend Fri Sep 30 09:20:44 2016 (r306487) @@ -325,6 +325,7 @@ DIRDEPS+= \ usr.bin/pr \ usr.bin/printenv \ usr.bin/printf \ + usr.bin/proccontrol \ usr.bin/procstat \ usr.bin/protect \ usr.bin/quota \ Modified: stable/11/usr.bin/Makefile ============================================================================== --- stable/11/usr.bin/Makefile Fri Sep 30 08:23:06 2016 (r306486) +++ stable/11/usr.bin/Makefile Fri Sep 30 09:20:44 2016 (r306487) @@ -122,6 +122,7 @@ SUBDIR= alias \ pr \ printenv \ printf \ + proccontrol \ procstat \ protect \ rctl \ Copied: stable/11/usr.bin/proccontrol/Makefile.depend (from r306281, head/usr.bin/proccontrol/Makefile.depend) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/usr.bin/proccontrol/Makefile.depend Fri Sep 30 09:20:44 2016 (r306487, copy of r306281, head/usr.bin/proccontrol/Makefile.depend) @@ -0,0 +1,18 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcompiler_rt \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif From owner-svn-src-stable-11@freebsd.org Fri Sep 30 18:14:06 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3923DC03D81; Fri, 30 Sep 2016 18:14:06 +0000 (UTC) (envelope-from hiren@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 08D8A19E7; Fri, 30 Sep 2016 18:14:05 +0000 (UTC) (envelope-from hiren@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8UIE5t3070800; Fri, 30 Sep 2016 18:14:05 GMT (envelope-from hiren@FreeBSD.org) Received: (from hiren@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8UIE5te070799; Fri, 30 Sep 2016 18:14:05 GMT (envelope-from hiren@FreeBSD.org) Message-Id: <201609301814.u8UIE5te070799@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hiren set sender to hiren@FreeBSD.org using -f From: Hiren Panchasara Date: Fri, 30 Sep 2016 18:14: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: r306517 - stable/11/sys/netinet X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 18:14:06 -0000 Author: hiren Date: Fri Sep 30 18:14:05 2016 New Revision: 306517 URL: https://svnweb.freebsd.org/changeset/base/306517 Log: MFC r304855 Update TCPS_HAVERCVDFIN() macro to correctly include all states a connection can be in after receiving a FIN. FWIW, NetBSD has this change for quite some time. This has been tested at Netflix and Limelight in production traffic. Modified: stable/11/sys/netinet/tcp_fsm.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netinet/tcp_fsm.h ============================================================================== --- stable/11/sys/netinet/tcp_fsm.h Fri Sep 30 18:12:16 2016 (r306516) +++ stable/11/sys/netinet/tcp_fsm.h Fri Sep 30 18:14:05 2016 (r306517) @@ -73,7 +73,8 @@ #define TCPS_HAVERCVDSYN(s) ((s) >= TCPS_SYN_RECEIVED) #define TCPS_HAVEESTABLISHED(s) ((s) >= TCPS_ESTABLISHED) -#define TCPS_HAVERCVDFIN(s) ((s) >= TCPS_TIME_WAIT) +#define TCPS_HAVERCVDFIN(s) \ + ((s) == TCPS_CLOSE_WAIT || ((s) >= TCPS_CLOSING && (s) != TCPS_FIN_WAIT_2)) #ifdef TCPOUTFLAGS /* From owner-svn-src-stable-11@freebsd.org Fri Sep 30 18:47:36 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC2EEC04705; Fri, 30 Sep 2016 18:47:36 +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 mx1.freebsd.org (Postfix) with ESMTPS id A3E10A8; Fri, 30 Sep 2016 18:47:36 +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 u8UIlZ8N083021; Fri, 30 Sep 2016 18:47:35 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8UIlZJe083015; Fri, 30 Sep 2016 18:47:35 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609301847.u8UIlZJe083015@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 30 Sep 2016 18:47: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: r306520 - in stable: 10/share/man/man9 10/sys/amd64/vmm/io 10/sys/dev/pci 11/share/man/man9 11/sys/amd64/vmm/io 11/sys/dev/pci X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 18:47:37 -0000 Author: jhb Date: Fri Sep 30 18:47:34 2016 New Revision: 306520 URL: https://svnweb.freebsd.org/changeset/base/306520 Log: MFC 305502: Reset PCI pass through devices via PCI-e FLR during VM start/end. Add routines to trigger a function level reset (FLR) of a PCI-express device via the PCI-express device control register. This also includes support routines to wait for pending transactions to complete as well as calculating the maximum completion timeout permitted by a device. Change the ppt(4) driver to reset pass through devices before attaching to a VM during startup and before detaching from a VM during shutdown. Sponsored by: Chelsio Communications Modified: stable/11/share/man/man9/Makefile stable/11/share/man/man9/pci.9 stable/11/sys/amd64/vmm/io/ppt.c stable/11/sys/dev/pci/pci.c stable/11/sys/dev/pci/pcireg.h stable/11/sys/dev/pci/pcivar.h Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/share/man/man9/Makefile stable/10/share/man/man9/pci.9 stable/10/sys/amd64/vmm/io/ppt.c stable/10/sys/dev/pci/pci.c stable/10/sys/dev/pci/pcireg.h stable/10/sys/dev/pci/pcivar.h Directory Properties: stable/10/ (props changed) Modified: stable/11/share/man/man9/Makefile ============================================================================== --- stable/11/share/man/man9/Makefile Fri Sep 30 18:43:39 2016 (r306519) +++ stable/11/share/man/man9/Makefile Fri Sep 30 18:47:34 2016 (r306520) @@ -1319,7 +1319,10 @@ MLINKS+=pci.9 pci_alloc_msi.9 \ pci.9 pci_set_max_read_req.9 \ pci.9 pci_write_config.9 \ pci.9 pcie_adjust_config.9 \ + pci.9 pcie_flr.9 \ + pci.9 pcie_max_completion_timeout.9 \ pci.9 pcie_read_config.9 \ + pci.9 pcie_wait_for_pending_transactions.9 \ pci.9 pcie_write_config.9 MLINKS+=pci_iov_schema.9 pci_iov_schema_alloc_node.9 \ pci_iov_schema.9 pci_iov_schema_add_bool.9 \ Modified: stable/11/share/man/man9/pci.9 ============================================================================== --- stable/11/share/man/man9/pci.9 Fri Sep 30 18:43:39 2016 (r306519) +++ stable/11/share/man/man9/pci.9 Fri Sep 30 18:47:34 2016 (r306520) @@ -66,7 +66,10 @@ .Nm pci_set_powerstate , .Nm pci_write_config , .Nm pcie_adjust_config , +.Nm pcie_flr , +.Nm pcie_get_max_completion_timeout , .Nm pcie_read_config , +.Nm pcie_wait_for_pending_transactions , .Nm pcie_write_config .Nd PCI bus interface .Sh SYNOPSIS @@ -145,8 +148,14 @@ .Fa "uint32_t val" .Fa "int width" .Fc +.Ft bool +.Fn pcie_flr "device_t dev" "u_int max_delay" "bool force" +.Ft int +.Fn pcie_get_max_completion_timeout "device_t dev" .Ft uint32_t .Fn pcie_read_config "device_t dev" "int reg" "int width" +.Ft bool +.Fn pcie_wait_for_pending_transactions "device_t dev" "u_int max_delay" .Ft void .Fn pcie_write_config "device_t dev" "int reg" "uint32_t val" "int width" .Ft void @@ -431,6 +440,51 @@ keyword, then .Fn pci_get_vpd_readonly returns an error. +.Pp +The +.Fn pcie_get_max_completion_timeout +function returns the maximum completion timeout configured for the device +.Fa dev +in microseconds. +If the +.Fa dev +device is not a PCI-express device, +.Fn pcie_get_max_completion_timeout +returns zero. +When completion timeouts are disabled for +.Fa dev , +this function returns the maxmimum timeout that would be used if timeouts +were enabled. +.Pp +The +.Fn pcie_wait_for_pending_transactions +function waits for any pending transactions initiated by the +.Fa dev +device to complete. +The function checks for pending transactions by polling the transactions +pending flag in the PCI-express device status register. +It returns +.Dv true +once the transaction pending flag is clear. +If transactions are still pending after +.Fa max_delay +milliseconds, +.Fn pcie_wait_for_pending_transactions +returns +.Dv false . +If +.Fa max_delay +is set to zero, +.Fn pcie_wait_for_pending_transactions +performs a single check; +otherwise, +this function may sleep while polling the transactions pending flag. +.Nm pcie_wait_for_pending_transactions +returns +.Dv true +if +.Fa dev +is not a PCI-express device. .Ss Device Configuration The .Fn pci_enable_busmaster @@ -662,6 +716,51 @@ is invoked, then the device will be transitioned to .Dv PCI_POWERSTATE_D0 before any config registers are restored. +.Pp +The +.Fn pcie_flr +function requests a Function Level Reset +.Pq FLR +of +.Fa dev . +If +.Fa dev +is not a PCI-express device or does not support Function Level Resets via +the PCI-express device control register, +.Dv false +is returned. +Pending transactions are drained by disabling busmastering and calling +.Fn pcie_wait_for_pending_transactions +before resetting the device. +The +.Fa max_delay +argument specifies the maximum timeout to wait for pending transactions as +described for +.Fn pcie_wait_for_pending_transactions . +If +.Fn pcie_wait_for_pending_transactions +fails with a timeout and +.Fa force +is +.Dv false , +busmastering is re-enabled and +.Dv false +is returned. +If +.Fn pcie_wait_for_pending_transactions +fails with a timeout and +.Fa force +is +.Dv true , +the device is reset despite the timeout. +After the reset has been requested, +.Nm pcie_flr +sleeps for at least 100 milliseconds before returning +.Dv true . +Note that +.Nm pcie_flr +does not save and restore any state around the reset. +The caller should save and restore state as needed. .Ss Message Signaled Interrupts Message Signaled Interrupts .Pq MSI Modified: stable/11/sys/amd64/vmm/io/ppt.c ============================================================================== --- stable/11/sys/amd64/vmm/io/ppt.c Fri Sep 30 18:43:39 2016 (r306519) +++ stable/11/sys/amd64/vmm/io/ppt.c Fri Sep 30 18:47:34 2016 (r306520) @@ -362,6 +362,11 @@ ppt_assign_device(struct vm *vm, int bus if (ppt->vm != NULL && ppt->vm != vm) return (EBUSY); + pci_save_state(ppt->dev); + pcie_flr(ppt->dev, + max(pcie_get_max_completion_timeout(ppt->dev) / 1000, 10), + true); + pci_restore_state(ppt->dev); ppt->vm = vm; iommu_remove_device(iommu_host_domain(), pci_get_rid(ppt->dev)); iommu_add_device(vm_iommu_domain(vm), pci_get_rid(ppt->dev)); @@ -382,6 +387,12 @@ ppt_unassign_device(struct vm *vm, int b */ if (ppt->vm != vm) return (EBUSY); + + pci_save_state(ppt->dev); + pcie_flr(ppt->dev, + max(pcie_get_max_completion_timeout(ppt->dev) / 1000, 10), + true); + pci_restore_state(ppt->dev); ppt_unmap_mmio(vm, ppt); ppt_teardown_msi(ppt); ppt_teardown_msix(ppt); Modified: stable/11/sys/dev/pci/pci.c ============================================================================== --- stable/11/sys/dev/pci/pci.c Fri Sep 30 18:43:39 2016 (r306519) +++ stable/11/sys/dev/pci/pci.c Fri Sep 30 18:47:34 2016 (r306520) @@ -5891,3 +5891,165 @@ pci_find_pcie_root_port(device_t dev) dev = pcib; } } + +/* + * Wait for pending transactions to complete on a PCI-express function. + * + * The maximum delay is specified in milliseconds in max_delay. Note + * that this function may sleep. + * + * Returns true if the function is idle and false if the timeout is + * exceeded. If dev is not a PCI-express function, this returns true. + */ +bool +pcie_wait_for_pending_transactions(device_t dev, u_int max_delay) +{ + struct pci_devinfo *dinfo = device_get_ivars(dev); + uint16_t sta; + int cap; + + cap = dinfo->cfg.pcie.pcie_location; + if (cap == 0) + return (true); + + sta = pci_read_config(dev, cap + PCIER_DEVICE_STA, 2); + while (sta & PCIEM_STA_TRANSACTION_PND) { + if (max_delay == 0) + return (false); + + /* Poll once every 100 milliseconds up to the timeout. */ + if (max_delay > 100) { + pause_sbt("pcietp", 100 * SBT_1MS, 0, C_HARDCLOCK); + max_delay -= 100; + } else { + pause_sbt("pcietp", max_delay * SBT_1MS, 0, + C_HARDCLOCK); + max_delay = 0; + } + sta = pci_read_config(dev, cap + PCIER_DEVICE_STA, 2); + } + + return (true); +} + +/* + * Determine the maximum Completion Timeout in microseconds. + * + * For non-PCI-express functions this returns 0. + */ +int +pcie_get_max_completion_timeout(device_t dev) +{ + struct pci_devinfo *dinfo = device_get_ivars(dev); + int cap; + + cap = dinfo->cfg.pcie.pcie_location; + if (cap == 0) + return (0); + + /* + * Functions using the 1.x spec use the default timeout range of + * 50 microseconds to 50 milliseconds. Functions that do not + * support programmable timeouts also use this range. + */ + if ((dinfo->cfg.pcie.pcie_flags & PCIEM_FLAGS_VERSION) < 2 || + (pci_read_config(dev, cap + PCIER_DEVICE_CAP2, 4) & + PCIEM_CAP2_COMP_TIMO_RANGES) == 0) + return (50 * 1000); + + switch (pci_read_config(dev, cap + PCIER_DEVICE_CTL2, 2) & + PCIEM_CTL2_COMP_TIMO_VAL) { + case PCIEM_CTL2_COMP_TIMO_100US: + return (100); + case PCIEM_CTL2_COMP_TIMO_10MS: + return (10 * 1000); + case PCIEM_CTL2_COMP_TIMO_55MS: + return (55 * 1000); + case PCIEM_CTL2_COMP_TIMO_210MS: + return (210 * 1000); + case PCIEM_CTL2_COMP_TIMO_900MS: + return (900 * 1000); + case PCIEM_CTL2_COMP_TIMO_3500MS: + return (3500 * 1000); + case PCIEM_CTL2_COMP_TIMO_13S: + return (13 * 1000 * 1000); + case PCIEM_CTL2_COMP_TIMO_64S: + return (64 * 1000 * 1000); + default: + return (50 * 1000); + } +} + +/* + * Perform a Function Level Reset (FLR) on a device. + * + * This function first waits for any pending transactions to complete + * within the timeout specified by max_delay. If transactions are + * still pending, the function will return false without attempting a + * reset. + * + * If dev is not a PCI-express function or does not support FLR, this + * function returns false. + * + * Note that no registers are saved or restored. The caller is + * responsible for saving and restoring any registers including + * PCI-standard registers via pci_save_state() and + * pci_restore_state(). + */ +bool +pcie_flr(device_t dev, u_int max_delay, bool force) +{ + struct pci_devinfo *dinfo = device_get_ivars(dev); + uint16_t cmd, ctl; + int compl_delay; + int cap; + + cap = dinfo->cfg.pcie.pcie_location; + if (cap == 0) + return (false); + + if (!(pci_read_config(dev, cap + PCIER_DEVICE_CAP, 4) & PCIEM_CAP_FLR)) + return (false); + + /* + * Disable busmastering to prevent generation of new + * transactions while waiting for the device to go idle. If + * the idle timeout fails, the command register is restored + * which will re-enable busmastering. + */ + cmd = pci_read_config(dev, PCIR_COMMAND, 2); + pci_write_config(dev, PCIR_COMMAND, cmd & ~(PCIM_CMD_BUSMASTEREN), 2); + if (!pcie_wait_for_pending_transactions(dev, max_delay)) { + if (!force) { + pci_write_config(dev, PCIR_COMMAND, cmd, 2); + return (false); + } + pci_printf(&dinfo->cfg, + "Resetting with transactions pending after %d ms\n", + max_delay); + + /* + * Extend the post-FLR delay to cover the maximum + * Completion Timeout delay of anything in flight + * during the FLR delay. Enforce a minimum delay of + * at least 10ms. + */ + compl_delay = pcie_get_max_completion_timeout(dev) / 1000; + if (compl_delay < 10) + compl_delay = 10; + } else + compl_delay = 0; + + /* Initiate the reset. */ + ctl = pci_read_config(dev, cap + PCIER_DEVICE_CTL, 2); + pci_write_config(dev, cap + PCIER_DEVICE_CTL, ctl | + PCIEM_CTL_INITIATE_FLR, 2); + + /* Wait for 100ms. */ + pause_sbt("pcieflr", (100 + compl_delay) * SBT_1MS, 0, C_HARDCLOCK); + + if (pci_read_config(dev, cap + PCIER_DEVICE_STA, 2) & + PCIEM_STA_TRANSACTION_PND) + pci_printf(&dinfo->cfg, "Transactions pending after FLR!\n"); + return (true); +} Modified: stable/11/sys/dev/pci/pcireg.h ============================================================================== --- stable/11/sys/dev/pci/pcireg.h Fri Sep 30 18:43:39 2016 (r306519) +++ stable/11/sys/dev/pci/pcireg.h Fri Sep 30 18:47:34 2016 (r306520) @@ -885,10 +885,25 @@ #define PCIEM_ROOT_STA_PME_STATUS 0x00010000 #define PCIEM_ROOT_STA_PME_PEND 0x00020000 #define PCIER_DEVICE_CAP2 0x24 -#define PCIEM_CAP2_ARI 0x20 +#define PCIEM_CAP2_COMP_TIMO_RANGES 0x0000000f +#define PCIEM_CAP2_COMP_TIMO_RANGE_A 0x00000001 +#define PCIEM_CAP2_COMP_TIMO_RANGE_B 0x00000002 +#define PCIEM_CAP2_COMP_TIMO_RANGE_C 0x00000004 +#define PCIEM_CAP2_COMP_TIMO_RANGE_D 0x00000008 +#define PCIEM_CAP2_COMP_TIMO_DISABLE 0x00000010 +#define PCIEM_CAP2_ARI 0x00000020 #define PCIER_DEVICE_CTL2 0x28 -#define PCIEM_CTL2_COMP_TIMEOUT_VAL 0x000f -#define PCIEM_CTL2_COMP_TIMEOUT_DIS 0x0010 +#define PCIEM_CTL2_COMP_TIMO_VAL 0x000f +#define PCIEM_CTL2_COMP_TIMO_50MS 0x0000 +#define PCIEM_CTL2_COMP_TIMO_100US 0x0001 +#define PCIEM_CTL2_COMP_TIMO_10MS 0x0002 +#define PCIEM_CTL2_COMP_TIMO_55MS 0x0005 +#define PCIEM_CTL2_COMP_TIMO_210MS 0x0006 +#define PCIEM_CTL2_COMP_TIMO_900MS 0x0009 +#define PCIEM_CTL2_COMP_TIMO_3500MS 0x000a +#define PCIEM_CTL2_COMP_TIMO_13S 0x000d +#define PCIEM_CTL2_COMP_TIMO_64S 0x000e +#define PCIEM_CTL2_COMP_TIMO_DISABLE 0x0010 #define PCIEM_CTL2_ARI 0x0020 #define PCIEM_CTL2_ATOMIC_REQ_ENABLE 0x0040 #define PCIEM_CTL2_ATOMIC_EGR_BLOCK 0x0080 Modified: stable/11/sys/dev/pci/pcivar.h ============================================================================== --- stable/11/sys/dev/pci/pcivar.h Fri Sep 30 18:43:39 2016 (r306519) +++ stable/11/sys/dev/pci/pcivar.h Fri Sep 30 18:47:34 2016 (r306520) @@ -595,7 +595,9 @@ uint32_t pcie_read_config(device_t dev, void pcie_write_config(device_t dev, int reg, uint32_t value, int width); uint32_t pcie_adjust_config(device_t dev, int reg, uint32_t mask, uint32_t value, int width); - +bool pcie_flr(device_t dev, u_int max_delay, bool force); +int pcie_get_max_completion_timeout(device_t dev); +bool pcie_wait_for_pending_transactions(device_t dev, u_int max_delay); #ifdef BUS_SPACE_MAXADDR #if (BUS_SPACE_MAXADDR > 0xFFFFFFFF) From owner-svn-src-stable-11@freebsd.org Fri Sep 30 22:05:50 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 66F38C03CA6; Fri, 30 Sep 2016 22:05:50 +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 mx1.freebsd.org (Postfix) with ESMTPS id 44E60B0C; Fri, 30 Sep 2016 22:05:50 +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 u8UM5n7Z061312; Fri, 30 Sep 2016 22:05:49 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8UM5mPw061305; Fri, 30 Sep 2016 22:05:48 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609302205.u8UM5mPw061305@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 30 Sep 2016 22:05: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: r306533 - in stable: 10/lib/libdevctl 10/sys/kern 10/sys/sys 10/usr.sbin/devctl 11/lib/libdevctl 11/sys/kern 11/sys/sys 11/usr.sbin/devctl X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 22:05:50 -0000 Author: jhb Date: Fri Sep 30 22:05:47 2016 New Revision: 306533 URL: https://svnweb.freebsd.org/changeset/base/306533 Log: MFC 305034: Implement 'devctl clear driver' to undo a previous 'set driver'. Add a new 'clear driver' command for devctl along with the accompanying ioctl and devctl_clear_driver() library routine to reset a device to use a wildcard devclass instead of a fixed devclass. This can be used to undo a previous 'set driver' command. After the device's name has been reset to permit wildcard names, it is reprobed so that it can attach to newly-available (to it) device drivers. Sponsored by: Chelsio Communications Modified: stable/11/lib/libdevctl/devctl.3 stable/11/lib/libdevctl/devctl.c stable/11/lib/libdevctl/devctl.h stable/11/sys/kern/subr_bus.c stable/11/sys/sys/bus.h stable/11/usr.sbin/devctl/devctl.8 stable/11/usr.sbin/devctl/devctl.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/lib/libdevctl/devctl.3 stable/10/lib/libdevctl/devctl.c stable/10/lib/libdevctl/devctl.h stable/10/sys/kern/subr_bus.c stable/10/sys/sys/bus.h stable/10/usr.sbin/devctl/devctl.8 stable/10/usr.sbin/devctl/devctl.c Directory Properties: stable/10/ (props changed) Modified: stable/11/lib/libdevctl/devctl.3 ============================================================================== --- stable/11/lib/libdevctl/devctl.3 Fri Sep 30 21:14:42 2016 (r306532) +++ stable/11/lib/libdevctl/devctl.3 Fri Sep 30 22:05:47 2016 (r306533) @@ -25,12 +25,13 @@ .\" .\" $FreeBSD$ .\" -.Dd April 27, 2016 +.Dd August 29, 2016 .Dt DEVCTL 3 .Os .Sh NAME .Nm devctl , .Nm devctl_attach , +.Nm devctl_clear_driver , .Nm devctl_delete , .Nm devctl_detach , .Nm devctl_disable , @@ -47,6 +48,8 @@ .Ft int .Fn devctl_attach "const char *device" .Ft int +.Fn devctl_clear_driver "const char *device" "bool force" +.Ft int .Fn devctl_delete "const char *device" "bool force" .Ft int .Fn devctl_detach "const char *device" "bool force" @@ -166,12 +169,30 @@ the device will be detached from its cur attached to the new device driver. .Pp The +.Fn devctl_clear_driver +function resets a device so that it can be attached to any valid device +driver rather than only drivers with a previously specified name. +This function is used to undo a previous call to +.Fn devctl_set_driver . +If the device is already attached and +.Fa force +is false, +the request will fail. +If the device is already attached and +.Fa force +is true, +the device will be detached from its current device driver. +After the device's name is reset, +it is reprobed and attached to a suitable device driver if one is found. +.Pp +The .Fn devctl_rescan function rescans a bus device checking for devices that have been added or removed. .Sh RETURN VALUES -.Rv -std devctl_attach devctl_delete devctl_detach devctl_disable \ -devctl_enable devctl_suspend devctl_rescan devctl_resume devctl_set_driver +.Rv -std devctl_attach devctl_clear_driver devctl_delete devctl_detach \ +devctl_disable devctl_enable devctl_suspend devctl_rescan devctl_resume \ +devctl_set_driver .Sh ERRORS In addition to specific errors noted below, all of the @@ -302,6 +323,24 @@ The new device driver failed to attach. .El .Pp The +.Fn devctl_clear_driver +function may fail if: +.Bl -tag -width Er +.It Bq Er EBUSY +The device is currently attached to a device driver and +.Fa force +is false. +.It Bq Er EBUSY +The current device driver for +.Fa device +is busy and cannot detach at this time. +.It Bq Er EINVAL +The device is not configured for a specific device driver name. +.It Bq Er ENXIO +The device driver chosen after reprobing failed to attach. +.El +.Pp +The .Fn devctl_rescan function may fail if: .Bl -tag -width Er Modified: stable/11/lib/libdevctl/devctl.c ============================================================================== --- stable/11/lib/libdevctl/devctl.c Fri Sep 30 21:14:42 2016 (r306532) +++ stable/11/lib/libdevctl/devctl.c Fri Sep 30 22:05:47 2016 (r306533) @@ -124,6 +124,14 @@ devctl_set_driver(const char *device, co } int +devctl_clear_driver(const char *device, bool force) +{ + + return (devctl_simple_request(DEV_CLEAR_DRIVER, device, force ? + DEVF_CLEAR_DRIVER_DETACH : 0)); +} + +int devctl_rescan(const char *device) { Modified: stable/11/lib/libdevctl/devctl.h ============================================================================== --- stable/11/lib/libdevctl/devctl.h Fri Sep 30 21:14:42 2016 (r306532) +++ stable/11/lib/libdevctl/devctl.h Fri Sep 30 22:05:47 2016 (r306533) @@ -38,6 +38,7 @@ int devctl_disable(const char *device, b int devctl_suspend(const char *device); int devctl_resume(const char *device); int devctl_set_driver(const char *device, const char *driver, bool force); +int devctl_clear_driver(const char *device, bool force); int devctl_rescan(const char *device); int devctl_delete(const char *device, bool force); Modified: stable/11/sys/kern/subr_bus.c ============================================================================== --- stable/11/sys/kern/subr_bus.c Fri Sep 30 21:14:42 2016 (r306532) +++ stable/11/sys/kern/subr_bus.c Fri Sep 30 22:05:47 2016 (r306533) @@ -5427,6 +5427,7 @@ devctl2_ioctl(struct cdev *cdev, u_long case DEV_SUSPEND: case DEV_RESUME: case DEV_SET_DRIVER: + case DEV_CLEAR_DRIVER: case DEV_RESCAN: case DEV_DELETE: error = priv_check(td, PRIV_DRIVER); @@ -5592,6 +5593,25 @@ devctl2_ioctl(struct cdev *cdev, u_long error = device_probe_and_attach(dev); break; } + case DEV_CLEAR_DRIVER: + if (!(dev->flags & DF_FIXEDCLASS)) { + error = 0; + break; + } + if (device_is_attached(dev)) { + if (req->dr_flags & DEVF_CLEAR_DRIVER_DETACH) + error = device_detach(dev); + else + error = EBUSY; + if (error) + break; + } + + dev->flags &= ~DF_FIXEDCLASS; + dev->flags |= DF_WILDCARD; + devclass_delete_device(dev->devclass, dev); + error = device_probe_and_attach(dev); + break; case DEV_RESCAN: if (!device_is_attached(dev)) { error = ENXIO; Modified: stable/11/sys/sys/bus.h ============================================================================== --- stable/11/sys/sys/bus.h Fri Sep 30 21:14:42 2016 (r306532) +++ stable/11/sys/sys/bus.h Fri Sep 30 22:05:47 2016 (r306533) @@ -117,6 +117,7 @@ struct devreq { #define DEV_SUSPEND _IOW('D', 5, struct devreq) #define DEV_RESUME _IOW('D', 6, struct devreq) #define DEV_SET_DRIVER _IOW('D', 7, struct devreq) +#define DEV_CLEAR_DRIVER _IOW('D', 8, struct devreq) #define DEV_RESCAN _IOW('D', 9, struct devreq) #define DEV_DELETE _IOW('D', 10, struct devreq) @@ -126,6 +127,9 @@ struct devreq { /* Flags for DEV_SET_DRIVER. */ #define DEVF_SET_DRIVER_DETACH 0x0000001 /* Detach existing driver. */ +/* Flags for DEV_CLEAR_DRIVER. */ +#define DEVF_CLEAR_DRIVER_DETACH 0x0000001 /* Detach existing driver. */ + /* Flags for DEV_DELETE. */ #define DEVF_FORCE_DELETE 0x0000001 Modified: stable/11/usr.sbin/devctl/devctl.8 ============================================================================== --- stable/11/usr.sbin/devctl/devctl.8 Fri Sep 30 21:14:42 2016 (r306532) +++ stable/11/usr.sbin/devctl/devctl.8 Fri Sep 30 22:05:47 2016 (r306533) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 27, 2016 +.Dd August 29, 2016 .Dt DEVCTL 8 .Os .Sh NAME @@ -36,6 +36,10 @@ .Cm attach .Ar device .Nm +.Cm clear driver +.Op Fl f +.Ar device +.Nm .Cm detach .Op Fl f .Ar device @@ -133,6 +137,21 @@ If the device is already attached to a d .Fl f flag is not specified, the device will not be changed. +.It Xo Cm clear driver +.Op Fl f +.Ar device +.Xc +Clear a previously-forced driver name so that the device is able to use any +valid device driver. +After the previous name has been cleared, +the device is reprobed so that other device drivers may attach to it. +This can be used to undo an earlier +.Cm set driver +command. +If the device is currently attached to a device driver and the +.Fl f +flag is not specified, +the device will not be changed. .It Cm rescan Ar device Rescan a bus device checking for devices that have been added or removed. Modified: stable/11/usr.sbin/devctl/devctl.c ============================================================================== --- stable/11/usr.sbin/devctl/devctl.c Fri Sep 30 21:14:42 2016 (r306532) +++ stable/11/usr.sbin/devctl/devctl.c Fri Sep 30 22:05:47 2016 (r306533) @@ -65,12 +65,13 @@ static int devctl_table_handler(struct d SET_DECLARE(DEVCTL_DATASET(top), struct devctl_command); +DEVCTL_TABLE(top, clear); DEVCTL_TABLE(top, set); static void usage(void) { - fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", + fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", "usage: devctl attach device", " devctl detach [-f] device", " devctl disable [-f] device", @@ -78,6 +79,7 @@ usage(void) " devctl suspend device", " devctl resume device", " devctl set driver [-f] device driver", + " devctl clear driver [-f] device", " devctl rescan device", " devctl delete [-f] device"); exit(1); @@ -261,6 +263,40 @@ set_driver(int ac, char **av) } DEVCTL_COMMAND(set, driver, set_driver); +static void +clear_driver_usage(void) +{ + + fprintf(stderr, "usage: devctl clear driver [-f] device\n"); + exit(1); +} + +static int +clear_driver(int ac, char **av) +{ + bool force; + int ch; + + force = false; + while ((ch = getopt(ac, av, "f")) != -1) + switch (ch) { + case 'f': + force = true; + break; + default: + clear_driver_usage(); + } + ac -= optind; + av += optind; + + if (ac != 1) + clear_driver_usage(); + if (devctl_clear_driver(av[0], force) < 0) + err(1, "Failed to clear %s driver", av[0]); + return (0); +} +DEVCTL_COMMAND(clear, driver, clear_driver); + static int rescan(int ac, char **av) { From owner-svn-src-stable-11@freebsd.org Fri Sep 30 22:29:20 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D1C8C041DF; Fri, 30 Sep 2016 22:29:20 +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 mx1.freebsd.org (Postfix) with ESMTPS id 45457192E; Fri, 30 Sep 2016 22:29:20 +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 u8UMTJeu068765; Fri, 30 Sep 2016 22:29:19 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8UMTJl5068763; Fri, 30 Sep 2016 22:29:19 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609302229.u8UMTJl5068763@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 30 Sep 2016 22:29:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r306535 - in stable/11: share/man/man9 sys/kern X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 22:29:20 -0000 Author: jhb Date: Fri Sep 30 22:29:19 2016 New Revision: 306535 URL: https://svnweb.freebsd.org/changeset/base/306535 Log: MFC 305751: Make device_quiet() an attachment property. In particular, reset the DF_QUIET flag when detaching from a device so that a driver that marks a device quiet doesn't dictate policy for a different driver that may claim the device in the future. Sponsored by: Chelsio Communications Modified: stable/11/share/man/man9/device_quiet.9 stable/11/sys/kern/subr_bus.c Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man9/device_quiet.9 ============================================================================== --- stable/11/share/man/man9/device_quiet.9 Fri Sep 30 22:28:20 2016 (r306534) +++ stable/11/share/man/man9/device_quiet.9 Fri Sep 30 22:29:19 2016 (r306535) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 21, 1999 +.Dd September 12, 2016 .Dt DEVICE_QUIET 9 .Os .Sh NAME @@ -49,16 +49,18 @@ Each device has a quiet flag associated with it. A device is verbose by default when it is created but may be quieted to prevent -the device identification string to be printed during probe. +printing of the device identification string during attach +and printing of a message during detach. To quiet a device, call -.Fn device_quiet , -to re-enable to probe message (to make the message appear again, for -example after a -.Xr device_detach 9 ) +.Fn device_quiet +during a device driver probe routine. +To re-enable probe messages, call .Fn device_verbose . To test to see if a device is quieted, call .Fn device_is_quiet . +.Pp +Devices are implicitly marked verbose after a driver detaches. .Sh SEE ALSO .Xr device 9 .Sh AUTHORS Modified: stable/11/sys/kern/subr_bus.c ============================================================================== --- stable/11/sys/kern/subr_bus.c Fri Sep 30 22:28:20 2016 (r306534) +++ stable/11/sys/kern/subr_bus.c Fri Sep 30 22:29:19 2016 (r306535) @@ -2146,6 +2146,12 @@ device_probe_child(device_t dev, device_ } /* + * Reset DF_QUIET in case this driver doesn't + * end up as the best driver. + */ + device_verbose(child); + + /* * Probes that return BUS_PROBE_NOWILDCARD or lower * only match on devices whose driver was explicitly * specified. @@ -2970,6 +2976,7 @@ device_detach(device_t dev) if (!(dev->flags & DF_FIXEDCLASS)) devclass_delete_device(dev->devclass, dev); + device_verbose(dev); dev->state = DS_NOTPRESENT; (void)device_set_driver(dev, NULL); device_sysctl_fini(dev); From owner-svn-src-stable-11@freebsd.org Sat Oct 1 03:24:54 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C6733C03DB8; Sat, 1 Oct 2016 03:24:54 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 971392F0; Sat, 1 Oct 2016 03:24:54 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u913OrPc081224; Sat, 1 Oct 2016 03:24:53 GMT (envelope-from avos@FreeBSD.org) Received: (from avos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u913OrbQ081223; Sat, 1 Oct 2016 03:24:53 GMT (envelope-from avos@FreeBSD.org) Message-Id: <201610010324.u913OrbQ081223@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avos set sender to avos@FreeBSD.org using -f From: Andriy Voskoboinyk Date: Sat, 1 Oct 2016 03:24: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: r306549 - stable/11/sys/dev/usb/wlan X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Oct 2016 03:24:54 -0000 Author: avos Date: Sat Oct 1 03:24:53 2016 New Revision: 306549 URL: https://svnweb.freebsd.org/changeset/base/306549 Log: MFC r306320: rsu: do not restart calibration task when going out of RUN state. Clear 'sc_calibrating' flag and stop calibration task when interface is not associated; this fixes possible panic after detach. Reported and tested by: hselasky Reviewed by: adrian Modified: stable/11/sys/dev/usb/wlan/if_rsu.c Modified: stable/11/sys/dev/usb/wlan/if_rsu.c ============================================================================== --- stable/11/sys/dev/usb/wlan/if_rsu.c Sat Oct 1 01:30:34 2016 (r306548) +++ stable/11/sys/dev/usb/wlan/if_rsu.c Sat Oct 1 03:24:53 2016 (r306549) @@ -1270,9 +1270,12 @@ rsu_newstate(struct ieee80211vap *vap, e default: break; } - sc->sc_calibrating = 1; - /* Start periodic calibration. */ - taskqueue_enqueue_timeout(taskqueue_thread, &sc->calib_task, hz); + if (startcal != 0) { + sc->sc_calibrating = 1; + /* Start periodic calibration. */ + taskqueue_enqueue_timeout(taskqueue_thread, &sc->calib_task, + hz); + } RSU_UNLOCK(sc); IEEE80211_LOCK(ic); return (uvp->newstate(vap, nstate, arg)); From owner-svn-src-stable-11@freebsd.org Sat Oct 1 09:19:45 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6DE3BC0461A; Sat, 1 Oct 2016 09:19:45 +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 mx1.freebsd.org (Postfix) with ESMTPS id 0BD451013; Sat, 1 Oct 2016 09:19:44 +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 u919JiHF015047; Sat, 1 Oct 2016 09:19:44 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u919JhPA015039; Sat, 1 Oct 2016 09:19:43 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201610010919.u919JhPA015039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 1 Oct 2016 09:19: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: r306553 - in stable/11: lib/libprocstat sys/ufs/ffs sys/ufs/ufs X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Oct 2016 09:19:45 -0000 Author: kib Date: Sat Oct 1 09:19:43 2016 New Revision: 306553 URL: https://svnweb.freebsd.org/changeset/base/306553 Log: MFC r305902: Reduce size of ufs inode. MFC r305903: Fix libprocstat build after r305902. Modified: stable/11/lib/libprocstat/common_kvm.c stable/11/sys/ufs/ffs/ffs_alloc.c stable/11/sys/ufs/ffs/ffs_balloc.c stable/11/sys/ufs/ffs/ffs_inode.c stable/11/sys/ufs/ffs/ffs_rawread.c stable/11/sys/ufs/ffs/ffs_snapshot.c stable/11/sys/ufs/ffs/ffs_softdep.c stable/11/sys/ufs/ffs/ffs_subr.c stable/11/sys/ufs/ffs/ffs_vfsops.c stable/11/sys/ufs/ffs/ffs_vnops.c stable/11/sys/ufs/ufs/extattr.h stable/11/sys/ufs/ufs/inode.h stable/11/sys/ufs/ufs/ufs_acl.c stable/11/sys/ufs/ufs/ufs_bmap.c stable/11/sys/ufs/ufs/ufs_gjournal.c stable/11/sys/ufs/ufs/ufs_inode.c stable/11/sys/ufs/ufs/ufs_quota.c stable/11/sys/ufs/ufs/ufs_vnops.c stable/11/sys/ufs/ufs/ufsmount.h Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libprocstat/common_kvm.c ============================================================================== --- stable/11/lib/libprocstat/common_kvm.c Sat Oct 1 07:46:28 2016 (r306552) +++ stable/11/lib/libprocstat/common_kvm.c Sat Oct 1 09:19:43 2016 (r306553) @@ -45,6 +45,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include #undef _KERNEL @@ -88,17 +90,22 @@ int ufs_filestat(kvm_t *kd, struct vnode *vp, struct vnstat *vn) { struct inode inode; + struct ufsmount um; if (!kvm_read_all(kd, (unsigned long)VTOI(vp), &inode, sizeof(inode))) { warnx("can't read inode at %p", (void *)VTOI(vp)); return (1); } + if (!kvm_read_all(kd, (unsigned long)inode.i_ump, &um, sizeof(um))) { + warnx("can't read ufsmount at %p", (void *)inode.i_ump); + return (1); + } /* * The st_dev from stat(2) is a dev_t. These kernel structures * contain cdev pointers. We need to convert to dev_t to make * comparisons */ - vn->vn_fsid = dev2udev(kd, inode.i_dev); + vn->vn_fsid = dev2udev(kd, um.um_dev); vn->vn_fileid = inode.i_number; vn->vn_mode = (mode_t)inode.i_mode; vn->vn_size = inode.i_size; Modified: stable/11/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- stable/11/sys/ufs/ffs/ffs_alloc.c Sat Oct 1 07:46:28 2016 (r306552) +++ stable/11/sys/ufs/ffs/ffs_alloc.c Sat Oct 1 09:19:43 2016 (r306553) @@ -163,13 +163,13 @@ ffs_alloc(ip, lbn, bpref, size, flags, c #endif *bnp = 0; - fs = ip->i_fs; - ump = ip->i_ump; + ump = ITOUMP(ip); + fs = ump->um_fs; mtx_assert(UFS_MTX(ump), MA_OWNED); #ifdef INVARIANTS if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0) { printf("dev = %s, bsize = %ld, size = %d, fs = %s\n", - devtoname(ip->i_dev), (long)fs->fs_bsize, size, + devtoname(ump->um_dev), (long)fs->fs_bsize, size, fs->fs_fsmnt); panic("ffs_alloc: bad size"); } @@ -260,9 +260,9 @@ ffs_realloccg(ip, lbprev, bprev, bpref, int64_t delta; vp = ITOV(ip); - fs = ip->i_fs; + ump = ITOUMP(ip); + fs = ump->um_fs; bp = NULL; - ump = ip->i_ump; gbflags = (flags & BA_UNMAPPED) != 0 ? GB_UNMAPPED : 0; mtx_assert(UFS_MTX(ump), MA_OWNED); @@ -273,7 +273,7 @@ ffs_realloccg(ip, lbprev, bprev, bpref, (u_int)nsize > fs->fs_bsize || fragoff(fs, nsize) != 0) { printf( "dev = %s, bsize = %ld, osize = %d, nsize = %d, fs = %s\n", - devtoname(ip->i_dev), (long)fs->fs_bsize, osize, + devtoname(ump->um_dev), (long)fs->fs_bsize, osize, nsize, fs->fs_fsmnt); panic("ffs_realloccg: bad size"); } @@ -288,7 +288,7 @@ retry: } if (bprev == 0) { printf("dev = %s, bsize = %ld, bprev = %jd, fs = %s\n", - devtoname(ip->i_dev), (long)fs->fs_bsize, (intmax_t)bprev, + devtoname(ump->um_dev), (long)fs->fs_bsize, (intmax_t)bprev, fs->fs_fsmnt); panic("ffs_realloccg: bad bprev"); } @@ -383,7 +383,7 @@ retry: break; default: printf("dev = %s, optim = %ld, fs = %s\n", - devtoname(ip->i_dev), (long)fs->fs_optim, fs->fs_fsmnt); + devtoname(ump->um_dev), (long)fs->fs_optim, fs->fs_fsmnt); panic("ffs_realloccg: bad optim"); /* NOTREACHED */ } @@ -391,7 +391,7 @@ retry: if (bno > 0) { bp->b_blkno = fsbtodb(fs, bno); if (!DOINGSOFTDEP(vp)) - ffs_blkfree(ump, fs, ip->i_devvp, bprev, (long)osize, + ffs_blkfree(ump, fs, ump->um_devvp, bprev, (long)osize, ip->i_number, vp->v_type, NULL); delta = btodb(nsize - osize); DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + delta); @@ -490,7 +490,7 @@ ffs_reallocblks(ap) * These devices are flash and therefore work less well with this * optimization. Also skip if reallocblks has been disabled globally. */ - ump = VTOI(ap->a_vp)->i_ump; + ump = ap->a_vp->v_mount->mnt_data; if (ump->um_candelete || doreallocblks == 0) return (ENOSPC); @@ -529,8 +529,8 @@ ffs_reallocblks_ufs1(ap) vp = ap->a_vp; ip = VTOI(vp); - fs = ip->i_fs; - ump = ip->i_ump; + ump = ITOUMP(ip); + fs = ump->um_fs; /* * If we are not tracking block clusters or if we have less than 4% * free blocks left, then do not attempt to cluster. Running with @@ -727,7 +727,7 @@ ffs_reallocblks_ufs1(ap) #endif for (blkno = newblk, i = 0; i < len; i++, blkno += fs->fs_frag) { if (!DOINGSOFTDEP(vp)) - ffs_blkfree(ump, fs, ip->i_devvp, + ffs_blkfree(ump, fs, ump->um_devvp, dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize, ip->i_number, vp->v_type, NULL); buflist->bs_children[i]->b_blkno = fsbtodb(fs, blkno); @@ -778,8 +778,8 @@ ffs_reallocblks_ufs2(ap) vp = ap->a_vp; ip = VTOI(vp); - fs = ip->i_fs; - ump = ip->i_ump; + ump = ITOUMP(ip); + fs = ump->um_fs; /* * If we are not tracking block clusters or if we have less than 4% * free blocks left, then do not attempt to cluster. Running with @@ -975,7 +975,7 @@ ffs_reallocblks_ufs2(ap) #endif for (blkno = newblk, i = 0; i < len; i++, blkno += fs->fs_frag) { if (!DOINGSOFTDEP(vp)) - ffs_blkfree(ump, fs, ip->i_devvp, + ffs_blkfree(ump, fs, ump->um_devvp, dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize, ip->i_number, vp->v_type, NULL); buflist->bs_children[i]->b_blkno = fsbtodb(fs, blkno); @@ -1040,8 +1040,8 @@ ffs_valloc(pvp, mode, cred, vpp) *vpp = NULL; pip = VTOI(pvp); - fs = pip->i_fs; - ump = pip->i_ump; + ump = ITOUMP(pip); + fs = ump->um_fs; UFS_LOCK(ump); reclaimed = 0; @@ -1114,10 +1114,12 @@ dup_alloc: ip->i_flag = 0; (*vpp)->v_vflag = 0; (*vpp)->v_type = VNON; - if (fs->fs_magic == FS_UFS2_MAGIC) + if (fs->fs_magic == FS_UFS2_MAGIC) { (*vpp)->v_op = &ffs_vnodeops2; - else + ip->i_flag |= IN_UFS2; + } else { (*vpp)->v_op = &ffs_vnodeops1; + } return (0); noinodes: if (reclaimed == 0) { @@ -1158,8 +1160,8 @@ ffs_dirpref(pip) u_int mincg, minndir; u_int maxcontigdirs; - mtx_assert(UFS_MTX(pip->i_ump), MA_OWNED); - fs = pip->i_fs; + mtx_assert(UFS_MTX(ITOUMP(pip)), MA_OWNED); + fs = ITOFS(pip); avgifree = fs->fs_cstotal.cs_nifree / fs->fs_ncg; avgbfree = fs->fs_cstotal.cs_nbfree / fs->fs_ncg; @@ -1307,8 +1309,8 @@ ffs_blkpref_ufs1(ip, lbn, indx, bap) ufs2_daddr_t pref; KASSERT(indx <= 0 || bap != NULL, ("need non-NULL bap")); - mtx_assert(UFS_MTX(ip->i_ump), MA_OWNED); - fs = ip->i_fs; + mtx_assert(UFS_MTX(ITOUMP(ip)), MA_OWNED); + fs = ITOFS(ip); /* * Allocation of indirect blocks is indicated by passing negative * values in indx: -1 for single indirect, -2 for double indirect, @@ -1412,8 +1414,8 @@ ffs_blkpref_ufs2(ip, lbn, indx, bap) ufs2_daddr_t pref; KASSERT(indx <= 0 || bap != NULL, ("need non-NULL bap")); - mtx_assert(UFS_MTX(ip->i_ump), MA_OWNED); - fs = ip->i_fs; + mtx_assert(UFS_MTX(ITOUMP(ip)), MA_OWNED); + fs = ITOFS(ip); /* * Allocation of indirect blocks is indicated by passing negative * values in indx: -1 for single indirect, -2 for double indirect, @@ -1526,12 +1528,12 @@ ffs_hashalloc(ip, cg, pref, size, rsize, ufs2_daddr_t result; u_int i, icg = cg; - mtx_assert(UFS_MTX(ip->i_ump), MA_OWNED); + mtx_assert(UFS_MTX(ITOUMP(ip)), MA_OWNED); #ifdef INVARIANTS if (ITOV(ip)->v_mount->mnt_kern_flag & MNTK_SUSPENDED) panic("ffs_hashalloc: allocation on suspended filesystem"); #endif - fs = ip->i_fs; + fs = ITOFS(ip); /* * 1: preferred cylinder group */ @@ -1589,8 +1591,8 @@ ffs_fragextend(ip, cg, bprev, osize, nsi int i, error; u_int8_t *blksfree; - ump = ip->i_ump; - fs = ip->i_fs; + ump = ITOUMP(ip); + fs = ump->um_fs; if (fs->fs_cs(fs, cg).cs_nffree < numfrags(fs, nsize - osize)) return (0); frags = numfrags(fs, nsize); @@ -1600,8 +1602,8 @@ ffs_fragextend(ip, cg, bprev, osize, nsi return (0); } UFS_UNLOCK(ump); - error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, NOCRED, &bp); + error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), + (int)fs->fs_cgsize, NOCRED, &bp); if (error) goto fail; cgp = (struct cg *)bp->b_data; @@ -1673,13 +1675,13 @@ ffs_alloccg(ip, cg, bpref, size, rsize) int i, allocsiz, error, frags; u_int8_t *blksfree; - ump = ip->i_ump; - fs = ip->i_fs; + ump = ITOUMP(ip); + fs = ump->um_fs; if (fs->fs_cs(fs, cg).cs_nbfree == 0 && size == fs->fs_bsize) return (0); UFS_UNLOCK(ump); - error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, NOCRED, &bp); + error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), + (int)fs->fs_cgsize, NOCRED, &bp); if (error) goto fail; cgp = (struct cg *)bp->b_data; @@ -1775,8 +1777,8 @@ ffs_alloccgblk(ip, bp, bpref, size) u_int8_t *blksfree; int i, cgbpref; - fs = ip->i_fs; - ump = ip->i_ump; + ump = ITOUMP(ip); + fs = ump->um_fs; mtx_assert(UFS_MTX(ump), MA_OWNED); cgp = (struct cg *)bp->b_data; blksfree = cg_blksfree(cgp); @@ -1861,12 +1863,12 @@ ffs_clusteralloc(ip, cg, bpref, len) int32_t *lp; u_int8_t *blksfree; - fs = ip->i_fs; - ump = ip->i_ump; + ump = ITOUMP(ip); + fs = ump->um_fs; if (fs->fs_maxcluster[cg] < len) return (0); UFS_UNLOCK(ump); - if (bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)), (int)fs->fs_cgsize, + if (bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), (int)fs->fs_cgsize, NOCRED, &bp)) goto fail_lock; cgp = (struct cg *)bp->b_data; @@ -1965,8 +1967,8 @@ getinobuf(struct inode *ip, u_int cg, u_ { struct fs *fs; - fs = ip->i_fs; - return (getblk(ip->i_devvp, fsbtodb(fs, ino_to_fsba(fs, + fs = ITOFS(ip); + return (getblk(ITODEVVP(ip), fsbtodb(fs, ino_to_fsba(fs, cg * fs->fs_ipg + cginoblk)), (int)fs->fs_bsize, 0, 0, gbflags)); } @@ -1997,13 +1999,13 @@ ffs_nodealloccg(ip, cg, ipref, mode, unu int error, start, len, i; u_int32_t old_initediblk; - fs = ip->i_fs; - ump = ip->i_ump; + ump = ITOUMP(ip); + fs = ump->um_fs; check_nifree: if (fs->fs_cs(fs, cg).cs_nifree == 0) return (0); UFS_UNLOCK(ump); - error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)), + error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), (int)fs->fs_cgsize, NOCRED, &bp); if (error) { brelse(bp); @@ -2101,7 +2103,7 @@ gotit: * to it, then leave it unchanged as the other thread * has already set it correctly. */ - error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)), + error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), (int)fs->fs_cgsize, NOCRED, &bp); UFS_LOCK(ump); ACTIVECLEAR(fs, cg); @@ -2166,7 +2168,8 @@ ffs_blkfree_cg(ump, fs, devvp, bno, size cg = dtog(fs, bno); if (devvp->v_type == VREG) { /* devvp is a snapshot */ - dev = VTOI(devvp)->i_devvp->v_rdev; + MPASS(devvp->v_mount->mnt_data == ump); + dev = ump->um_devvp->v_rdev; cgblkno = fragstoblks(fs, cgtod(fs, cg)); } else { /* devvp is a normal disk device */ @@ -2396,7 +2399,7 @@ ffs_checkblk(ip, bno, size) int i, error, frags, free; u_int8_t *blksfree; - fs = ip->i_fs; + fs = ITOFS(ip); if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0) { printf("bsize = %ld, size = %ld, fs = %s\n", (long)fs->fs_bsize, size, fs->fs_fsmnt); @@ -2404,7 +2407,7 @@ ffs_checkblk(ip, bno, size) } if ((u_int)bno >= fs->fs_size) panic("ffs_checkblk: bad block %jd", (intmax_t)bno); - error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, dtog(fs, bno))), + error = bread(ITODEVVP(ip), fsbtodb(fs, cgtod(fs, dtog(fs, bno))), (int)fs->fs_cgsize, NOCRED, &bp); if (error) panic("ffs_checkblk: cg bread failed"); @@ -2438,6 +2441,7 @@ ffs_vfree(pvp, ino, mode) ino_t ino; int mode; { + struct ufsmount *ump; struct inode *ip; if (DOINGSOFTDEP(pvp)) { @@ -2445,8 +2449,8 @@ ffs_vfree(pvp, ino, mode) return (0); } ip = VTOI(pvp); - return (ffs_freefile(ip->i_ump, ip->i_fs, ip->i_devvp, ino, mode, - NULL)); + ump = VFSTOUFS(pvp->v_mount); + return (ffs_freefile(ump, ump->um_fs, ump->um_devvp, ino, mode, NULL)); } /* @@ -2473,7 +2477,8 @@ ffs_freefile(ump, fs, devvp, ino, mode, cg = ino_to_cg(fs, ino); if (devvp->v_type == VREG) { /* devvp is a snapshot */ - dev = VTOI(devvp)->i_devvp->v_rdev; + MPASS(devvp->v_mount->mnt_data == ump); + dev = ump->um_devvp->v_rdev; cgbno = fragstoblks(fs, cgtod(fs, cg)); } else { /* devvp is a normal disk device */ @@ -3056,7 +3061,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) break; AUDIT_ARG_VNODE1(vp); ip = VTOI(vp); - if (ip->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(ip)) error = copyin((void *)(intptr_t)cmd.size, ip->i_din1, sizeof(struct ufs1_dinode)); else @@ -3076,7 +3081,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) error = EPERM; break; } - if (VTOI(vp)->i_ump != ump) { + if (ITOUMP(VTOI(vp)) != ump) { error = EINVAL; break; } @@ -3173,11 +3178,11 @@ buffered_write(fp, uio, active_cred, fla return (EINVAL); } ip = VTOI(vp); - if (ip->i_devvp != devvp) { + if (ITODEVVP(ip) != devvp) { vput(vp); return (EINVAL); } - fs = ip->i_fs; + fs = ITOFS(ip); vput(vp); foffset_lock_uio(fp, uio, flags); vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); Modified: stable/11/sys/ufs/ffs/ffs_balloc.c ============================================================================== --- stable/11/sys/ufs/ffs/ffs_balloc.c Sat Oct 1 07:46:28 2016 (r306552) +++ stable/11/sys/ufs/ffs/ffs_balloc.c Sat Oct 1 09:19:43 2016 (r306553) @@ -111,8 +111,8 @@ ffs_balloc_ufs1(struct vnode *vp, off_t ip = VTOI(vp); dp = ip->i_din1; - fs = ip->i_fs; - ump = ip->i_ump; + fs = ITOFS(ip); + ump = ITOUMP(ip); lbn = lblkno(fs, startoffset); size = blkoff(fs, startoffset) + size; reclaimed = 0; @@ -548,7 +548,7 @@ fail: } lbns_remfree++; #endif - ffs_blkfree(ump, fs, ip->i_devvp, *blkp, fs->fs_bsize, + ffs_blkfree(ump, fs, ump->um_devvp, *blkp, fs->fs_bsize, ip->i_number, vp->v_type, NULL); } return (error); @@ -584,8 +584,8 @@ ffs_balloc_ufs2(struct vnode *vp, off_t ip = VTOI(vp); dp = ip->i_din2; - fs = ip->i_fs; - ump = ip->i_ump; + fs = ITOFS(ip); + ump = ITOUMP(ip); lbn = lblkno(fs, startoffset); size = blkoff(fs, startoffset) + size; reclaimed = 0; @@ -1143,7 +1143,7 @@ fail: } lbns_remfree++; #endif - ffs_blkfree(ump, fs, ip->i_devvp, *blkp, fs->fs_bsize, + ffs_blkfree(ump, fs, ump->um_devvp, *blkp, fs->fs_bsize, ip->i_number, vp->v_type, NULL); } return (error); Modified: stable/11/sys/ufs/ffs/ffs_inode.c ============================================================================== --- stable/11/sys/ufs/ffs/ffs_inode.c Sat Oct 1 07:46:28 2016 (r306552) +++ stable/11/sys/ufs/ffs/ffs_inode.c Sat Oct 1 09:19:43 2016 (r306553) @@ -92,8 +92,8 @@ ffs_update(vp, waitfor) if ((ip->i_flag & IN_MODIFIED) == 0 && waitfor == 0) return (0); ip->i_flag &= ~(IN_LAZYACCESS | IN_LAZYMOD | IN_MODIFIED); - fs = ip->i_fs; - if (fs->fs_ronly && ip->i_ump->um_fsckpid == 0) + fs = ITOFS(ip); + if (fs->fs_ronly && ITOUMP(ip)->um_fsckpid == 0) return (0); /* * If we are updating a snapshot and another process is currently @@ -110,7 +110,7 @@ ffs_update(vp, waitfor) if (IS_SNAPSHOT(ip)) flags = GB_LOCK_NOWAIT; loop: - error = breadn_flags(ip->i_devvp, + error = breadn_flags(ITODEVVP(ip), fsbtodb(fs, ino_to_fsba(fs, ip->i_number)), (int) fs->fs_bsize, 0, 0, 0, NOCRED, flags, &bp); if (error != 0) { @@ -143,7 +143,7 @@ loop: softdep_update_inodeblock(ip, bp, waitfor); else if (ip->i_effnlink != ip->i_nlink) panic("ffs_update: bad link cnt"); - if (ip->i_ump->um_fstype == UFS1) { + if (I_IS_UFS1(ip)) { *((struct ufs1_dinode *)bp->b_data + ino_to_fsbo(fs, ip->i_number)) = *ip->i_din1; /* XXX: FIX? The entropy here is desirable, but the harvesting may be expensive */ @@ -197,8 +197,8 @@ ffs_truncate(vp, length, flags, cred) off_t osize; ip = VTOI(vp); - fs = ip->i_fs; - ump = ip->i_ump; + ump = VFSTOUFS(vp->v_mount); + fs = ump->um_fs; bo = &vp->v_bufobj; ASSERT_VOP_LOCKED(vp, "ffs_truncate"); @@ -269,7 +269,7 @@ ffs_truncate(vp, length, flags, cred) for (i = 0; i < NXADDR; i++) { if (oldblks[i] == 0) continue; - ffs_blkfree(ump, fs, ip->i_devvp, oldblks[i], + ffs_blkfree(ump, fs, ITODEVVP(ip), oldblks[i], sblksize(fs, osize, i), ip->i_number, vp->v_type, NULL); } @@ -345,7 +345,7 @@ ffs_truncate(vp, length, flags, cred) if (error) return (error); indiroff = (lbn - NDADDR) % NINDIR(fs); - if (ip->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(ip)) blkno = ((ufs1_daddr_t *)(bp->b_data))[indiroff]; else blkno = ((ufs2_daddr_t *)(bp->b_data))[indiroff]; @@ -517,7 +517,7 @@ ffs_truncate(vp, length, flags, cred) blocksreleased += count; if (lastiblock[level] < 0) { DIP_SET(ip, i_ib[level], 0); - ffs_blkfree(ump, fs, ip->i_devvp, bn, + ffs_blkfree(ump, fs, ump->um_devvp, bn, fs->fs_bsize, ip->i_number, vp->v_type, NULL); blocksreleased += nblocks; @@ -538,7 +538,7 @@ ffs_truncate(vp, length, flags, cred) continue; DIP_SET(ip, i_db[i], 0); bsize = blksize(fs, ip, i); - ffs_blkfree(ump, fs, ip->i_devvp, bn, bsize, ip->i_number, + ffs_blkfree(ump, fs, ump->um_devvp, bn, bsize, ip->i_number, vp->v_type, NULL); blocksreleased += btodb(bsize); } @@ -570,7 +570,7 @@ ffs_truncate(vp, length, flags, cred) * required for the storage we're keeping. */ bn += numfrags(fs, newspace); - ffs_blkfree(ump, fs, ip->i_devvp, bn, + ffs_blkfree(ump, fs, ump->um_devvp, bn, oldspace - newspace, ip->i_number, vp->v_type, NULL); blocksreleased += btodb(oldspace - newspace); } @@ -629,7 +629,7 @@ ffs_indirtrunc(ip, lbn, dbn, lastbn, lev ufs2_daddr_t *countp; { struct buf *bp; - struct fs *fs = ip->i_fs; + struct fs *fs; struct vnode *vp; caddr_t copy = NULL; int i, nblocks, error = 0, allerror = 0; @@ -637,7 +637,9 @@ ffs_indirtrunc(ip, lbn, dbn, lastbn, lev ufs2_daddr_t blkcount, factor, blocksreleased = 0; ufs1_daddr_t *bap1 = NULL; ufs2_daddr_t *bap2 = NULL; -# define BAP(ip, i) (((ip)->i_ump->um_fstype == UFS1) ? bap1[i] : bap2[i]) +#define BAP(ip, i) (I_IS_UFS1(ip) ? bap1[i] : bap2[i]) + + fs = ITOFS(ip); /* * Calculate index in current block of last @@ -685,7 +687,7 @@ ffs_indirtrunc(ip, lbn, dbn, lastbn, lev return (error); } - if (ip->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(ip)) bap1 = (ufs1_daddr_t *)bp->b_data; else bap2 = (ufs2_daddr_t *)bp->b_data; @@ -693,7 +695,7 @@ ffs_indirtrunc(ip, lbn, dbn, lastbn, lev copy = malloc(fs->fs_bsize, M_TEMP, M_WAITOK); bcopy((caddr_t)bp->b_data, copy, (u_int)fs->fs_bsize); for (i = last + 1; i < NINDIR(fs); i++) - if (ip->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(ip)) bap1[i] = 0; else bap2[i] = 0; @@ -704,7 +706,7 @@ ffs_indirtrunc(ip, lbn, dbn, lastbn, lev if (error) allerror = error; } - if (ip->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(ip)) bap1 = (ufs1_daddr_t *)copy; else bap2 = (ufs2_daddr_t *)copy; @@ -724,7 +726,7 @@ ffs_indirtrunc(ip, lbn, dbn, lastbn, lev allerror = error; blocksreleased += blkcount; } - ffs_blkfree(ip->i_ump, fs, ip->i_devvp, nb, fs->fs_bsize, + ffs_blkfree(ITOUMP(ip), fs, ITODEVVP(ip), nb, fs->fs_bsize, ip->i_number, vp->v_type, NULL); blocksreleased += nblocks; } @@ -758,6 +760,6 @@ int ffs_rdonly(struct inode *ip) { - return (ip->i_ump->um_fs->fs_ronly != 0); + return (ITOFS(ip)->fs_ronly != 0); } Modified: stable/11/sys/ufs/ffs/ffs_rawread.c ============================================================================== --- stable/11/sys/ufs/ffs/ffs_rawread.c Sat Oct 1 07:46:28 2016 (r306552) +++ stable/11/sys/ufs/ffs/ffs_rawread.c Sat Oct 1 09:19:43 2016 (r306553) @@ -204,7 +204,7 @@ ffs_rawread_readahead(struct vnode *vp, bsize = vp->v_mount->mnt_stat.f_iosize; ip = VTOI(vp); - dp = ip->i_devvp; + dp = ITODEVVP(ip); iolen = ((vm_offset_t) udata) & PAGE_MASK; bp->b_bcount = len; @@ -440,7 +440,7 @@ ffs_rawread(struct vnode *vp, /* Only handle sector aligned reads */ ip = VTOI(vp); - secsize = ip->i_devvp->v_bufobj.bo_bsize; + secsize = ITODEVVP(ip)->v_bufobj.bo_bsize; if ((uio->uio_offset & (secsize - 1)) == 0 && (uio->uio_resid & (secsize - 1)) == 0) { @@ -460,7 +460,7 @@ ffs_rawread(struct vnode *vp, } partialbytes = ((unsigned int) ip->i_size) % - ip->i_fs->fs_bsize; + ITOFS(ip)->fs_bsize; blockbytes = (int) filebytes - partialbytes; if (blockbytes > 0) { skipbytes = uio->uio_resid - Modified: stable/11/sys/ufs/ffs/ffs_snapshot.c ============================================================================== --- stable/11/sys/ufs/ffs/ffs_snapshot.c Sat Oct 1 07:46:28 2016 (r306552) +++ stable/11/sys/ufs/ffs/ffs_snapshot.c Sat Oct 1 09:19:43 2016 (r306553) @@ -302,7 +302,7 @@ restart: vp = nd.ni_vp; vp->v_vflag |= VV_SYSTEM; ip = VTOI(vp); - devvp = ip->i_devvp; + devvp = ITODEVVP(ip); /* * Allocate and copy the last block contents so as to be able * to set size to that of the filesystem. @@ -587,7 +587,7 @@ loop: } } snaplistsize += 1; - if (xp->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(xp)) error = expunge_ufs1(vp, xp, copy_fs, fullacct_ufs1, BLK_NOCOPY, 1); else @@ -620,7 +620,7 @@ loop: goto out1; } xp = VTOI(xvp); - if (xp->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(xp)) error = expunge_ufs1(vp, xp, copy_fs, fullacct_ufs1, BLK_NOCOPY, 0); else @@ -706,7 +706,7 @@ out1: TAILQ_FOREACH(xp, &sn->sn_head, i_nextsnap) { if (xp == ip) break; - if (xp->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(xp)) error = expunge_ufs1(vp, xp, fs, snapacct_ufs1, BLK_SNAP, 0); else @@ -735,7 +735,7 @@ out1: * blocks marked as used in the snapshot bitmaps. Also, collect * the list of allocated blocks in i_snapblklist. */ - if (ip->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(ip)) error = expunge_ufs1(vp, ip, copy_fs, mapacct_ufs1, BLK_SNAP, 0); else @@ -887,9 +887,9 @@ cgaccount(cg, vp, nbp, passno) int error, len, loc, indiroff; ip = VTOI(vp); - fs = ip->i_fs; - error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, KERNCRED, &bp); + fs = ITOFS(ip); + error = bread(ITODEVVP(ip), fsbtodb(fs, cgtod(fs, cg)), + (int)fs->fs_cgsize, KERNCRED, &bp); if (error) { brelse(bp); return (error); @@ -899,7 +899,7 @@ cgaccount(cg, vp, nbp, passno) brelse(bp); return (EIO); } - UFS_LOCK(ip->i_ump); + UFS_LOCK(ITOUMP(ip)); ACTIVESET(fs, cg); /* * Recomputation of summary information might not have been performed @@ -908,7 +908,7 @@ cgaccount(cg, vp, nbp, passno) * fsck is slightly more consistent. */ fs->fs_cs(fs, cg) = cgp->cg_cs; - UFS_UNLOCK(ip->i_ump); + UFS_UNLOCK(ITOUMP(ip)); bcopy(bp->b_data, nbp->b_data, fs->fs_cgsize); if (fs->fs_cgsize < fs->fs_bsize) bzero(&nbp->b_data[fs->fs_cgsize], @@ -952,7 +952,7 @@ cgaccount(cg, vp, nbp, passno) } indiroff = 0; } - if (ip->i_ump->um_fstype == UFS1) { + if (I_IS_UFS1(ip)) { if (ffs_isblock(fs, cg_blksfree(cgp), loc)) ((ufs1_daddr_t *)(ibp->b_data))[indiroff] = BLK_NOCOPY; @@ -1257,7 +1257,7 @@ mapacct_ufs1(vp, oldblkp, lastblkp, fs, *ip->i_snapblklist++ = lblkno; if (blkno == BLK_SNAP) blkno = blkstofrags(fs, lblkno); - ffs_blkfree(ip->i_ump, fs, vp, blkno, fs->fs_bsize, inum, + ffs_blkfree(ITOUMP(ip), fs, vp, blkno, fs->fs_bsize, inum, vp->v_type, NULL); } return (0); @@ -1541,7 +1541,7 @@ mapacct_ufs2(vp, oldblkp, lastblkp, fs, *ip->i_snapblklist++ = lblkno; if (blkno == BLK_SNAP) blkno = blkstofrags(fs, lblkno); - ffs_blkfree(ip->i_ump, fs, vp, blkno, fs->fs_bsize, inum, + ffs_blkfree(ITOUMP(ip), fs, vp, blkno, fs->fs_bsize, inum, vp->v_type, NULL); } return (0); @@ -1565,7 +1565,7 @@ ffs_snapgone(ip) * Find snapshot in incore list. */ xp = NULL; - sn = ip->i_devvp->v_rdev->si_snapdata; + sn = ITODEVVP(ip)->v_rdev->si_snapdata; if (sn != NULL) TAILQ_FOREACH(xp, &sn->sn_head, i_nextsnap) if (xp == ip) @@ -1578,8 +1578,8 @@ ffs_snapgone(ip) /* * Delete snapshot inode from superblock. Keep list dense. */ - fs = ip->i_fs; - ump = ip->i_ump; + ump = ITOUMP(ip); + fs = ump->um_fs; UFS_LOCK(ump); for (snaploc = 0; snaploc < FSMAXSNAP; snaploc++) if (fs->fs_snapinum[snaploc] == ip->i_number) @@ -1611,8 +1611,8 @@ ffs_snapremove(vp) struct snapdata *sn; ip = VTOI(vp); - fs = ip->i_fs; - devvp = ip->i_devvp; + fs = ITOFS(ip); + devvp = ITODEVVP(ip); /* * If active, delete from incore list (this snapshot may * already have been in the process of being deleted, so @@ -1646,7 +1646,7 @@ ffs_snapremove(vp) if (dblk == BLK_NOCOPY || dblk == BLK_SNAP) DIP_SET(ip, i_db[blkno], 0); else if ((dblk == blkstofrags(fs, blkno) && - ffs_snapblkfree(fs, ip->i_devvp, dblk, fs->fs_bsize, + ffs_snapblkfree(fs, ITODEVVP(ip), dblk, fs->fs_bsize, ip->i_number, vp->v_type, NULL))) { DIP_SET(ip, i_blocks, DIP(ip, i_blocks) - btodb(fs->fs_bsize)); @@ -1664,14 +1664,14 @@ ffs_snapremove(vp) else last = fs->fs_size - blkno; for (loc = 0; loc < last; loc++) { - if (ip->i_ump->um_fstype == UFS1) { + if (I_IS_UFS1(ip)) { dblk = ((ufs1_daddr_t *)(ibp->b_data))[loc]; if (dblk == 0) continue; if (dblk == BLK_NOCOPY || dblk == BLK_SNAP) ((ufs1_daddr_t *)(ibp->b_data))[loc]= 0; else if ((dblk == blkstofrags(fs, blkno) && - ffs_snapblkfree(fs, ip->i_devvp, dblk, + ffs_snapblkfree(fs, ITODEVVP(ip), dblk, fs->fs_bsize, ip->i_number, vp->v_type, NULL))) { ip->i_din1->di_blocks -= @@ -1686,7 +1686,7 @@ ffs_snapremove(vp) if (dblk == BLK_NOCOPY || dblk == BLK_SNAP) ((ufs2_daddr_t *)(ibp->b_data))[loc] = 0; else if ((dblk == blkstofrags(fs, blkno) && - ffs_snapblkfree(fs, ip->i_devvp, dblk, + ffs_snapblkfree(fs, ITODEVVP(ip), dblk, fs->fs_bsize, ip->i_number, vp->v_type, NULL))) { ip->i_din2->di_blocks -= btodb(fs->fs_bsize); ((ufs2_daddr_t *)(ibp->b_data))[loc] = 0; @@ -1781,7 +1781,7 @@ retry: if (error) break; indiroff = (lbn - NDADDR) % NINDIR(fs); - if (ip->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(ip)) blkno=((ufs1_daddr_t *)(ibp->b_data))[indiroff]; else blkno=((ufs2_daddr_t *)(ibp->b_data))[indiroff]; @@ -1806,7 +1806,7 @@ retry: if (lbn < NDADDR) { DIP_SET(ip, i_db[lbn], BLK_NOCOPY); ip->i_flag |= IN_CHANGE | IN_UPDATE; - } else if (ip->i_ump->um_fstype == UFS1) { + } else if (I_IS_UFS1(ip)) { ((ufs1_daddr_t *)(ibp->b_data))[indiroff] = BLK_NOCOPY; bdwrite(ibp); @@ -1854,7 +1854,7 @@ retry: } if (lbn < NDADDR) { DIP_SET(ip, i_db[lbn], bno); - } else if (ip->i_ump->um_fstype == UFS1) { + } else if (I_IS_UFS1(ip)) { ((ufs1_daddr_t *)(ibp->b_data))[indiroff] = bno; bdwrite(ibp); } else { @@ -2136,7 +2136,7 @@ ffs_bp_snapblk(devvp, bp) sn = devvp->v_rdev->si_snapdata; if (sn == NULL || TAILQ_FIRST(&sn->sn_head) == NULL) return (0); - fs = TAILQ_FIRST(&sn->sn_head)->i_fs; + fs = ITOFS(TAILQ_FIRST(&sn->sn_head)); lbn = fragstoblks(fs, dbtofsb(fs, bp->b_blkno)); snapblklist = sn->sn_blklist; upper = sn->sn_listsize - 1; @@ -2263,7 +2263,7 @@ ffs_copyonwrite(devvp, bp) return (0); /* No snapshot */ } ip = TAILQ_FIRST(&sn->sn_head); - fs = ip->i_fs; + fs = ITOFS(ip); lbn = fragstoblks(fs, dbtofsb(fs, bp->b_blkno)); snapblklist = sn->sn_blklist; upper = sn->sn_listsize - 1; @@ -2337,7 +2337,7 @@ ffs_copyonwrite(devvp, bp) if (error) break; indiroff = (lbn - NDADDR) % NINDIR(fs); - if (ip->i_ump->um_fstype == UFS1) + if (I_IS_UFS1(ip)) blkno=((ufs1_daddr_t *)(ibp->b_data))[indiroff]; else blkno=((ufs2_daddr_t *)(ibp->b_data))[indiroff]; @@ -2493,15 +2493,19 @@ readblock(vp, bp, lbn) { struct inode *ip = VTOI(vp); struct bio *bip; + struct fs *fs; + + ip = VTOI(vp); + fs = ITOFS(ip); bip = g_alloc_bio(); bip->bio_cmd = BIO_READ; - bip->bio_offset = dbtob(fsbtodb(ip->i_fs, blkstofrags(ip->i_fs, lbn))); + bip->bio_offset = dbtob(fsbtodb(fs, blkstofrags(fs, lbn))); bip->bio_data = bp->b_data; bip->bio_length = bp->b_bcount; bip->bio_done = NULL; - g_io_request(bip, ip->i_devvp->v_bufobj.bo_private); + g_io_request(bip, ITODEVVP(ip)->v_bufobj.bo_private); bp->b_error = biowait(bip, "snaprdb"); g_destroy_bio(bip); return (bp->b_error); Modified: stable/11/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- stable/11/sys/ufs/ffs/ffs_softdep.c Sat Oct 1 07:46:28 2016 (r306552) +++ stable/11/sys/ufs/ffs/ffs_softdep.c Sat Oct 1 09:19:43 2016 (r306553) @@ -3998,7 +3998,7 @@ newjmvref(dp, ino, oldoff, newoff) struct jmvref *jmvref; jmvref = malloc(sizeof(*jmvref), M_JMVREF, M_SOFTDEP_FLAGS); - workitem_alloc(&jmvref->jm_list, D_JMVREF, UFSTOVFS(dp->i_ump)); + workitem_alloc(&jmvref->jm_list, D_JMVREF, ITOVFS(dp)); jmvref->jm_list.wk_state = ATTACHED | DEPCOMPLETE; jmvref->jm_parent = dp->i_number; jmvref->jm_ino = ino; @@ -4025,7 +4025,7 @@ newjremref(struct dirrem *dirrem, struct struct jremref *jremref; jremref = malloc(sizeof(*jremref), M_JREMREF, M_SOFTDEP_FLAGS); - workitem_alloc(&jremref->jr_list, D_JREMREF, UFSTOVFS(dp->i_ump)); + workitem_alloc(&jremref->jr_list, D_JREMREF, ITOVFS(dp)); jremref->jr_state = ATTACHED; newinoref(&jremref->jr_ref, ip->i_number, dp->i_number, diroff, nlink, ip->i_mode); @@ -4061,7 +4061,7 @@ newjaddref(struct inode *dp, ino_t ino, struct jaddref *jaddref; jaddref = malloc(sizeof(*jaddref), M_JADDREF, M_SOFTDEP_FLAGS); - workitem_alloc(&jaddref->ja_list, D_JADDREF, UFSTOVFS(dp->i_ump)); + workitem_alloc(&jaddref->ja_list, D_JADDREF, ITOVFS(dp)); jaddref->ja_state = ATTACHED; jaddref->ja_mkdir = NULL; newinoref(&jaddref->ja_ref, ino, dp->i_number, diroff, nlink, mode); @@ -4649,7 +4649,7 @@ inodedep_lookup_ip(ip) KASSERT(ip->i_nlink >= ip->i_effnlink, ("inodedep_lookup_ip: bad delta")); - (void) inodedep_lookup(UFSTOVFS(ip->i_ump), ip->i_number, DEPALLOC, + (void) inodedep_lookup(ITOVFS(ip), ip->i_number, DEPALLOC, &inodedep); inodedep->id_nlinkdelta = ip->i_nlink - ip->i_effnlink; KASSERT((inodedep->id_state & UNLINKED) == 0, ("inode unlinked")); @@ -4672,12 +4672,12 @@ softdep_setup_create(dp, ip) struct jaddref *jaddref; struct vnode *dvp; - KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(dp->i_ump)) != 0, + KASSERT(MOUNTEDSOFTDEP(ITOVFS(dp)) != 0, ("softdep_setup_create called on non-softdep filesystem")); KASSERT(ip->i_nlink == 1, ("softdep_setup_create: Invalid link count.")); dvp = ITOV(dp); - ACQUIRE_LOCK(dp->i_ump); + ACQUIRE_LOCK(ITOUMP(dp)); inodedep = inodedep_lookup_ip(ip); if (DOINGSUJ(dvp)) { jaddref = (struct jaddref *)TAILQ_LAST(&inodedep->id_inoreflst, @@ -4686,7 +4686,7 @@ softdep_setup_create(dp, ip) ("softdep_setup_create: No addref structure present.")); } softdep_prelink(dvp, NULL); - FREE_LOCK(dp->i_ump); + FREE_LOCK(ITOUMP(dp)); } /* @@ -4704,7 +4704,7 @@ softdep_setup_dotdot_link(dp, ip) struct jaddref *jaddref; struct vnode *dvp; - KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(dp->i_ump)) != 0, + KASSERT(MOUNTEDSOFTDEP(ITOVFS(dp)) != 0, ("softdep_setup_dotdot_link called on non-softdep filesystem")); dvp = ITOV(dp); jaddref = NULL; @@ -4715,13 +4715,13 @@ softdep_setup_dotdot_link(dp, ip) if (DOINGSUJ(dvp)) jaddref = newjaddref(ip, dp->i_number, DOTDOT_OFFSET, dp->i_effnlink - 1, dp->i_mode); - ACQUIRE_LOCK(dp->i_ump); + ACQUIRE_LOCK(ITOUMP(dp)); inodedep = inodedep_lookup_ip(dp); if (jaddref) TAILQ_INSERT_TAIL(&inodedep->id_inoreflst, &jaddref->ja_ref, if_deps); softdep_prelink(dvp, ITOV(ip)); - FREE_LOCK(dp->i_ump); + FREE_LOCK(ITOUMP(dp)); } /* @@ -4739,20 +4739,20 @@ softdep_setup_link(dp, ip) struct jaddref *jaddref; struct vnode *dvp; - KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(dp->i_ump)) != 0, + KASSERT(MOUNTEDSOFTDEP(ITOVFS(dp)) != 0, ("softdep_setup_link called on non-softdep filesystem")); dvp = ITOV(dp); jaddref = NULL; if (DOINGSUJ(dvp)) jaddref = newjaddref(dp, ip->i_number, 0, ip->i_effnlink - 1, ip->i_mode); - ACQUIRE_LOCK(dp->i_ump); + ACQUIRE_LOCK(ITOUMP(dp)); inodedep = inodedep_lookup_ip(ip); if (jaddref) TAILQ_INSERT_TAIL(&inodedep->id_inoreflst, &jaddref->ja_ref, if_deps); softdep_prelink(dvp, ITOV(ip)); - FREE_LOCK(dp->i_ump); + FREE_LOCK(ITOUMP(dp)); } /* @@ -4772,7 +4772,7 @@ softdep_setup_mkdir(dp, ip) struct jaddref *jaddref; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-11@freebsd.org Sat Oct 1 19:30:29 2016 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9740AA94231; Sat, 1 Oct 2016 19:30:29 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 6C2DDB87; Sat, 1 Oct 2016 19:30:29 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u91JUSBl072655; Sat, 1 Oct 2016 19:30:28 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u91JUSYF072651; Sat, 1 Oct 2016 19:30:28 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201610011930.u91JUSYF072651@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Sat, 1 Oct 2016 19:30: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: r306558 - in stable/11/sys: amd64/amd64 arm/arm i386/i386 sparc64/sparc64 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Oct 2016 19:30:29 -0000 Author: alc Date: Sat Oct 1 19:30:28 2016 New Revision: 306558 URL: https://svnweb.freebsd.org/changeset/base/306558 Log: MFC r305213,305319,305398 As an optimization to the machine-independent layer, change the machine- dependent pmap_ts_referenced() so that it updates the page's dirty field if a modified bit is found while counting reference bits. This opportunistic update can be performed at low cost and can eliminate the need for some future calls to pmap_is_modified() by the machine- independent layer. Replace the number 4 in sparc64's pmap_ts_referenced() by PMAP_TS_REFERENCED_MAX, like we've done elsewhere, e.g., amd64. Modified: stable/11/sys/amd64/amd64/pmap.c stable/11/sys/arm/arm/pmap-v6.c stable/11/sys/i386/i386/pmap.c stable/11/sys/sparc64/sparc64/pmap.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/amd64/pmap.c ============================================================================== --- stable/11/sys/amd64/amd64/pmap.c Sat Oct 1 17:57:32 2016 (r306557) +++ stable/11/sys/amd64/amd64/pmap.c Sat Oct 1 19:30:28 2016 (r306558) @@ -5831,6 +5831,14 @@ safe_to_clear_referenced(pmap_t pmap, pt * should be tested and standardized at some point in the future for * optimal aging of shared pages. * + * As an optimization, update the page's dirty field if a modified bit is + * found while counting reference bits. This opportunistic update can be + * performed at low cost and can eliminate the need for some future calls + * to pmap_is_modified(). However, since this function stops after + * finding PMAP_TS_REFERENCED_MAX reference bits, it may not detect some + * dirty pages. Those dirty pages will only be detected by a future call + * to pmap_is_modified(). + * * A DI block is not needed within this function, because * invalidations are performed before the PV list lock is * released. @@ -5843,7 +5851,7 @@ pmap_ts_referenced(vm_page_t m) pmap_t pmap; struct rwlock *lock; pd_entry_t oldpde, *pde; - pt_entry_t *pte, PG_A; + pt_entry_t *pte, PG_A, PG_M, PG_RW; vm_offset_t va; vm_paddr_t pa; int cleared, md_gen, not_cleared, pvh_gen; @@ -5878,9 +5886,19 @@ retry: } } PG_A = pmap_accessed_bit(pmap); + PG_M = pmap_modified_bit(pmap); + PG_RW = pmap_rw_bit(pmap); va = pv->pv_va; pde = pmap_pde(pmap, pv->pv_va); oldpde = *pde; + if ((oldpde & (PG_M | PG_RW)) == (PG_M | PG_RW)) { + /* + * Although "oldpde" is mapping a 2MB page, because + * this function is called at a 4KB page granularity, + * we only update the 4KB page under test. + */ + vm_page_dirty(m); + } if ((*pde & PG_A) != 0) { /* * Since this reference bit is shared by 512 4KB @@ -5974,11 +5992,15 @@ small_mappings: } } PG_A = pmap_accessed_bit(pmap); + PG_M = pmap_modified_bit(pmap); + PG_RW = pmap_rw_bit(pmap); pde = pmap_pde(pmap, pv->pv_va); KASSERT((*pde & PG_PS) == 0, ("pmap_ts_referenced: found a 2mpage in page %p's pv list", m)); pte = pmap_pde_to_pte(pde, pv->pv_va); + if ((*pte & (PG_M | PG_RW)) == (PG_M | PG_RW)) + vm_page_dirty(m); if ((*pte & PG_A) != 0) { if (safe_to_clear_referenced(pmap, *pte)) { atomic_clear_long(pte, PG_A); Modified: stable/11/sys/arm/arm/pmap-v6.c ============================================================================== --- stable/11/sys/arm/arm/pmap-v6.c Sat Oct 1 17:57:32 2016 (r306557) +++ stable/11/sys/arm/arm/pmap-v6.c Sat Oct 1 19:30:28 2016 (r306558) @@ -5178,6 +5178,14 @@ pmap_is_referenced(vm_page_t m) * XXX: The exact number of bits to check and clear is a matter that * should be tested and standardized at some point in the future for * optimal aging of shared pages. + * + * As an optimization, update the page's dirty field if a modified bit is + * found while counting reference bits. This opportunistic update can be + * performed at low cost and can eliminate the need for some future calls + * to pmap_is_modified(). However, since this function stops after + * finding PMAP_TS_REFERENCED_MAX reference bits, it may not detect some + * dirty pages. Those dirty pages will only be detected by a future call + * to pmap_is_modified(). */ int pmap_ts_referenced(vm_page_t m) @@ -5186,7 +5194,7 @@ pmap_ts_referenced(vm_page_t m) pv_entry_t pv, pvf; pmap_t pmap; pt1_entry_t *pte1p, opte1; - pt2_entry_t *pte2p; + pt2_entry_t *pte2p, opte2; vm_paddr_t pa; int rtval = 0; @@ -5205,6 +5213,14 @@ pmap_ts_referenced(vm_page_t m) PMAP_LOCK(pmap); pte1p = pmap_pte1(pmap, pv->pv_va); opte1 = pte1_load(pte1p); + if (pte1_is_dirty(opte1)) { + /* + * Although "opte1" is mapping a 1MB page, because + * this function is called at a 4KB page granularity, + * we only update the 4KB page under test. + */ + vm_page_dirty(m); + } if ((opte1 & PTE1_A) != 0) { /* * Since this reference bit is shared by 256 4KB pages, @@ -5253,7 +5269,10 @@ small_mappings: ("%s: not found a link in page %p's pv list", __func__, m)); pte2p = pmap_pte2_quick(pmap, pv->pv_va); - if ((pte2_load(pte2p) & PTE2_A) != 0) { + opte2 = pte2_load(pte2p); + if (pte2_is_dirty(opte2)) + vm_page_dirty(m); + if ((opte2 & PTE2_A) != 0) { pte2_clear_bit(pte2p, PTE2_A); pmap_tlb_flush(pmap, pv->pv_va); rtval++; Modified: stable/11/sys/i386/i386/pmap.c ============================================================================== --- stable/11/sys/i386/i386/pmap.c Sat Oct 1 17:57:32 2016 (r306557) +++ stable/11/sys/i386/i386/pmap.c Sat Oct 1 19:30:28 2016 (r306558) @@ -4802,6 +4802,14 @@ retry: * XXX: The exact number of bits to check and clear is a matter that * should be tested and standardized at some point in the future for * optimal aging of shared pages. + * + * As an optimization, update the page's dirty field if a modified bit is + * found while counting reference bits. This opportunistic update can be + * performed at low cost and can eliminate the need for some future calls + * to pmap_is_modified(). However, since this function stops after + * finding PMAP_TS_REFERENCED_MAX reference bits, it may not detect some + * dirty pages. Those dirty pages will only be detected by a future call + * to pmap_is_modified(). */ int pmap_ts_referenced(vm_page_t m) @@ -4828,6 +4836,14 @@ pmap_ts_referenced(vm_page_t m) pmap = PV_PMAP(pv); PMAP_LOCK(pmap); pde = pmap_pde(pmap, pv->pv_va); + if ((*pde & (PG_M | PG_RW)) == (PG_M | PG_RW)) { + /* + * Although "*pde" is mapping a 2/4MB page, because + * this function is called at a 4KB page granularity, + * we only update the 4KB page under test. + */ + vm_page_dirty(m); + } if ((*pde & PG_A) != 0) { /* * Since this reference bit is shared by either 1024 @@ -4876,6 +4892,8 @@ small_mappings: ("pmap_ts_referenced: found a 4mpage in page %p's pv list", m)); pte = pmap_pte_quick(pmap, pv->pv_va); + if ((*pte & (PG_M | PG_RW)) == (PG_M | PG_RW)) + vm_page_dirty(m); if ((*pte & PG_A) != 0) { atomic_clear_int((u_int *)pte, PG_A); pmap_invalidate_page(pmap, pv->pv_va); Modified: stable/11/sys/sparc64/sparc64/pmap.c ============================================================================== --- stable/11/sys/sparc64/sparc64/pmap.c Sat Oct 1 17:57:32 2016 (r306557) +++ stable/11/sys/sparc64/sparc64/pmap.c Sat Oct 1 19:30:28 2016 (r306558) @@ -2106,6 +2106,8 @@ pmap_page_is_mapped(vm_page_t m) return (rv); } +#define PMAP_TS_REFERENCED_MAX 5 + /* * Return a count of reference bits for a page, clearing those bits. * It is not necessary for every reference bit to be cleared, but it @@ -2115,6 +2117,14 @@ pmap_page_is_mapped(vm_page_t m) * XXX: The exact number of bits to check and clear is a matter that * should be tested and standardized at some point in the future for * optimal aging of shared pages. + * + * As an optimization, update the page's dirty field if a modified bit is + * found while counting reference bits. This opportunistic update can be + * performed at low cost and can eliminate the need for some future calls + * to pmap_is_modified(). However, since this function stops after + * finding PMAP_TS_REFERENCED_MAX reference bits, it may not detect some + * dirty pages. Those dirty pages will only be detected by a future call + * to pmap_is_modified(). */ int pmap_ts_referenced(vm_page_t m) @@ -2138,7 +2148,10 @@ pmap_ts_referenced(vm_page_t m) if ((tp->tte_data & TD_PV) == 0) continue; data = atomic_clear_long(&tp->tte_data, TD_REF); - if ((data & TD_REF) != 0 && ++count > 4) + if ((data & TD_W) != 0) + vm_page_dirty(m); + if ((data & TD_REF) != 0 && ++count >= + PMAP_TS_REFERENCED_MAX) break; } while ((tp = tpn) != NULL && tp != tpf); }